Open source BLE beacon is simple to program & debug

Posted By : Nat Bowers
Open source BLE beacon is simple to program & debug

Entering its last week on Kickstarter for delivery in December (campaign ends Friday 5th August at 8pm GMT) the $30 Puck.js has all the required programing and debug software tools built-in and runs from a single Nordic Semiconductor nRF52832 BLE SoC with built-in ARM Cortex M4F processor.

The Puck.js is said to be so simple to program almost anyone can do it wirelessly from a website using a graphical editor or easy-to-learn JavaScript instead of C or C++ traditionally used by BLE beacon developers.

Gordon Williams, UK-based Puck.js creator, commented: "Most manufacturers conveniently gloss over the difficulties of programming their hardware, and other beacons are provided without software or left crippled by their boring factory-installed firmware. Puck.js is different. It comes with our Open Source JavaScript interpreter 'Espruino' pre-installed, which makes it incredibly easy-to-use and means you can get started in just seconds, without any prior programming experience."

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 NFC, OTA 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 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++. 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 BLE beacon and IoT technologies that may otherwise be restricted to professional embedded developers," added Williams.

Williams said 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 BLE beacon straight-out-the-box with no wires of software required. At the same time it's very easy to add new functions and features for home automation projects, IoT prototyping or education purposes."


You must be logged in to comment

Write a comment

No comments

Sign up to view our publications

Sign up

Sign up to view our downloads

Sign up

European Microwave Week 2019
29th September 2019
France Porte De Versailles Paris
Connected World Summit 2019
22nd October 2019
United Kingdom The Business Design Centre, London
IoT Solutions World Congress 2019
29th October 2019
Spain Barcelona