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 of Infrared devices within range, without the need for a phone app or hub to do the work for it!

Example »

Lots of IO

With a Button, Magnetometer, Infrared & RGB LEDs, Temperature and light sensor, and even a programmable NFC tag onboard, Puck.js has everything you need out of the box!

Puck.js also has 17 IO pins available (8 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 »

Web IDE

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, 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 white silicone cover, however we keep stock of different case colors - black tint, red, yellow, green and blue that can ship immediately.

Do you want something special? No problem! When ordering 1000 or more Puck.js devices we can manufacture them with specific case colors, a silkscreen, and even a custom box!

Buy cases » Contact us »