
It hosts a Nordic Semiconductor nRF52832 SoC, ARM Cortex-M4F processor, 64 MHz clock speed, 64 kB of RAM and 512 kB of Flash, built-in Near-Field Comms (NFC), Over-the-Air firmware updates, 12-bit ADC, timers, SPI, I²C, 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 colour light.
"JavaScript is probably the most popular programming language at the moment and the majority of web developers, makers, and students at school wouldn't usually have used C or C++," Williams continues. "So what I aimed to do with Puck.js was lower the barrier-to-entry and make development easier and more fun - allowing a whole bunch of people to use Bluetooth low energy beacon and IoT technologies that may otherwise be restricted to professional embedded developers."
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 or 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."