Hello SF All-hands!! 🦊
Last updated: 2018-06-12
István Szmozsánszky "Flaki"
@slsoftworks
Developer Outreach / DevRel
Mozilla TechSpeakers
JavaScript developer/trainer
2,560 bytes
ought to be enough for anyone
a.k.a JavaScript 💖 Hardware
István Szmozsánszky "Flaki"
@slsoftworks
Embedded JavaScript
Early adopters: the Espruino
Initially with JS supporting microcontrollers, ecosystem-compatibility (see: standards) wasn't a priority
Embedded JS standards support: JerryScript
JerryScript can run on devices with less than 64 KB RAM and <200 KB of flash, it is fully ES5.1-compliant & heavily optimized.
Embracing the web: BBC Micro:bit
Rocky.js: familiar APIs in a small form factor
Pebble: performant JavaScript on a watch!
Pebble managed to run a JS/HTML5 watchface, powered by JerryScript without it being less efficient than the C code!
…and Fitbit took over right where Pebble left off
16 Mhz 8-bit CPU, 2.5 Kilobytes of memory, 32 Kilobytes of program storage!
Learning how to code
[]()
The Arduboy
So we will see how to put JS on these
Create games with the Arduino IDE

clouduboy.org
So what is Clouduboy?
Create games!
Well, rather something more like this:
Share them!
MicroCanvas
</details
…and then put them in your pocket!
Learn to code
Create whole games in the browser!
Built-in editing tools
Turn it into Arduino code
So it will run on this…
The Arduboy is based on the same chipset and peripherals than the one you just saw. It just looks nicer ;)
…or even this!
The Tiny Arcade is slightly different. It has a much more powerful ARM MCU (same as the Micro:bit!) & color screen!
Experimental Micro:bit support!
The Micro:bit is interesting because it only has 2 buttons (space invaders requires at least three, to move and shoot) but it has built-in accelerometer - Clouduboy uses the device tilt as directional buttons!
It's Just The Web!
cld.by/dino
cld.by/mozillaid
cld.by/invaders
Thanks a bunch!
talk.flak.is/play/sfallhands
@clouduboy
@slsoftworks
Reading list:
- JavaScript World Domination by Flaki
- Node.js on embedded devices? Why? By Jon Mckay
- Suz Hinton (noopkat) at Web Rebels, on firmata & using an Arduino with Node.js
- Espruino executes code from source (and other performance considerations)
- Samsung exploring JS on microcontrollers
- Samsung's IoT pitch at the April 2014 TC39 meeting
- Samsung's TC39 presentation
- It's JavaScript on the freakin' watch!
- Heiko Behrens on Rocky.js/Pebble.js
- Heiko announces Pebble.js at JSConf 2015