Share this project


Share this project

The world's first JavaScript microcontroller. Develop intelligent devices quickly and easily.
The world's first JavaScript microcontroller. Develop intelligent devices quickly and easily.
1,692 backers pledged £100,710 to help bring this project to life.

3D printed cases, and power consumption

Posted by Gordon Williams (Creator)

State of Funding

This campaign is doing fantastically well - we're now on the fourth day and we'll hit 2/3 funded in the next few minutes! It now seems almost certain that we'll hit our funding goal, so we'll be coming up with some stretch goals over the weekend! 

Thanks so much to everyone for your pledges - it's amazing to see that some of you have even increased your pledges in the last few days in order to get different rewards!

We're still not getting that much attention from the more mainstream press though. TechCrunch have just done a piece on Espruino which is really helping us, but if you know anyone who could help get the word out then please ask them! The more funding we get the more awesome Espruino will be, so please keep telling as many people about us as possible!

3D Printed Cases

We've created some 3D printed cases (45mmx14mmx60mm) for Espruino, and this is what one of the first prototypes looks like. We've designed them to print very quickly and easily on standard 3D printers, and they're designed in OpenSCAD so will be easily parametrizable. As with everything else when the KickStarter ends, the designs will be available completely free of charge from our website.

The latest revision of the Espruino board is much thinner too, so you'll be able to get the board and a Li-ion battery in the same tiny case!

Idle Power Consumption

This is one of the great things about Espruino, so I wanted to give an explanation and some hard numbers.

When you write code for an Arduino, you've got a 'loop' function which is called as fast as possible. If you want to do something when a button is pressed, you check that button repeatedly, which means that the Arduino is working really hard. Sure, you can use interrupts and add explicit 'sleep' statements to get power usage down, but not many people will do this because it requires quite a good understanding of the microcontroller.

With Espruino, the interpreter does all the hard work for you. It knows when it's busy, and it knows when it can put itself into special energy saving modes to save power - all without you having to do anything. This means that when it's busy it can be drawing up to 35mA, but when it's idle (which will be quite a lot of the time in most projects) it'll draw a third of that.

We've just added a mode to the Espruino board called 'deep sleep'. With this enabled, the power consumption drops to just 1mA, and as the Espruino software matures we can get this down to 0.15mA, and hope to enable it by default!

For comparison:

  • Raspberry Pi - 322mA
  • Arduino Nano 328 - 13mA
  • Arduino Nano 328 (with power LED removed) - 11mA
  • Espruino - 11mA
  • Espruino with 'Deep Sleep' enabled - 1mA
  • Espruino with 'Deep Sleep' enabled and USB disabled - 0.13mA

Thanks again for all your support and kind comments - we can't wait to get your boards out to you and to see what you do with them!


Only backers can post comments. Log In
    1. Gordon Williams 3-time creator on

      Hi Chris, thanks! It seems the initial assumption by the majority of programmers is JavaScript==inefficiency, but that doesn't have to be the case.

    2. Chris Holden on

      Arduino does a great job of abstracting a lot of complexity away from the user, but this does mean relatively simple things like sleep get overlooked and less-than-optimal use is made of the microcontroller. Nice to see that this has been given some consideration!