Elmwood no more, long live Elmwood! Elmwood Electronics and PiShop are now together!
Please order via PiShop.ca, as we are no longer taking orders through this site.
More details are in our blog!

Espruino Puck.js v2


Elmwood Electronics has stopped accepting orders. This product might be available at PiShop.ca. Please check this blog post about our recent team merger.

The Espruino Puck.js v2 is a low energy Bluetooth smart button that can be programmed and debugged wirelessly with JavaScript. It is both multi-functional and easy to use, with a custom circuit board, the latest Nordic chip, Bluetooth LE, NFC, magnetometer, temperature sensor, RGB LEDs, infrared and much more, all enclosed in a tiny silicone case. You get all the joy of an interpreted language, with some great sensors and wireless functionality!

Puck.js comes with the Open Source JavaScript interpreter Espruino pre-installed, which makes it incredibly easy to use and means you can get started in just seconds, without any prior programming experience. You can start programming straight out of the box - no wires or software required!

New! Version 2 comes with more sensors, now comes with accelerometer, gyroscope and new magnetometer.


  • Espruino JavaScript interpreter pre-installed
  • nRF52832 Bluetooth Low Energy SoC - Cortex M4, 64kB RAM, 512kB Flash
  • 7 x 0.1" GPIO (capable of PWM, SPI, I2C, UART, Analog Input)
  • 2 x SMD GPIO (capable of PWM, SPI, I2C, UART)
  • 1 x 200ma FET output
  • ABS plastic rear case with lanyard mount
  • Silicone cover with tactile button
  • LIS3MDLTR Magnetometer
  • LSM6DS3TR-C Accelerometer/Gyro
  • PCT2075TP Temperature sensor
  • IR Transmitter
  • Built in light and battery level sensors
  • Red, Green and Blue LEDs
  • NFC tag programmable from JavaScript
  • Pin capable of capacitive sensing
  • Includes x1 Lithium Coin Cell 3V Battery

Note: Do not re-fit the PCB upside-down or force it into the case. If positioned correctly it should slide in. Forcing the PCB or fitting it upside-down could damage the aerial which will stop your Puck's Bluetooth from working correctly.

The Espruino family interacts well with our NeoPixels. For more info, check out Espruino's page on the WS2811 and WS2812.

While the main advantage of the Espruino is its instant execution, it can also be used as a traditional board through a Web-based IDE hosted on your computer. The microcontroller also uses less power than Linux Boards (although its of course a lot less powerful as well) so will run longer on battery power. Simply take the Puck out of its packaging and get started! There's also much more info on the Espruino Puck.js page including tutorials, code examples, manuals, datasheets, and more!

For other great embedded Javascript development boards from Espruino, check out the classic Espruino and the little Espruino Pico.

Technical Details

  • Board diameter: 29mm / 1.14"
  • Board height: 8.3mm / 0.33"
  • Weight: 7g
  • Dimensions of plastic case: 36mm diameter, 12.5mm thick

Revision History:

  • As of July 17, 2020 we are now shipping version 2 of the Puck.js, now with more sensors!

Check out Espruino's Getting Started Guide for tutorials and more.

For product support, replacement parts and warranty for Espruino products click here.