high tech delight
- @noopkat -

programming the hard out of hardware


suz hinton

  1. » @noopkat

  2. » front-end dev @ kickstarter

photo of NYC cityscape

suz hinton

  1. » member of NodeJS hardware WG

  2. » member of the Tessel 2 team

photo of NYC cityscape



human side of coding



shoes decorated to look like cats, connected with a wire
chunky black plastic bracelet worn on posed wrist, with 2 red 8-bit style hearts embossed on top of bracelet iPhone on table with text messages of kitten pictures displaying


raspberry pi computer running off a battery and connected to a thermal printer


thermal printed roll of paper with images and text on it


metrocard pcb


angler fish pcb


angler fish pcb



  1. "universal"

  2. low barrier to entry

  3. event driven

  4. "internet" of things



nodebots website


nodebot workshopper screenshot


nodebot workshopper screenshot


nodebot workshopper screenshot

making tools, not projects

oled screen on a breadboard, displaying a pixelated monchrome picture of a cat's face


avrgirl logo

case study 1:

"out of the box experience"


computer and arduino looking at eachother, confused.


computer and arduino looking at eachother, confused.
  1. 1. Download the Arduino IDE

  2. 2. Install

  3. 3. Open the IDE

  1. 4. Open StandardFirmata sketch

  2. 5. Choose the correct Arduino board

  3. 6. Click 'upload'

  1. 7. Close the IDE and never open it again

  2. 8. Feel confused

  3. 9. Ok, now you can do robots


dead expression face

we can do better


avrgirl logo


terminal program showing flashing progress

🎈 🎉 firmata-party 🎉 🎈

      $ npm install -g firmata-party
      $ firmata-party uno

      $ npm run robot_setup


create a magic first impression


happy expression face

case study 2:

"when things go wrong"


terminal with arduino not found error


a comment on a github issue with lots of questions


a github issue asking for hardware testers

make helping fun again


screenshot of test pilot app in a browser


screenshot of test pilot app in a browser


screenshot of couchdb error


make it easy and fun for others to help


happy expression face

case study 3:

"useful feedback loop"

AVRGirl has 9 types of errors

Eval, Internal, Range, Reference,
Syntax, Type, URI


dead expression face

        err.name // 'Error'

        err.name // 'board_not_found_error'

        err.name // 'board_not_found_error'
        err.message // 'Uno board was not found.'



screenshot of youtube video
  1. I18n friendly

  2. no more dodgy string regexes

  3. shows thought for developer


think about your users

also think about your users' users!


heart eyes expression face

case study 4:


the Tessel project logo
the Tessel 2 board

Open Governance Model

the Tessel project organisation diagram

Clearly defined community goals

"Grow the community to increase contributions and encourage both inclusion and accessibility to newcomers."

"Support and grow the number of production deployments of Tessel in the field."

"Meet the Tesselators"

Meet the Tesselators event participants standing together


community improves your product

community cannot be bought

(it can only be earned)


yay expression face

bringing it all together

javascript rocks for robots

treat peers like regular users

don't assume knowledge

provide first class support

contributions over complaints

always ask:

♥ where can I delight?

⋆ thank you ⋆