The intentionally hacker-friendly Puck.js is open source, supports both the iBeacon and Eddystone beacon formats, and will be supplied with firmware updates for the forthcoming Bluetooth v5.0 specification that will quadruple the range and double the speed of Bluetooth v4.2. Puck.js has a circular 35mm diameter form-factor that is 10mm thick, with a silicone rubber cover and plastic base. It is powered from a CR2032 coin cell battery and includes a magnetometer (digital compass), user-assignable tactile button, and four (Red, Green, Blue, and Infrared) LEDs.
Thanks to the Nordic Semiconductor nRF52832 SoC, the Puck.js benefits from an extremely powerful ARM® Cortex-M4F processor, 64MHz clock speed, an extremely generous 64kB of RAM and 512kB of Flash, built-in Near-Field Comms (NFC™), Over-the-Air firmware updates, 12-bit ADC, timers, SPI, I2C, and serial interfaces that can be used on any available pins, plus a temperature sensor.
Williams says that in summary this means the Puck.js can measure rotation (e.g. using the Puck as a control knob), light, temperature, magnetic fields (e.g. magnets used on doors to detect opening and closing or water level via a magnet on a float), can control Infrared devices, and produce any color light.
Williams says Puck.js is like a development kit that's also a finished product. "You insert a battery, put the case on, and it's a ready-to-go Bluetooth low energy beacon straight-out-the-box with no wires of software required," he adds. "At the same time it's very easy to add new functions and features for home automation projects, IoT prototyping, or education purposes."