Build Robots with Web Tech.


What you think you need

  • Knowledge of C
  • Advanced Electronics Knowledge
  • $$$

But If you can...

  • Use a callback
  • Install Node/npm
  • Use a command line
    • cd, ls, node

You (Yes, you) Can build, and program, Robots. 

Right now.

A Bit of Vocabulary


This is the nerve center/brain of your robotics projects. Signals are passed through it via code, GPIO devices, etc.

A Bit of Vocabulary

GPIO - General Purpose Input/Output

Also referred to as 'GPIO Pins' or 'Pins', these are usually little plastic slots or holes in a board.

These are how your microcontroller and input/output devices communicate

A bit of Vocabulary

Analog vs. Digital pins

Digital pins have 2 possible values: hi/low (on/off)

Analog pins have a range of values (represented by an integer, usually)

A Bit of Vocabulary

Serial Connection

A serial connection is used for your computer to communicate with your microcontrollers.

This is done through your USB ports, usually.

Basic Wiring 101

Output: IO Pin -> resistor -> output -> ground

Input: power -> resistor -> input
input-> ground
input-> analog input pin

You now know everything about electronics that I do.

The hardware

Arduino with Johnny-Five
BeagleBone Black
Firefox OS


Basic Stats

Ubiquitous with 'NodeBots'

Uses Arduino with Firmata firmware

Arduino: Open-Source robotics platform


2 servos, linked to radial potentiometers (slider switches).

The servos move when I move the potentiometers


  • Easiest starting point
  • Prolific Documentation
  • Strongest, most unified community
    • @rockbot and @rwaldron


  • Must be tethered to a comp running Node
    • Some get around this with a raspberry Pi

Beaglebone Black

Basic Stats

Fully-autonomous microcontroller running Linux

You've probably heard of its cousin- Raspberry Pi

Node.JS baked right in- including Cloud9 editor

A few advantages over Pi

  • Analog Output pins
  • Does not require external display


Load up Cloud9 on the BeagleBone

Manipulate an RGB LED


  • Autonomous
  • Easy to get started
  • Extendable (wifi, usb devices)
  • Runs Node on the device


  • A little hard to get
  • Documentation not as prolific as J5
  • Updating is kind of a pain


Basic stats

Runs a custom JS Interpreter

Runs JS directly- no message-passing, no linux

Cheap, small, good for wearables


An individually-addressable RGB LED Strip is attached to the Espruino

(The arduino is serving as a power converter)

Let's light it up.


Firmware updates regularly

Some functionality that's not as available with the others

Small, cheap, fast


Highly experimental

Currently on pre-order

Needs to be modified to allow prototyping

Other stuff you can do with Node


Even MOre Stuff

  • Node-Gamepad
  • Node SerialPort
    • For devices not supported yet
  • Firefox OS!!! (Small Demo)
  • Many, many more.

How to get started

Arduino Kit (SparkFun Inventor's)

Go check out Johnny-Five tutorials

Build something simple, then scale up

What comes next is very, very, very important.




Document your builds

Even if it goes smoothly

Someone will learn something from it!

This is the easiest way to help the community.


Especially when your build doesn't go as planned.
Someone might need info about your fix!

Because Happiness is contagious

in Conclusion

IT's (always) a great time to be a fan of JS

Tag, You're It!

  • Go build it (Because you can!)
  • Document it
  • Show it off


I'll leave the bots up here for a bit if you want to come look.





Build Robots with Web Tech

By kperch

Build Robots with Web Tech

  • 959
Loading comments...

More from kperch