The ground-breaking bluetooth beacon - An Open Source JavaScript microcontroller you can program and debug wirelessly.

Buy Puck.js » Tech Specs »


Just got your Puck?

Web Bluetooth

Control Puck.js from all major platforms using standard HTML and JavaScript. We've even provided an easy to use library to get you started.

Example »

No phone or hub needed

Puck.js is entirely autonomous. Press a button and it'll control other Bluetooth or Infrared devices within range, without the need for a phone app or hub

Example »

Lots of IO

Button, Magnetometer, Accelerometer, Gyro, IR & RGB LEDs, Temperature and light sensor, FET output and a programmable NFC tag - Puck.js has everything you need out of the box!

9 IO pins are available (7 of which are on a 0.1" pitch), with PWM, analog, I2C, SPI and Serial so you can easily add your own hardware!

Check it out! »

Human Interface Device

Puck.js isn't just beacon. It can be a Bluetooth LE HID device too - a keyboard or multimedia control. It can then create keypresses in response to external stimulii, which could be a button press, a door opening, even another Bluetooth device coming within range!

Example »

Infinitely customisable

Unlike many beacons that perform a fixed task, Puck.js executes JavaScript directly. It can be whatever type of beacon (Eddystone/iBeacon) you want, can automatically update what it transmits depending on external factors, and can even add custom services and characteristics.

But it gets better! Puck.js can connect to other BLE devices in 'central' mode as if it were a phone, and can even receive other devices' advertisements!

Proven Software

Puck.js uses the Espruino JavaScript Interpeter - now installed on tens of thousands of devices, with thousands of users.

With a common API between devices, you can move your project over to other Espruino platforms (like WiFi) with minimal effort!

Find out more »


With Web Bluetooth you can start programming straight out of the box - no wires or software required!

Try it out »

Open Source

Puck.js's is Open Source (software and hardware), so it's easy for you to tweak its functionality or see how it works.

Follow on GitHub »

Unique Hardware

Puck.js can measure light, temperature, movement, magnetic fields and capacitance, can control Infrared devices, and has a clever tactile switch that turns the Puck into one big button.

And it does all this with a year-long battery life on a common CR2032 battery that costs $0.20!

More Information »

Customised Hardware

Puck.js comes with a smooth silicone cover - either white, black tint, red, yellow, green or blue.

Do you want something special? No problem! We can provide unbranded cases, can laser etch your logo on to the silicone top, and for larger orders can even provide the case in custom colors.

Buy cases » Contact us »