You are viewing content from a past/completed QCon -


Bangle.js - Creating a Smart Watch With JavaScript

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.



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...

Read more
Find Gordon Williams at:


St James, 4th flr.


JavaScript: Pushing the Client Beyond the Browser


JavaScriptIoT PlatformsInterview Available


From the same track

SESSION + Live Q&A Node.js

Putting Node.js Serverless Apps into Production without the Pitfalls

Serverless is the new way of creating software. It means moving away from servers and leaving that to the cloud vendor. Instead, you focus on features and business value and use managed cloud services to build powerful applications. Serverless allows you to do more much faster.But there are...

Eoin Shanaghy

CTO and co-founder @fourtheorem

SESSION + Live Q&A Silicon Valley

Running third-party JavaScript

There’s a JavaScript package for everything. But installing a random package is a security nightmare: the installed package can access your data and send it over the network without anyone ever knowing.  But there’s hope! This talk will discuss how to minimize the risks of...

Katelyn Sills

Software Engineer @agoric

SESSION + Live Q&A Interview Available

Hello Quantum Developers World - Yet Another Frontier for JavaScript

In this talk, participants will come to know the underlying principles of Quantum Computing and how it differs from Classical Computing, how and why it is evolving so fast and how to take it from the hands of researchers and put it in the hands of developers thus making way for the so-promised...

Miguel Ramalho

MSc Student @UPorto (University of Porto)

SESSION + Live Q&A JavaScript

JS � Character Encodings

Character encodings can be confusing for every developer, providing pitfalls even for the most experienced ones, so a lot of the time we want to end up with something that “just works” without an in-depth understanding of the involved concepts. In this talk, Anna will give an overview...

Anna Henningsen

Node.js Developer


Panel: JavaScript - Is the Insanity Over?

Is JavaScript finally ready to make developers happy? Are the days of transpiling really numbered?When will the software architects in the back row finally stop laughing at us?We seem to be stuck with JavaScript. But the developer experience might just be getting better—join to us to see if...

Miguel Ramalho

MSc Student @UPorto (University of Porto)

Eoin Shanaghy

CTO and co-founder @fourtheorem

Katelyn Sills

Software Engineer @agoric

Gordon Williams

Creator of the @Espruino

View full Schedule