Hackaday Prize Entry: Homebrew Smartwatches

The Pebble Smartwatch has been around for years, and the introduction of the Apple Watch has everyone looking at wrist-mounted computing as the newest gadget consumers can glom onto. There was never any doubt the 2015 Hackaday Prize would have more than a few smartwatches.

[Ramon]’s Zerowatch gets its name from the Arduino Zero, as this watch is based off of and completely compatible with the Arduino Zero. With a 48 MHz ARM Cortex M0+, a three-axis accelrometer, a microSD card slot, and a bright OLED display, this is an extremely capable wrist-mounted computer. As with all wearable electronics, the enclosure makes or breaks the entire device, and [Ramon] has a very slick 3D printed case for this watch.

Connectivity is important for smartwatches, and that’s something [Montassar]’s Open Source Smart Watch doesn’t skimp out on. He’s using an STM32F4 as the main controller and a 1.44″ TFT, and adding the standard Bluetooth module — an HC-05 — to the mix. [Montasar]’s project is also tackling connectivity by working on a few Android apps that connect directly to this phone. He’s using the MIT App Inventor to speed up development for these phone apps, and makes custom smartwatch apps a breeze.

Both are great projects, and thanks to free, open source, and easy to use tool chains, both projects are excellent examples of open hardware development and a great entry to The Hackaday Prize.

The 2015 Hackaday Prize is sponsored by:

Jellyfish Inspired LED Skirt for Burning Man

[Lumilectric] is getting ready for Burning Man and made herself this fantastic fiber optic LED skirt.

She’s always been fascinated by fiber optics and the effect they create, so she wanted to try using them in a project, and this was just the ticket. The tricky part was figuring out how best to couple cheap fiber optic strands off eBay with a strip of RGB LEDs.

In the end she figured out a way to make rudimentary fiber optic coupling joints using vinyl tubing. She managed to fit 17 strands of 0.5mm diameter fiber into a 6mm diameter vinyl tube. To improve light transfer when it’s all together, you can gently melt the ends of the fiber optics together to glaze the plastic into a single clear surface — don’t melt the vinyl though!

Continue reading “Jellyfish Inspired LED Skirt for Burning Man”

It’s Time to Roll Your Own Smartwatch

Giant wristwatches are so hot right now. This is a good thing, because it means they’re available at many price points. Aim just low enough on the scale and you can have a pre-constructed chassis for building your own smartwatch. That’s exactly what [benhur] did, combining a GY-87 10-DOF module, an I²C OLED display, and an Arduino Pro Mini.

The watch uses one button to cycle through its different modes. Date and time are up first, naturally. The next screen shows the current temperature, altitude, and barometric pressure. Compass mode is after that, and then a readout showing your step count and kilocalories burned.

In previous iterations, the watch communicated over Bluetooth to Windows Phone, but it drew too much power. With each new hardware rev, [benhur] made significant strides in battery life, going from one hour to fourteen to a full twenty-fours.

Take the full tour of [benhur]’s smartwatch after the break. He’s open to ideas for the next generation, so share your insight with him in the comments. We’d like to see some kind of feedback system that tells us when we’ve been pounding away at the Model M for too long.  Continue reading “It’s Time to Roll Your Own Smartwatch”

I2C Bus Splitting with a more Professional Touch

Last week, I covered some of the bitter details of an interesting hack that lets us split up the I²C clock line into multiple outputs with a demultiplexer, effectively giving us “Chip Selects” for devices with the same address.

This week, I figured it’d be best to layout a slightly more practical method for solving the same problem of talking to I²C devices that each have the same address.

I actually had a great collection of comments mention the same family of chips I’m using to tackle this issue, and I’m glad that we’re jumping off the same lead as we explore the design space.

Recalling the Work of Our Predecessors

Before figuring out a clever way of hacking together our own solution, it’s best to see if someone before us has already gone through all of the trouble to solve that problem. In this case–we’re in luck–so much that the exact bus-splitting behavior we want is embedded into a discrete IC, known as the PCA9547.

chip_reverence

It’s worth remembering that our predecessors have labored tirelessly to create such a commodity piece of silicon.

