Hacker News new | ask | show | jobs
by jgrahamc 5014 days ago
The whole Firmata/Johnny-Five thing is weird to me. What happens is the code you write runs in the host computer (not the Arduino) using nodejs and then it uses the Firmata protocol to tell the Arduino to twiddle some digital ports/read some analog ports etc. The Arduino is a complete slave to the host machine and basically acting as an I/O mechanism.

To me the joy of microcontrollers is that you write some code that runs in them independently of anything else and then you can make cool stuff with them, such as http://blog.jgc.org/2012/05/simonoids-its-simon-in-altoids-c...

In the example in the article, why bother with Arduino? Just get a USB LCD display and talk to it directly.

2 comments

I somewhat agree. Getting something working quickly with Johnny-five is very satisfying and to someone who is new to arduino/microcontrollers, that's a huge benefit. In many cases, you can potentially save the time you would have spent researching (for example) wireless boards, potential power issues, waiting on shipping for any extra components, etc.

Then when you're done, you realize your project is tethered to your host machine. But you have something working and can at least continue to play with it while you figure out how to get it working independently.

Also, I'm sure there are some cases where projects will benefit from being tied to the host machine anyways.

* Editing to say that I'm sure the electrical engineers among us will scoff at the dumbing-down of an already dumbed-down Arduino environment. But for the web devs who are starting with zero experience with embedded programming and electrical issues, it really helps to bridge the chasm from a screen to something we can touch.

I'm glad you think it's weird ;)

From the Firmata website:

"Firmata is a generic protocol for communicating with microcontrollers from software on a host computer. It is intended to work with any host computer software package. Right now there is a matching object in a number of languages. It is easy to add objects for other software to use this protocol. Basically, this firmware establishes a protocol for talking to the Arduino from the host software. The aim is to allow people to completely control the Arduino from software on the host computer."

To you, the joy of microcontrollers might be one thing, but to me another. _that_ is the real joy of microcontrollers—there is more then one way to play with them.