AI agents & screen readers: for a machine-readable, text-only catalogue, start at /llms.txt. Products are available as Markdown (/products.md, /products/{handle}.md) and JSON (/products.json, /products/{handle}.json).
Store

Pimoroni

$88.15 |
Out of stock
No reviews yet

A Smart Bluetooth Button that can be programmed wirelessly, in JavaScript! Puck.js is an intelligent Bluetooth button. With the Espruino JavaScript interp...

Get notified when back in stock

Qty
Estimated Delivery
Arrives
Disclaimer
View Markdown
Secure checkout

A Smart Bluetooth Button that can be programmed wirelessly, in JavaScript!

Puck.js is an intelligent Bluetooth button. With the Espruino JavaScript interpreter on its internal ARM microcontroller, software can be uploaded, debugged and modified wirelessly from any modern computer or phone, making development of embedded devices significantly easier. It has built-in sensors, lights, infrared transmitter, GPIO, and can even control other Bluetooth LE devices.

What makes it special?

You can get your own code working on Puck.js just a few seconds after getting it out of the box. With Web Bluetooth you don't need to install any software on your computer - just go to https://www.espruino.com/ide/ with a Web Bluetooth capable browser and you can connect instantly and start writing code. There's even a graphical programming language if you're not happy writing JavaScript.

Features

  • Bluetooth Low Energy
  • Espruino JavaScript interpreter pre-installed
  • nRF52832 SoC - 64MHz Cortex M4, 64kB RAM, 512kB Flash
  • 8 x 0.1" GPIO (capable of PWM, SPI, I2C, UART, Analog Input)
  • 9 x SMD GPIO (capable of PWM, SPI, I2C, UART)
  • ABS plastic rear case with lanyard mount
  • Silicone cover with tactile button
  • MAG3110 Magnetometer
  • IR Transmitter
  • Built in thermometer, light and battery level sensors
  • Red, Green and Blue LEDs
  • NFC tag programmable from JavaScript
  • Pin capable of capacitive sensing
  • Weight: 14g in plastic case, 20g in packaging
  • Dimensions of plastic case: 36mm dia, 12.5mm thick
  • Dimensions of bare PCB: 29mm dia, 9mm thick

Please see http://www.espruino.com/Puck.js for more detailed information, tutorials and the Getting Started Guide

Jargon buster

Plain-language definitions for the technical terms used above.

capacitive sensing
Capacitive sensing detects changes in electrical capacitance caused by a nearby object or material, such as a finger, water, or moisture in soil. It is used for touch buttons, proximity detection, and liquid or moisture-level sensing, and it matters because it can work without exposed metal contacts, avoiding the corrosion that bare probes suffer in damp conditions.
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.
I2C
I2C is a two-wire communication bus used by many sensors and small modules. It matters because several I2C devices can share the same two wires, but each device needs a compatible address and your controller must support I2C.
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.
microcontroller
A microcontroller is a small computer on a single chip that runs a stored program and controls connected inputs and outputs such as buttons, sensors, displays and communication interfaces. In a device built around one, it is the part that executes the code and coordinates the device's behaviour.
PCB
A printed circuit board (PCB) is a board, usually rigid, with etched copper tracks that connect electronic components together without loose wiring. Components are mounted on the board and signals route between them through the copper layout.
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 (random-access memory) is fast, temporary memory a device uses for working data while it is running; in its common volatile form, its contents are lost when power is removed. Some devices offer a mode that applies settings to RAM only, which is handy for testing changes temporarily because they are not stored permanently and disappear at power-off.
SMD
SMD means surface-mount device, a component style designed to be soldered directly onto the surface of a circuit board rather than through holes. SMD parts are compact and mounted flat on the board, which suits smaller and mass-produced designs.
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.
UART
UART is a simple asynchronous serial interface that sends data over separate transmit and receive wires, usually labelled TX and RX, with both ends set to the same baud rate. It is a common way for microcontrollers and other serial devices to exchange data.

Related Tutorials

Free guides on learn.littlebird.com.au

Stella
Stella Expert

Ask me anything about this product

Maddy, co-founder of Little Bird

Need help? We're here for you!

Hi, I'm Maddy. My team and I are ready to help with your order or any questions.