Press Information

If you want high-quality images for your article, you've come to the right place. We're committed to helping anyone write about Espruino, so if you have any questions please just Contact Us

Note: We have the current KickStarter for the Espruino Pico, and the last KickStarter. Both sets of pictures are available below.


High-Res Photos



Gordon Williams is a software developer living near Oxford in the UK. He has had an interest in making software and hardware gadgets since he was a child. As a teenager he built a car with his father and started work on the music visualisation projects R2 and R4. After studying computing at Cambridge University, where he met his wife Marianne, he worked as a software developer and consultant for companies such as Altera, Microsoft, Lloyds Register, Nokia and Collabora. He continues to enjoy combining hardware and software in his free time and last year replaced his car's engine and made his own ECU.

In 2010 he took the decision to stop full-time work and focus on making and selling the Morphyre Music Visualiser - which is now used in clubs worldwide and is also licensed as a Digital Signage Solution. In 2013 he started a KickStarter for Espruino, which raised just over £100,000. Since then he's been working full-time on improving Espruino.



Using an Interpreter

Gordon has worked with microcontrollers as a hobby since he was 16 (starting with PIC microcontrollers) and was hooking things up to his PC's printer port even before that. When cheap ARM microcontroller boards started appearing he purchased them immediately and has continued to experiment with new boards as they have come out. However while the tools have improved massively in the last few years (especially with the Arduino IDE) some of the original problems have not fully gone away. Development tools are still quite big and take a lot of time to install and learn. For many users, by the time they've got a light flashing their enthusiasm has waned and they don't use the board again. 

As a Linux user Gordon was aware that whatever tools were used had to work reliably on multiple platforms without needing extra software, so building an interpreter into the microcontroller seemed the obvious way forwards. BASIC interpreters for microcontrollers have been around for a while (like the amazing Maximite), but until recently the amount of built-in RAM and Flash in microcontrollers has been a stumbling block for more complex languages. When Gordon saw the STM32F1 development boards with 128kb of Flash and 8kb of RAM he realised he could use the lessons learned from his TinyJS JavaScript interpreter (originally built for Morphyre) to produce something that would run within those limits - and so Espruino started!


The great thing about using JavaScript is that it opens up the world of microcontrollers to web developers. Boards like Espruino, together with online courses in JavaScript offered by people like CodeAcademy, will provide an easier route for beginners to get into programming. The interactive nature of the interpreter makes it easier to interface to different devices (LCDs, accelerometers etc) because commands can be tested one at a time.

The use of JavaScript means you can interpret, inspect and modify your code on the fly. This is different from most existing microcontrollers which run C. It can be like running code in a black box (literally) unless you own a debugger. For example, Espruino's interactive console allows users to enter code (such as 'analogRead(LIGHT_SENSOR)') and have it executed, and the result returned immediately - this makes it very different from something like Arduino which requires you to write code, compile, and then upload it to a device. Having an immediate response (good or bad!) to the code you type makes using Espruino a very rewarding experience, and makes it much easier to learn.

JavaScript is also, of course, a familiar and popular language which will be recognised by millions of people around the world, including those who have not learnt to program in C .

The Event-Based Model

Using an event-based model has several great advantages:

  • It means different bits of code doing different jobs can run together without interfering;
  • It's more intuitive because it mimics the way people naturally describe tasks in the real world ('When it's dark turn on the light' - not 'Is it dark? Is it dark? Is it dark? Yes. Turn on the light!');
  • It's a good fit for a Scratch-like graphical programming environment, and
  • It cuts power consumption drastically so it's great for battery life.

The use of the event-based model for microcontrollers is a trend which is definitely taking off. As well as Espruino, a board called Tessel is currently under development and the use of node.js on Raspberry Pi, BeagleBone and others has been gaining in popularity recently as well.

The Espruino Board

So why are the Espruino boards different to other JavaScript-capable devices? It uses roughly 1000 times less RAM, so it can run completely inside a microcontroller chip, requiring only a bare minimum of external components. This makes the boards cheaper, smaller, and lower power (so that they can run off a battery for days on end).


Gordon Williams on LinkedIn

Projects of Interest


For other information see:

Please Contact Us for specific information