Pimoroni
Puck.js
A Smart Bluetooth Button that can be programmed wirelessly, in JavaScript! Puck.js is an intelligent Bluetooth button. With the Espruino JavaScript interp...
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, 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.
- 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 chip that runs your program and controls connected inputs and outputs. For this product, it is the part that reads buttons and sensors, drives the display and speaker, and communicates over Bluetooth.
- 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.
- 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 serial connection that sends data over separate transmit and receive wires, often labelled TX and RX. It matters because this module is designed to replace a wired UART cable with a wireless link while keeping the same serial data format.
Find this product in
Components
Related Tutorials
Free guides on learn.littlebird.com.au