3 ms·
Johnny Five doesn't let JavaScript (Node) run on the microcontrollers themselves -- it requires a USB (or serial) link firmware installed in the board. The pro
by lxe 8y ago
Johnny Five doesn't let JavaScript (Node) run on the microcontrollers themselves -- it requires a USB (or serial) link firmware installed in the board.
The program runs on your computer and issues commands to the firmware via the link. This makes the board "tethered" to the PC so to speak.
That said, hooking up a Raspberry PI running node to an Arduino sort of alleviates the "tethered-ness" and I believe it is the lowest effort barrier to entry into robotics and presents endless creative opportunities.
- tcgarvin 8y agoI believe you're incorrect, Johnny five supports both runtime models. Was playing with Johnny Five yesterday (while they were releasing 1.0, fun to watch), and was deploying my node project code to my Tessel 2, which then ran independently of my laptop. I was amazed at how easy it was to go from 0 to deployed code running reliably on the (detached, untethered) dev board. At least when working with the Tessel 2, they really think through the dev experience end-to-end. [Edit: Tessel, not Tessle]
- bsimpson 8y agoMake Magazine's Make Controller Kit followed the same model. Unfortunately, it was maintained by one guy during nights and weekends (which meant it was never well supported and became deprecated before it was useful). Still, the model of allowing developers to learn robotics in whatever language they're comfortable in is fantastic for making the field accessible to newcomers! I tried my hand at an MCK because I could do it from ActionScript, a language I was already comfortable with. Asking users to learn both about controlling hardware and a new programming language/model simultaneously steepens the barrier to entry versus decoupling those things.
- lxe 8y agoThis is true for some boards. For realtime OS-less microcontroller boards like Arduino, the execution model is what I've described: http://johnny-five.io/platform-support/#arduino-uno http://johnny-five.io/platform-support/#arduino-uno For beefier linux boards, like Tessel and Beagle Board, it's what you've described: http://johnny-five.io/platform-support/#beaglebone-black http://johnny-five.io/platform-support/#beaglebone-black http://johnny-five.io/platform-support/#tessel-2 http://johnny-five.io/platform-support/#tessel-2