You are viewing content from a past/completed QCon

Presentation: Bangle.js - Creating a Smart Watch With JavaScript

Track: JavaScript: Pushing the Client Beyond the Browser

Location: St James, 4th flr.

Duration: 10:35am - 11:25am

Day of week: Monday

Slides: Download Slides

Share this on:

This presentation is now available to view on

Watch video with transcript


Gordon will talk about how he took an off the shelf smart watch, reverse engineered it, installed a JavaScript interpreter on 400 of them and got them into the hands of the attendees at NodeConf EU. He's currently in the process of shipping another 1500 watches to Kickstarter backers.


What is the work you’re doing today?


I'm mainly working on tweaking and improving the software for the Bangle.js smart watch - the interpreter's C firmware, the JS code, the toolchain, and the desktop/mobile UI for uploading apps. It's an interesting challenge trying to make sure everything works together reliably even when using older versions of firmware or even completely different devices.


What are your goals for the talk?


I think for a lot of people, computers have progressed to the point where they're just magic. If it's even possible to open up something like a smart watch you'll see a bunch of nondescript squares with random numbers on (if you're lucky!), and it seems completely out of reach. I'll show how hardware is often made out of commodity parts that are freely documented online, and how with a bit of trial and error you can understand them and make them do what you want. I'll also be diving into the internals of the Espruino JavaScript interpreter and showing some of the tricks it uses to provide a powerful JavaScript environment in only 64k of RAM.


What do you want people to leave the talk with?


A new interest in their smart devices, and hopefully an urge to get some microcontrollers and have a play around with them!


What do you think is the next big disruption in software?


When there is finally a standard, low power IPv6 networking standard in every WiFi router sold. It doesn't sound like a software disruption, but having a common platform for all smart devices might finally mean the end of the many incompatible (and often insecure) hardware ecosystems that are dependent on short-lived third party services. I'm hopeful that when it starts to be truly easy to make things happen in the real world in a secure way, software will start to be able to do new things that really help people in their daily lives.


Speaker: Gordon Williams

Creator of the @Espruino

Gordon is the creator of the Espruino, a tiny microcontroller board that runs JavaScript. Over the past 6 years he’s designed hardware, written software, and shipped four successful KickStarters from his home in Oxfordshire. Before that, he wrote compilers and 3D graphics software for a range of companies – including Altera, Nokia, Lloyds Register, Microsoft, Collabora, and Curtiss Wright.

Find Gordon Williams at

Last Year's Tracks