Little Bird
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 b...
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
Jargon buster
Plain-language definitions for the technical terms used above.
- ARM Cortex-M4
- A 32-bit processor core commonly used inside microcontrollers for running embedded programs. It matters because it gives the micro:bit enough processing power for sensors, Bluetooth, sound, and classroom coding projects.
- BLE
- BLE stands for Bluetooth Low Energy, a Bluetooth mode designed for lower power use and modern phone compatibility. It matters because BLE support can make the module easier to use with Apple devices and battery-powered projects, though it may behave differently from classic serial Bluetooth.
- capacitive sensing
- Capacitive sensing detects changes in electrical capacitance, in this case caused by different amounts of water in the soil near the sensor plate. It matters because it avoids exposed metal probe contacts, which can corrode in damp soil over time.
- Eddystone
- Eddystone is a Bluetooth beacon format originally defined by Google for broadcasting identifiers or small pieces of data. Support for Eddystone matters if your project needs to work with software or receivers that expect that beacon format.
- GPIO
- General-purpose input/output pins are microcontroller pins you can set in software to read signals, switch devices on and off, or connect to peripherals. The number of GPIO pins matters because it limits how many buttons, LEDs, sensors, and other parts you can wire directly to the board.
- Gyroscope
- A gyroscope measures rotation, such as how fast a board is turning around its X, Y, and Z axes. This matters for projects like gesture controls, balancing robots, and motion tracking where tilt or rotation changes need to be detected.
- HID
- Human Interface Device is a USB device class used for keyboards, mice, gamepads and similar controls. If a board supports HID over USB, it can act like an input device to a computer without needing a custom driver.
- iBeacon
- iBeacon is Apple’s Bluetooth beacon format for broadcasting an identifier that nearby devices can recognise. Support for iBeacon matters when building proximity or location projects that need compatibility with apps or systems using that format.
- IoT
- Short for Internet of Things, meaning physical devices that connect to networks or the internet to send data or be controlled remotely. It matters if you want projects such as connected sensors, remote controls or classroom data-logging activities.
- magnetometer
- A sensor that measures magnetic fields, often used to work out compass direction. It matters because nearby magnets, motors, or metal objects can affect readings and may require calibration.
- PCB
- A printed circuit board is a rigid board with copper tracks that connect electronic parts without loose wires. For this kit, the PCBs also form the airplane shape, so they are both the circuit base and part of the finished model.
- PWM
- Pulse Width Modulation is a way for a digital pin to simulate variable output power by switching on and off very quickly. It matters for controlling things like LED brightness, motor speed, or servo-style signals from a microcontroller pin.
- RAM
- RAM is temporary memory used while a device is running, and its contents are lost when power is removed. A “Run in RAM” mode is useful for testing settings without permanently programming the module, but it may not support every feature.
- RGB
- Short for red, green and blue, usually referring to an LED that can mix those three colours. It matters because controlling an RGB LED teaches how separate outputs combine to create different colours.
- SPI
- A fast serial communication bus often used for displays, memory cards, and sensors. It matters because SPI devices need specific pins for clock and data, plus a separate chip-select line for each device.
Find this product in
Related Tutorials
Free guides on learn.littlebird.com.au