Toorcamp: Nibble Node.js Widget

The hardware hacking village at Toorcamp provided space and tools to work on hardware. It was interesting to see what hardware hacks people had brought to work on. One example is [Owen]’s Nibble Node.js Widget. The widget combines the popular node.js platform and custom hardware to create a node for the “internet of things.” The hardware consists of a Arduino Pro Micro, a bluetooth module, a LCD display, and a speaker in a laser cut box.

By using a custom package in node.js, the Nibble becomes an object which can be controlled by its methods. This allows for the developer to push messages to the display and control the device without worrying about the details of the hardware. Since node.js is designed for web applications, it’s simple to make the device controllable from the web.

[Owen] also wrote an emulator for the DCPU from the upcoming game, 0x10c. DCPU assembly is passed in from node.js, which compiles it and sends it to the Nibble. The device can then run the application using the DCPU emulation, which also allows for control of the display and the speaker.

There’s a lot of neat things that can be done with this minuscule cube, and [Owen] plans to release an NPM package for the node.js code.

8 thoughts on “Toorcamp: Nibble Node.js Widget”

Essentially, objects that are normally not web-connected being made able to connect to the internet and report on various state changes.
When your clotheswasher/dryer/oven/TV/bathtub all have IP addresses and are possibly internet-connected, then we have an Internet of Things.

Just a minor nit: node.js is not just “designed for web applications”. It’s a general-purpose JavaScript server, with modules capable of a wide variety of network tasks. Yes, it makes it simple to handle HTTP requests, but it can also deal with other protocols, even at a level low enough to do things like TCP port redirection.

hmmmn, I thought they were supposed to be doing the internet of things with java about 10 years ago but lack of consumer adoption of such things have really negated the need, basically, most people don’t care if their toaster can’t tweet when your toast is toasty :)

No, we don’t, but knowing that the clothes washer/dryer is done, or if the garage door is open would be nice, or monitoring how often the refrigerator, freezer, or air conditioning units turn on and for how long each day would be useful. The next phase would be to have a household server
turn the washer or dryer on during the night when electricity rates are lower, or delaying the start of a compressor or motor a few minutes because another appliance is making a large electrical demand. Or monitoring hot water usage and controlling the heater for efficiency. The household server could turn lights on/off, open/close curtains based on the time of day and compare indoor/outdoor temperatures. Sure, 10 years ago it was pretty much at the same phase we’re in now, but we’ve also had global recessions, wars, droughts and floods to pre-occupy us. And while an appliance could be made internet-ready for $10 parts, appliance mfgrs aren’t willing to add the capacity until consumers or gov’ts demand them.

$10 parts? As in “parts that in total cost $10″ or “several parts $10 each”? I ask because Internet of Things is something I’d love to do, but I found it too pricey – Just an ethernet module can easily be over $10 in my experience.