Tag Archives: Node.js

Homey ties all your smart devices together and lets you talk to them!

We here at Athom have recently completed a successful Kickstarter campaign for our first product, Homey. In essence, it’s a device that you place in your house, and it listens to your voice. It has 8 wireless transceivers onboard, so it talks all languages.

Homey is not tied to any specific brand or standard, as I strongly believe that technology should work together in a seamless way. Nowadays, with all these ‘smart’ devices, the opposite is happening! Oh, and did I already mention that it’s plain ridiculous that you now need a smartphone to switch a light?

And… so we developed Homey! Having raised over €200.000 on Kickstarter, we’re currently super busy with manufacturing the device!

It works on a Raspberry Pi Compute Module, which is connected to the wireless transceivers, a speaker and a microphone array. On top, it runs Node.js which allows developers to add support easily! Why Node.js? As every developer or someone with a burning desire to build, Node.js is becoming the go-to coding method for enterprise. Innovators from the app and cloud side of things have utilized it in their early adoption to build out Yammer.com, Walmart.com, Paypal.com, Dailymail.co.uk, Netflix, and much more. Node.js helps bring forth rapid innovation and delivery, which is enabling the speed of delivery and prototyping. The nimble ability to iterate are the key traits of keeping the cycle of innovation moving forward. This is why our Homey platform is built integrally around this community of Node.js to plug into this top notch world of agile developers.  

Packed with anything that is connected, the network effect of community is also always important. This is why we made Homey so compatible to help facilitate [like a nexus] the widely diverse ecosystem of connected devices. The open-source community of Arduino is a perfect union. Importantly, Homey is fully compatible — it plays into this developer and Maker community base to help fulfill and stretch the creativity and imaginations of the millions of Makers who may take on the ideas of their devices fitted with various Arduino variants (Arduino Uno, Arduino Mega, LilyPad Arduino, Arduino Nano, Arduino Due, Arduino Yún, Arduino Robot, Arduino Shields, and more) many of which are using IoT community inspired Atmel based AVR and ARM based processor cores. Helping to produce the heterogeneous make-up of a fuller installation of IoT, it’s a perfect union! 

For all of you Arduino fans: Homey (at its true nature, acting as a nexus to the diverse set of protocols) is designed to work with Arduino! We ship transceivers with Homey [if you select that option], and we will then provide you a library for Arduino so you can access this massive community (using Maker boards as well as shields) to connect your own projects to Homey. You can be quickly on your way to a connected, SMART design packaged with a wider IoT enablement (fulfilling various protocols).

For example, if you connect a LED strip to an Arduino, and tell Homey to “turn the lights to red,” Homey will forward this command to your own Node.js app, which then sends the signal ‘red’ or ‘255,0,0’ to your Arduino. The Homey-Arduino library then will pass this command on to your own Arduino code, where you can tell the LEDs to turn to red. Basically, what I’m trying to say here is that you don’t have to do that much!

Stay tuned for upcoming posts about Homey, where there will be in-depth discussions around the hardware. In the meantime, don’t forget to pre-order your Homey!

Bar Mixvah is a DIY robot bartender

Yu Jiang Tham recently debuted a DIY drink mixing robot aptly dubbed the “Bar Mixvah.”

The platform is built around an Atmel based Arduino Nano (ATmega328 MCU) paired with five 12V peristaltic pumps. On the software side, Yu Jiang employs the MEAN stack (MongoDB, Express.js, Angular.js, Node.js) and jQuery for the frontend and backend, respectively.

Additional key hardware specs include:

  • 11x 5/16″ steel square 12″ rods
  • Clear tubing
  • 5x TIP120 w/diodes
  • 400-point breadboard and jumper wire
  • 5x 2.2kOhm resistor
  • 4x #6-32 2″ machine screws
  • 12V power supply rated at (or greater than) 1.5A – or you can use an old laptop power supply (as long as it’s 12V DC).
  • 5.5mm x 2.1mm coaxial power connector (female) – or if you’re using a laptop power supply, 5.5mm x 2.5mm
  • Male pin connectors
  • Female housing for the male pin connectors

“Bar Mixvah is designed to use a system of 5 peristaltic pumps that are switched by 5 bipolar junction transistors (TIP120), all controlled by an Arduino, which itself is controlled by the Johnny-Five package on the node.js/express web server that is running on your laptop/Windows tablet,” Yu Jiang explained in a recent blog post.


“Having it on a web server allows users to order from any device, be it a phone, tablet, or other laptop that can connect to your WiFi access point’s internal network. Practicality-wise, maybe it’s not necessary. However, in my experience, people seem to enjoy ordering from a tablet that they’re holding in their hands more than a stationary screen attached to the robot.”

Interested in learning how to build your own DIY Bar Mixvah? You can check out the project’s official page here.

EASiLOGO controls your Etch-a-Sketch

Graham Toal has debuted a CNC Etch-a-Sketch robotic platform powered by an Atmel-based Arduino board.

Aside from the board, key project hardware components include:

  • Two stepper motors
Two bracket sets
  • Two couplers and a 2mm Allen Key
  • 12V power supply
  • One Adafruit Stepper motor shield

On the software side?

“I considered using remote procedure calls, I thought about implementing Hewlett Packard Graphics Language (HPGL) as used in pen plotters, but in the end for fun I decided to use GCODE as my drawing protocol – GCODE is how laser cutters and 3D printers and many other CNC machines are driven, so it seemed like good experience to learn a bit about how it worked,” Toal explained in a recent Instructables post.

“I found an Arduino GCODE interpreter and modified it to suit my project. Mostly the mods were just to remove the Z-axis code that wasn’t needed (you can’t lift or lower the pen in an etch-a-sketch – when you move, it always draws a line) but the main modification was to remove some machine-dependent stepper-motor-driving code and replace it with portable calls to the Adafruit libraries.”

To create a functional LOGO interpreter, Toal turned to Marcio Passos from Brazil who quickly coded an interface (EASiLOGO) based on the “Papert” LOGO interpreter written in Javascript by Thomas Figg along with an Etch-a-Sketch demo from the Mozilla Developer network.

“Marcio and I modified Papert to use the ‘Node.js’ system which gave the code the ability to drive the serial port so that we could send GCODE commands to the Arduino and make the Etch-a-Sketch draw,” he said.

“In a mammoth 30-hr session over the weekend, we got the LOGO interpreter working and sending drawings to the Etch-a-Sketch.”

So, what’s next for Toal? Well, the Maker says he hopes to polish the software so that anyone can use it without needing to build a physical Etch-a-Sketch robot.

“The emulation of the computer-controlled Etch-a-Sketch on our web page is very accurate and we’ll continue to work on it to make it look and perform even better. Programs that run on the web page will run just as nicely on the real hardware,” he added.

“If you can’t build the hardware, you can do the human simulation we described in the introduction, by writing down the instructions on a piece of paper, and giving them to your kids to execute on a real Etch-a-Sketch toy by hand. It’s a great way to learn to program, even without a computer.”

Interested in learning more? You can check out the project’s official Instructables page here.