{"product_id":"puck-js-v2","title":"Puck.js v2","description":"\u003cp\u003eThe ground-breaking bluetooth beacon - An Open Source JavaScript microcontroller you can program and debug wirelessly.\u003c\/p\u003e\n\u003cp\u003ePuck.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.\u003c\/p\u003e\n\u003cp\u003eThis is version 2 of the popular Puck.js - with added accelerometer, gyro, FET, calibrated temperature sensor and improved Bluetooth signal strength!\u003c\/p\u003e\n\u003ch2\u003eWeb Bluetooth\u003c\/h2\u003e\n\u003cp\u003eControl Puck.js from all major platforms using standard HTML and JavaScript. There's even an easy to use library to get you started.\u003c\/p\u003e\n\u003cp\u003e\u003ca href=\"http:\/\/www.espruino.com\/Puck.js+Web+Bluetooth\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eExample\u003c\/a\u003e\u003c\/p\u003e\n\u003ch2\u003eNo phone or hub needed\u003c\/h2\u003e\n\u003cp\u003ePuck.js is entirely autonomous. Press a button and it'll control other Bluetooth or Infrared devices within range, without the need for a phone app or hub\u003c\/p\u003e\n\u003cp\u003e\u003ca href=\"http:\/\/www.espruino.com\/Puck.js+Door+Light\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eExample\u003c\/a\u003e\u003c\/p\u003e\n\u003ch2\u003eLots of IO\u003c\/h2\u003e\n\u003cp\u003eButton, Magnetometer, IR \u0026amp; RGB LEDs, Temperature and light sensor, and a programmable NFC tag - Puck.js has everything you need out of the box!\u003c\/p\u003e\n\u003cp\u003e17 IO pins are 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!\u003c\/p\u003e\n\u003cp\u003e\u003ca href=\"http:\/\/www.espruino.com\/Puck.js#pinout\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eCheck it out!\u003c\/a\u003e\u003c\/p\u003e\n\u003ch2\u003eHuman Interface Device\u003c\/h2\u003e\n\u003cp\u003ePuck.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!\u003c\/p\u003e\n\u003cp\u003e\u003ca href=\"http:\/\/www.espruino.com\/Puck.js+Keyboard\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eExample\u003c\/a\u003e\u003c\/p\u003e\n\u003ch2\u003eInfinitely customisable\u003c\/h2\u003e\n\u003cp\u003eUnlike 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.\u003c\/p\u003e\n\u003cp\u003eBut 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!\u003c\/p\u003e\n\u003ch2\u003eProven Software\u003c\/h2\u003e\n\u003cp\u003ePuck.js uses the \u003ca href=\"http:\/\/www.espruino.com\/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eEspruino\u003c\/a\u003e JavaScript Interpeter - now installed on tens of thousands of devices, with thousands of users.\u003c\/p\u003e\n\u003cp\u003eWith a common API between devices, you can move your project over to other Espruino platforms (like \u003ca href=\"\/en-eu\/products\/espruino-wifi\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eWiFi\u003c\/a\u003e) with minimal effort!\u003c\/p\u003e\n\u003ch2\u003eWeb IDE\u003c\/h2\u003e\n\u003cp\u003eWith Web Bluetooth you can start programming straight out of the box - no wires or software required!\u003c\/p\u003e\n\u003cp\u003e\u003ca href=\"https:\/\/www.espruino.com\/ide\/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eTry it out\u003c\/a\u003e\u003c\/p\u003e\n\u003ch2\u003eOpen Source\u003c\/h2\u003e\n\u003cp\u003ePuck.js's is Open Source (software and hardware), so it's easy for you to tweak its functionality or see how it works.\u003c\/p\u003e\n\u003cp\u003e\u003ca href=\"http:\/\/github.com\/espruino\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eFollow on GitHub\u003c\/a\u003e\u003c\/p\u003e\n\u003ch2\u003eUnique Hardware\u003c\/h2\u003e\n\u003cp\u003ePuck.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.\u003c\/p\u003e\n\u003cp\u003eAnd it does all this with a year-long battery life on a common CR2032 battery that costs $0.20!\u003c\/p\u003e\n\u003cp\u003e\u003ca href=\"http:\/\/www.espruino.com\/Puck.js\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eMore Information\u003c\/a\u003e\u003c\/p\u003e\n\u003ch2\u003eFeatures\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBluetooth Low Energy\u003c\/li\u003e\n\u003cli\u003eEspruino JavaScript interpreter pre-installed\u003c\/li\u003e\n\u003cli\u003enRF52832 SoC - 64MHz ARM Cortex M4, 64kB RAM, 512kB Flash\u003c\/li\u003e\n\u003cli\u003eABS plastic rear case with lanyard mount\u003c\/li\u003e\n\u003cli\u003eSilicone cover with tactile button\u003c\/li\u003e\n\u003cli\u003eIR Transmitter\u003c\/li\u003e\n\u003cli\u003eBuilt in thermometer, light and battery level sensors\u003c\/li\u003e\n\u003cli\u003eRed, Green and Blue LEDs\u003c\/li\u003e\n\u003cli\u003eNFC tag programmable from JavaScript\u003c\/li\u003e\n\u003cli\u003ePin capable of capacitive sensing\u003c\/li\u003e\n\u003cli\u003eWeight: 14g in plastic case, 20g in packaging\u003c\/li\u003e\n\u003cli\u003eDimensions of cardboard box: 64mm x 62mm x 16mm\u003c\/li\u003e\n\u003cli\u003eDimensions of plastic case: 36mm dia, 12.5mm thick\u003c\/li\u003e\n\u003cli\u003eDimensions of bare PCB: 29mm dia, 9mm thick\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eFeatures\u003c\/th\u003e\n\u003cth\u003ePuck.js v2\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e0.1\" GPIO\u003c\/td\u003e\n\u003ctd\u003e7\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSMD GPIO\u003c\/td\u003e\n\u003ctd\u003e2\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMagnetometer\u003c\/td\u003e\n\u003ctd\u003eLIS3MDLTR\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAccelerometer\u003c\/td\u003e\n\u003ctd\u003eLSM6DS3TR-C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGyro\u003c\/td\u003e\n\u003ctd\u003eLSM6DS3TR-C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTemperature Sensor\u003c\/td\u003e\n\u003ctd\u003ePCT2075TP (calibrated)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMOSFET Output\u003c\/td\u003e\n\u003ctd\u003e1x\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e","brand":"Espruino","offers":[{"title":"Default Title","offer_id":31849702096979,"sku":"ESPRUINO_PUCKJS_V2","price":35.95,"currency_code":"EUR","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0174\/1800\/products\/Puck.jpg?v=1606462846","url":"https:\/\/shop.pimoroni.com\/en-eu\/products\/puck-js-v2","provider":"Pimoroni Ltd","version":"1.0","type":"link"}