
Puck.js v2
Puck.js v2 is an open-source Bluetooth LE button and beacon powered by the Espruino JavaScript interpreter. Program and debug it wirelessly from any modern browser using Web Bluetooth — no wires, drivers, or native software required. Built around the nRF52832 SoC, it packs sensors, LEDs, an IR transmitter, and GPIO into a compact puck form factor.
Version 2 adds an accelerometer, gyroscope, MOSFET output, calibrated temperature sensor, and improved Bluetooth signal strength over the original Puck.js.
Key Features
- Wireless JavaScript Programming – Upload, debug, and modify code over Bluetooth from any Web Bluetooth-compatible browser
- Bluetooth LE – Acts as a beacon (Eddystone/iBeacon), HID keyboard, or BLE central device
- Built-In Sensors – Magnetometer, accelerometer, gyroscope, calibrated temperature sensor, light sensor, and capacitive touch
- IR Transmitter – Control infrared devices directly from the Puck
- RGB LEDs – Red, green, and blue LEDs for visual feedback
- Programmable NFC Tag – Configurable from JavaScript
- MOSFET Output – Drive external loads directly (v2 addition)
- Tactile Button – The entire puck acts as a single large button
- Autonomous Operation – Responds to button presses, magnetic fields, or nearby Bluetooth devices without a phone or hub
- Open Source – Both hardware and software are fully open source
Specifications
- SoC – nRF52832 (64 MHz ARM Cortex-M4)
- RAM – 64 KB
- Flash – 512 KB
- Firmware – Espruino JavaScript interpreter (pre-installed)
- Connectivity – Bluetooth Low Energy
- Magnetometer – LIS3MDLTR
- Accelerometer / Gyroscope – LSM6DS3TR-C
- Temperature Sensor – PCT2075TP (calibrated)
- GPIO – 7× on 2.54 mm (0.1″) pitch header + 2× SMD pads
- Interfaces – PWM, analogue input, I²C, SPI, Serial, capacitive sensing
- MOSFET Output – 1×
- Power – CR2032 coin cell (approximately one year battery life)
- Case Dimensions – 36 mm diameter × 12.5 mm thick
- PCB Dimensions – 29 mm diameter × 9 mm thick
- Weight – 14 g (in case)
Ideal For
- Bluetooth beacons and proximity sensing
- Smart home control and IR remote replacement
- HID keyboard and multimedia triggers
- IoT prototyping with JavaScript
- Wearable and portable Bluetooth projects
Package Contents
- 1× Puck.js v2 in ABS plastic case with silicone cover
- 1× CR2032 battery (pre-installed)
Resources
Original: $99.85
-70%$99.85
$29.95Product Information
Product Information
Shipping & Returns
Shipping & Returns
Description
Puck.js v2 is an open-source Bluetooth LE button and beacon powered by the Espruino JavaScript interpreter. Program and debug it wirelessly from any modern browser using Web Bluetooth — no wires, drivers, or native software required. Built around the nRF52832 SoC, it packs sensors, LEDs, an IR transmitter, and GPIO into a compact puck form factor.
Version 2 adds an accelerometer, gyroscope, MOSFET output, calibrated temperature sensor, and improved Bluetooth signal strength over the original Puck.js.
Key Features
- Wireless JavaScript Programming – Upload, debug, and modify code over Bluetooth from any Web Bluetooth-compatible browser
- Bluetooth LE – Acts as a beacon (Eddystone/iBeacon), HID keyboard, or BLE central device
- Built-In Sensors – Magnetometer, accelerometer, gyroscope, calibrated temperature sensor, light sensor, and capacitive touch
- IR Transmitter – Control infrared devices directly from the Puck
- RGB LEDs – Red, green, and blue LEDs for visual feedback
- Programmable NFC Tag – Configurable from JavaScript
- MOSFET Output – Drive external loads directly (v2 addition)
- Tactile Button – The entire puck acts as a single large button
- Autonomous Operation – Responds to button presses, magnetic fields, or nearby Bluetooth devices without a phone or hub
- Open Source – Both hardware and software are fully open source
Specifications
- SoC – nRF52832 (64 MHz ARM Cortex-M4)
- RAM – 64 KB
- Flash – 512 KB
- Firmware – Espruino JavaScript interpreter (pre-installed)
- Connectivity – Bluetooth Low Energy
- Magnetometer – LIS3MDLTR
- Accelerometer / Gyroscope – LSM6DS3TR-C
- Temperature Sensor – PCT2075TP (calibrated)
- GPIO – 7× on 2.54 mm (0.1″) pitch header + 2× SMD pads
- Interfaces – PWM, analogue input, I²C, SPI, Serial, capacitive sensing
- MOSFET Output – 1×
- Power – CR2032 coin cell (approximately one year battery life)
- Case Dimensions – 36 mm diameter × 12.5 mm thick
- PCB Dimensions – 29 mm diameter × 9 mm thick
- Weight – 14 g (in case)
Ideal For
- Bluetooth beacons and proximity sensing
- Smart home control and IR remote replacement
- HID keyboard and multimedia triggers
- IoT prototyping with JavaScript
- Wearable and portable Bluetooth projects
Package Contents
- 1× Puck.js v2 in ABS plastic case with silicone cover
- 1× CR2032 battery (pre-installed)



















