First Arm AIoT Dev Summit in Pictures
The first ever Arm AIoT Dev Summit took place this December 2nd-3rd at the Computer History Museum in Mountain View, California. The event was amazing beyond words…so here’s some pictures instead!
The first ever Arm AIoT Dev Summit took place this December 2nd-3rd at the Computer History Museum in Mountain View, California. The event was amazing beyond words…so here’s some pictures instead!
I want to start by being clear up front what this is: this is not an even-handed, cold analysis of Pebble’s history and future. It’s not me ranting about what I think they should or shouldn’t have done based on my woefully inadequate understanding of the facts or what it’s like to be in that position or have to make those types of decisions. It’s purely an appreciation of Pebble as a platform and as a people, and a way for me to try to process what’s happened. I’m not here to defend any positions I may take along the way – I’m doing this for me – and should others find meaning in it, that’s just a bonus.
As I type this, I am wearing a Pebble Rocks Boulder t-shirt (a perk of attending the event) and Pebble PJ pants (a prize for being the first to demonstrate a working smartstrap connection at the event). And of course my Pebble 2 (given to me free by Pebble, several months before release). I’m not going to pretend this is my daily uniform (other than the P2!), but it’s the right one for today. And it helps provide context for how deeply involved and committed to this product and this community I am. Again, do not expect anything but fanboy swooning should you choose to read on!
I was extremely excited about Pebble from the moment I discovered the Kickstarter (and experienced Kickstarter itself for the first time). Things did not start off well when my grey Pebble died hours after arrival – that arrival being approximately 9 months beyond the original estimate, and most damningly after the black version was already available to non-backers on Best Buy’s shelves. I’m somewhat taken aback now, reading my description of what has become a beloved device as an “unapologetic lump of plastic and disappointment” and my threats to switch my attention to the AGENT smartwatch, which ended up being an absolute catastrophe of a project. A great Pebble support experience meant a replacement on my wrist and renewed enthusiasm for the product, and it was all uphill from there!
Fast-forward 18 months, and I had published my first Pebble watchface. I’d tried my hand at Pebble development as far back as SDK 2.0-BETA1
, but it was with the Developer Preview releases of 3.0
that I really found the tools, documentation, and examples compelling enough to really start getting involved. I’d backed the next-generation Pebble Time and was excited to be up and running w/ the SDK in time for its arrival. The fantastic tutorial, which is still fairly intact today (though expanded upon) just happened to use a DOS font – which is what gave me the idea for my PW-DOS Command Line Watchface – and the silly “enhancements” such as an animated DIR
command each minute, “abort, retry, fail” on Bluetooth disconnect, and faux-BIOS splash just flowed from there.
The next major chapter for me was attending the Pebble Rocks Boulder hackathon, at which the firmware to enable smartstrap development was made available for the first time. All of my non-Pebble hobby development time is spent with Arduinos, Raspberry Pis, and the like, so the notion of these worlds coming together on my wrist was irresistable to me. I had assembled a prototype before the firmware to support it was even published, and was the first at the event to demonstrate a working connection. And as it turns out, our Altimeter smartstrap ended up winning! Yet as rewarding as our victory was, the best part of the weekend was spending time with other developers, and even actual real-life Pebble employees themselves! In particular, I remember Matthew Hungerford‘s excitement and sheer brilliance, and Thomas Sarlandie‘s incredible helpfulness and vision. Overall it was one of the greatest experiences of my life, and it would not have happened without Pebble’s visionary smartstrap functionality, or their amazing team and approach (shout-out to Viget and Galvanize for organizing/hosting too!).
Another major event in my Pebble timeline was attending the Time for Another Round Pebble hackathon in Ottawa, Canada. I’d heard about the event via the the pebbledev Slack channel, but had no serious intentions of driving however far north that was, even for a Pebble event! Then @robisodd and I happened upon each other during some off-topic discussion, wherein it was revealed that we were both in the Metro-Detroit area – and his plans to attend morphed into an exciting joint trip to the frosty north, during which we became fast friends, not to mention met many more, including the event’s organizer, @fletchto99, who even put us up for the night! Our Healthy (Happy?) Hackathon project, which combined Timeline, Health, and Clay integration, as well as a Firebase back end, ended up winning, but again, it was the experience, and friendships made, that were the most valuable part of the event. Sadly, just before the event, Pebble announced significant cutbacks, and the staff that were slated to attend had their travel plans canceled, but @fletchto99 managed to pull off an amazing event, with the help of Music Boss maestro @RebootRamblings and others.
Attending the Ottawa event gave me the confidence to do something I’d long dreamed of, but never believed myself capable of: start a local Pebble Meetup. Although we were are a small group, we had have a fantastic time together, sharing projects, ideas, thoughts, and laughs. Providing support for these events was just one more way that Pebble got things right in my opinion, especially when it came to developers. I am continually referencing their documentation and approach when discussing with others what good docs look like, or how to foster community. Their internal hackathons, which I learned of from discussions with employees at the Pebble Rocks Boulder event, are something I have replicated with my own team, resulting in some of our most exciting projects and features. And it’s the community that Pebble fostered that I’ve turned to for support during the uncertainty, then despair of the past week.
That community was also behind many other exciting projects that I have had the pleasure of taking part in recently. A discussion on Slack resulted in one of the most fantastic collaborations I’ve ever been involved in: the Pokemon GO Radar Pebble Watchapp, which, despite the back end being crippled by Niantic, made it to number 10 of all time in the Games category on the Pebble appstore. Another amazing community collaboration that I’ve had the pleasure to contribute to was “the book” which is a college-level course in C development, targeting the Pebble platform. The chance to collaborate with many good friends from the community as well as @frethop, while contributing to a valuable publication, was one I particularly relished.
The above is really just an overly detailed attempt at context for what I originally set out to share with this post, and that is what Pebble has meant to me. Over the past few years, Pebble development has grown to be my most beloved hobby, almost addictive to the point where I typically forego almost all sleep regularly on the weekends in order to try out the latest API feature or indulge myself in another absurd smartstrap idea. The seeds of this “letter” came before today’s announcement, with the intention of showing support during a period of uncertainty (and bilious outbursts from angry Kickstarter backers and others), but given what we now know, it’s evolved into somewhat of a love letter, or chronicle of my wonderful experiences and relationship with the world’s first and best smartwatch. I can’t begin to name everyone that I’ve come to know and appreciate along the journey, but in addition to those mentioned above, I wanted to specifically thank @orviwan and @katharineberry for all of their support, wisdom, and general awesomeness, and to thank the Pebble organization, developer community and community as a whole. Some of the most rewarding experiences I’ve had have been seeing my work on someone’s wrist in Japan or learning of others’ appreciation of my silly ideas. Regardless of what happens next, I’m not done with Pebble (or smartstrap!) development, and I encourage others to reach out to me if you need help getting started, or keeping going. <3
In closing: Pebble, you will always have a special place in my heart, and for as long as technically feasible, on my wrist. <3
PSA: while the future is still somewhat unclear, the following resources may be of assistance:
* Pebble Dev Discord server – official unofficial real-time discussion for Pebble development
* pebble-dev wiki – community-powered resource for Pebble development, tips and tricks, and – coming soon – how to survive in a post-Pebble world
* pebble-dev – community-powered GitHub org providing above wiki and other resources, including a replacement app store for if/when the official version ceases to exist
Wow! Bit of a nostalgic one, this! Although the lack of updates here might not belay it, Pebble development has become one of my greatest passions over the last year and a half. Before Pokemon GO Radar blew up in ways I never could have imagined, before the Ottawa PTR hackathon win, before the Boulder smartstrap hackathon win, before the smartstrap obsession or the PW-DOS smartstrap…there was the lowly PW-DOS Command Line Watchface – my first publication to the Pebble appstore. It was thus my pleasure to update it for the new Diorite platform and give it pride of place on my wrist, and hopefully on the wrists of other Pebble 2 users! 八( ^□^*)
Coming Soon: the all-new, fully configurable PW-DOS 2.0 with heart rate, battery level, and…I don’t know…HIMEM.SYS
or something? (≧o≦)
Here’s a dangerously early preview of the Pokemon GO Radar Pebble Watchapp I’ve been working on with @mathew and an all-star cast on the #pokemon
channel on pebbledev.slack.com!
To reiterate, this is an extremely early preview, and lacks basic courtesies such as ensuring the back end is up or that Bluetooth or network connectivity exist. What it does do is show you what Pokemon are nearest to you, updated every fifteen seconds. Hopefully. If the all the required servers are up, and everything’s talking to everything properly… (。_゜)
This is just a poorly-coded sliver of planned functionality – to find out more, or share feedback, join us on #pokemon
channel on pebbledev.slack.com, or hit me up on Twitter or in the Comments below…(^_-)
Update: Subscribe to the Pokemon GO Radar mailing list for development updates, beta testing opportunities, and more…
The Seeed RePhone Strap Kit for Pebble Time that I backed on Kickstarter finally arrived today! I say arrived – what actually happened is that I chased down our mailperson after realizing that the mysterious slip that was signed and placed back in our mailbox yesterday would actually result in Tuesday delivery due to the holiday – and then took the reclaimed form to our local USPS to pick up the package in person once I realized what it might be! (≧o≦)
I’ve taken a few unboxing pics for others who may not have received theirs yet, as well as made a quick video of the RePhone watchapp and smartstrap:
I’ve also assembled what scant information I’ve been able to locate into a RePhone smartstrap wiki, in the hopes that others may spend less time hunting around for info when getting started!  ̄~ ̄
The latest release of PW-DOS Command Line Watchface for Pebble is focused on optimization of existing functionality. All animations have been rewritten around sparing use of timers, vs. the original functionality which was more “clockwork”-like with each visible change corresponding to a second ticking over. Instead of the cursor blinking once per second, and the DIR
/refresh being tied to the last few seconds of each minute/first few of the following, everything has been reduced to a single once-per-minute cycle (the display remains static until DIR
and the scrolling are triggered at HH:MM:57
, yielding significant power savings).
As alluded to above, the cursor no longer blinks once per second. In fact, it no longer blinks at all, unless you ask it to. Given that Pebble watchfaces cannot use the device’s buttons, the classic “shake” gesture is employed to trigger the cursor blink. And a faster, more “realistic” blink has been made possible now that it’s no longer tied to the clock’s second ticks. Enjoy, and please leave any and all feedback in the comments below! □_ヾ(・_・ )
With a dozen hearts and over 5 dozen installs in under 24 hours, PW-DOS Command Line Watchface for Pebble is taking off in ways I’d never imagined! Version 1.2 brings a new “animated” DIR
, simulating an unseen user typing the command in the closing seconds of each minute, followed by the “old” file listing scrolling up and being replaced with the new. □_ヾ(・_・ )
Technically there’s a subtle inaccuracy in the present functionality – if you notice it, let me know in the comments below!  ̄~ ̄
Needed a quick refresher on the Pebble SDK and ended up taking one of the tutorials a little further and publishing it as the rather silly PW-DOS Command Line Watchface for Pebble. Source is available on GitHub. Plus Star Man appears in the corner for some reason.  ̄ー ̄
Anxious to test the new Raspberry Pi 2‘s performance, I breezed through NOOBS Setup without paying a huge amount of attention or making many changes to the default setup. And the new quad-core ARM Cortex-A7 CPU and 1GB of RAM did not disappoint: starting X and loading web pages on the included browser was a delight compared to my original 256MB rev1 board; but what bothered me after the initial excitement of increased performance was a large black border around the desktop, which prevented the full 1920×1080 pixels from being utilized, and LXRandR
was reporting a somewhat bizarre resolution of 1776×952.
I do not recall encountering anything like this with my rev1 B, or my daughter’s B+ (although the latter is running Kano rather than Raspbian), and some quick searching (on the Pi itself – the Read More…
The nootropic design DJ Shield Kit leverages Arduino’s stackable shield paradigm to add 5 buttons, 3 potentiometers/knobs, and 2 LEDs to any nootropic design Audio Hacker shield for enhanced mashing/twiddling/blinking, rather than cobbling inputs together on a breadboard. The end result is that you can achieve something like this:
(though, hopefully with better quantization than I managed in this quick demo!)…
The nootropic design Audio Hacker shield adds 12-bit ADC and 12-bit DAC to your Arduino, enabling realtime digital signal processing. 3.5mm stereo input and output jacks (though signals are actually mono) coupled with onboard SRAM allow recording and playback of audio samples. The kit is easy to assemble and an Arduino library provides easy access to the shield’s functionality and convenient exploration of example code for the impressive range of sample projects. Below is a quick demo of the 12-bit Audio Sampler sketch:
The well-written, nicely commented example code gives users a springboard for almost limitless Arduino audio manipulation projects! d^_^b □_ヾ(・_・ )
Just backed this on Kickstarter: MicroView is an ATmega328P-based, Arduino-compatible DIP package with built-in 64×48 OLED display. A beefier chip might have been nice, a la Teensy, but the 328 should be plenty for most projects, and really this OSHW project is about giving you that integrated display, as well as widgets to help you leverage it in just a few lines of code. Backers around the world can get their hands on one for just $45 shipped, or $55 for one MicroView plus USB-Serial Programmer (looks like a nice little unit, and more fun than fiddling with an FTDI Friend and half a dozen wires, so I went for it). SparkFun are handling manufacturing and fulfillment, so I’ll be looking out for a little red box sometime in August!
I’m really enjoying my Propellerpowered Pocket Mini Computer – it seems in perfect alignment with many of my current interests: retro/homebrew electronic music production, retroputing, and the Parallax Propeller microcontroller. I’m working through the official Propeller book, but some very interesting diversions from those more formal projects can be found in Propellerpowered’s Instructables – including a new “Creating Animation and Games” series.
The first “Chapter” gives an introduction to SLUG, the Simple Low-res Utility code for Gaming, using the PMC or any other Propeller board with VGA or TV output. The second installment introduces MIGS, the Multi-Interface Game-control Standard, which facilitates the use of a range of controllers, from keyboard to NES to Wii, with Propeller-based video games.
Another great Instructable from Propellerpowered is TV Out for the Pocket Mini Computer, which I also completed along with the Creating Animation and Games chapters, since they cover the tweaks needed to use TV Out vs. VGA. There’s something great about seeing those low-res graphics on an old-school CRT that you just don’t get from a crisp modern LCD! I’m not sure what Read More…
The RetroCade Synth began as a Kickstarter project by self-taught OSHW designer Jack Gassett. I was one of its very first backers, having learned about the project from Jack during an extremely positive customer service experience with my Papilio Arcade order last spring, which was my first foray into FPGA. Since my interest was based on modeling retro hardware, and due to the obvious overlaps with my music production interests, the RetroCade seemed to be a giant shortcut toward much of what I was attempting to do anyway, and I leapt at the opportunity to back as well as promote the project in any way I could. The Kickstarter experience was one of the best I have had, with excellent communication and transparency from Jack, and even a very generous upgrade when it proved that the Papilio Pro would be required for full functionality, with the 500K (which I was intending to use) only supporting a “Lite” version.
My RetroCade MegaWing arrived on New Year’s Eve, and I was anxious to get it running, but ran into trouble attempting to load the firmware. I posted my problems to the RetroCade Synth Forums, and got a reply from Jack within a day, and an updated bitfile for use with the 500K after just one more day. I still intend to upgrade to the Pro in order to take full advantage of the hardware, Read More…
I was bored last night, so I soldered together a fully-functional computer from discrete components…! This is not entirely true – what I really did was assemble a Propellerpowered Pocket Mini Computer, which consists of a Parallax Quickstart CPU Board, VGAplus Board, and Universal MicroSD adapter kit. Assembly is easy, even the SMD microSD socket, thanks to the helpful assembly video for that component.
A mere hour and a half or so later (and I was assembling at a leisurely pace!), I was up and running with a computer that I had assembled much of myself, and from there proceeded through the accompanying Getting Started Instructable. I had purchased the pre-loaded microSD card, which includes PMC Basic, various non-BASIC binary Propeller apps, and a collection of SID DMP files. One of the coolest Read More…