This site is intended as a guided tour of some of my projects/GitHub repos, while at the same time serving as an excuse to become more familiar with Jekyll, and hopefully, as a further byproduct, result in a template site that can be used for other projects’ gh-pages
. Read More…
pw-dos is a silly Pebble watchface that I created as an exercise with the premise of brushing up on the 3.0 SDK; somehow it accidentally gained over 1,000 users in the few months since it reared its preposterous head, so development has continued by popular demand, and has already spawned several variants!
flipflop is an attempt at realizing fellow HackDad (in exile?) @juliendarrah’s dream of home automation (especially in the area of pool maintenance), currently targeting the ESP8266 and Kinetis K10.
Pro Pebble Development is an attempt at chronicling my ongoing adventures with the Pebble SDK 3.0 and related technologies. My goal is to apply “professional” software development practices to what started out as “hobby” code, and share techniques, resources, and challenges along the way. It’s also another opportunity to play with Jekyll and GitHub Pages!
More of my projects and others’ that I’ve borrowed and/or contributed to can of course be found in the usual location - will do my best to highlight them here or in upcoming blog posts soon… !
Nov 29, 2015
When Pebble announced the new Pebble Time smartstrap functionality during their Kickstarter campaign, I remember being intrigued by the possibility of hardware add-ons, but it seemed like something distant at the time. When the Hardware specification was published, however, I realized that this was something that could be hacked on, rather than just a protocol for big 3rd party manufacturers to leverage. I started spending all of my available time hacking on smartstraps - even before the firmware to support them was released, and modified the initially Teensy-focused serial library to work on the Arduinos I had at hand, eventually resulting in a working smartstrap once the firmware was released! Next up was the charging cable hack once it became clear that the 3d-printed connector, which lacked magnets, was not even close to being stable enough to maintain a connection. And then I had the chance (of a life time!) to participate in Pebble’s smartstrap hackathon, Pebble Rocks Boulder!
Hot off of a win with our Team Hack Dads Pebble Altimeter Smartstrap, I became consumed with enthusiasm for the platform. Inspired by Matt Hungerford’s demonstration of the Pebble Time’s frame buffer being transmitted to an external display, I set out to do similar using the Gameduino 2 that I already had, but got distracted by the Gameduino’s touchscreen and widget capabilities and decided it would be more fun to use it as an input, the most exciting (and ridiculous!) form of which that occurred to me at the time being a keyboard input for the Pebble Time!
By far the biggest issue encountered during development so far was difficultly successfully transmitting a 32-bit epoch time value from the Pebble Time to the Arduino (the latter lacks an RTC so leveraging the Pebble to help the Arduino tell time seemed like a fun exercise at the time!) since despite both systems being confirmed little-endian, the 32-bit integer was behaving as though its most significant 16 bits had been lopped off on arrival. Unpacking the byte array by hand and combining (after appropriately shifting) the results provided a fix for now, though I plan to explore assurances from the Pebble team that just casting (i.e. *(uint32_t *)buffer
) should work just as well (keep an eye on my Pro Pebble Development blog for a more detailed analysis?).
The result of my experiments with adding an external touchscreen to the Pebble Time are encapsulated in the video demonstration below, where a hacked watchapp version of my PW-DOS Command Line Watchface for Pebble receives keyboard input and emulates the DOS DIR
command. Source for each is available, but in desperate need of clean-up - being presently hacked however was required to allow the below video demonstration to be achieved - but will be refining and expanding as time allows!
Shout out to the Engineerable team whose TimeDock is the only elegant part of the video! :D
Aug 2, 2015
In 2002, I had a thought: wouldn’t it be great if you could convey messages to other drivers with greater precision than the established turn signal and gesture-based conventions? This was the era of texting on dumbphones, before emoji or social media apps or any of the other ways that we can now more expressively convey our feelings than with raw text. Thus, I had the idea for a simple system (whose road legality I have yet to investigate) whereby emoticons could easily be displayed to other drivers to convey apology, thankfulness, or…whatever the situation required. Back then I had absolutely no hardware skills, having focused my schooling and professional career on bits rather than atoms - so it’s incredibly validating to be able to knock out a quick PoC in a few hours today, using materials on hand and a few lines of code, instead of such ideas remaining dreams… :D
I combined @jprodgers’s LoL Shield with the inexpensive and hackable (e.g. ability to opt out of the pin 13 LED in order to prevent ghosting) Evil Mad Scientist Diavolino and strapped a 4xAAA (NiMH, in order to avoid additional voltage regulation) battery holder to the back, resulting in a self-contained, portable solution that can easily be attached to my car’s rear wind deflector for a few days of visibility testing (the bright white LEDs are easily visible from a distance, even in direct sunlight)… :)
This site is focused on my GitHub activity. For other topics, visit ishotjr.com, or find me elsewhere online at the links below.