The PCA9547 (PDF) is an octal, I²C bus multiplexer, and I daresay, it’s probably the most practical solution for this scenario. Not only does the chip provide 8 separate buses, up to seven more additional PCA9547s can be connected to enable communication with up to 64 identical devices! What’s more, the PCA9547 comes with the additional benefit of being compatible with both 3.3V and 5V logic-level devices on separate buses. Finally, as opposed to last week’s “hack,” each bus is bidirectional, which means the PCA9547 is fully compliant with the I²C spec.

Selecting one of the eight I²C buses is done via a transfer on the I²C bus itself. It’s worth mentioning that this method does introduce a small amount of latency compared to the previous clock-splitter solution from last week. Nevertheless, if you’re planning to read multiple devices sequentially from a single bus anyway, then getting as close-as-possible to a simultaneous read/write from each device isn’t likely a constraint on your system.

 

With a breakout board to expose the pads, I mocked up a quick-n-dirty Arduino Library to get the conversation started and duplicated last week’s demo.

Happily enough, with a single function to change the bus address, the PCA9547 is pretty much a drop-in solution that “just works.” It’s definitely reassuring that we can stand on the shoulders of our chip designers to get the job done quickly. (They’ve also likely done quite a bit more testing to ensure their device performs as promised.) Just like last week, feel free to check out the demo source code up on Github.

Until next time–cheers!

Amazon Dash: Hack It to Run Your Own Code

The Amazon Dash is a $5 push-to-buy-cat-litter button which has excellent potential for repurposing, but you need to know what is going on inside first. [Tony Dicola] has the details in this excellent bare metal guide to the Dash. In this, he covers how to get inside the Dash and reprogram it to do something more interesting than buying cat litter.

He first cracks the device open, connecting a programmer, then building a toolchain to compile programs to run on. This isn’t for the faint-hearted because you are programming directly for a device that wasn’t really built for it, but [Tony] has posted examples and there are few tools to hold your hand on the way. There is a safety net, [Tony] provided details on how to reset the Amazon Dash Button if you manage to brick it.

We have seen some interesting hacks that repurpose the Dash to capture your child’s bowel movements by intercepting the device connecting to WiFi, but this guide takes it a step further. It allows you to run your own code, which turns this into a really low-cost and well-engineered all-in-one WiFi device. The missing piece is proof-of-concept code to run the WiFi module inside. If you’re working on that we’d love to hear about it!

Continue reading “Amazon Dash: Hack It to Run Your Own Code”

Tonight is Hacker Chat with the Hackaday Writing Crew

Tonight at 6pm PDT (UTC-7) is that last Hacker Chat before the entry deadline for the 2015 Hackaday Prize. Join us to talk about all things hardware. Those who need last-minute advice, or are looking for team members for an epic weekend hackathon to bootstrap your winning entry, this is the place to find it. It’s worth entering something… we’re giving everyone with an entry a limited-edition shirt.. and a well executed idea just might get you to the next round!

Joining [Brian Benchoff], [Adam Fabio], and me for tonight’s festivities are [Richard Baguley], [Kevin Dady] (aka [Osgeld]), [Bil Herd], [Kristina Panos], and [Al Williams]. We run these things a bit like the wild-west. There is just a bit of structure, but mostly anything goes. As far as the structure, add your project to this sheet if you want it to be one of the discussion topics. Other than that, share your knowledge and opinions while being excellent to each other. See you this evening!

The 2015 Hackaday Prize is sponsored by:

Hebocons And Why They Matter

Everyone remembers Battlebots, and those of us feeling the pains of nostalgia have tuned into the recent reboot on ABC. As with the golden age of Battlebots, all robot fighting competitions eventually become a war between machines perfectly designed for the task. In the original run of Battlebots, this meant a bracket full of wedge bots, with the very cool robots eliminated year after year.

You don’t watch NASCAR for the race, you watch it for the crashes, and professional robot fighting competitions will always devolve into a few hundred laps of left turns. Fire and sparks are great, but there is a better robot fighting competition, and this time anyone can get in the game without spending years working on a robot.

It’s called Hebocon, and it’s billed as, ‘a sumo wrestling tournament for those who don’t have the technical skills to actually make robots’. The best translation I’ve seen is, ‘shitty robot battles’, and it’s exactly what robot battles should be: technical mastery overcome by guile, and massive upsets through ingenious strategy. You won’t get fire and sparks, but one thing is certain: no robot will make it out of Hebocon fully functional, but that’s only because they weren’t fully functional to begin with.

Continue reading “Hebocons And Why They Matter”