New Hardware, Embedded Javascript, and Developer Friendly Updates: ng-beacon Levels Up!

More Power, More Angular, More ng-beacon!

As I alluded to in the announcement post, I have always had high ambitions for the ultimate capabilities of ng-beacon, such as runing JavaScript directly on their CPU and being able to update the beacon’s firmware “over the air” directly using Bluetooth, without having to connect any wires or to use any external hardware.

Better, faster, stronger…introducing the new ng-beacon!

New Hardware

I’ve upgraded from using the nRF51822 module to the nRF52832 module for ng-beacon! What does this mean, you ask?

Video-editing credit goes to my wonderful girlfriend :)

ng-beacon and JS: a Match Made in Heaven

If you watch my ngVikings talk, I mentioned that the beacons I showed off ran JavaScript. They were early prototypes of what is now is a reality: ng-beacons are now “full stack” JavaScript!

New Management App, Written With Angular + Web Bluetooth

I’ve also created a new ng-beacon management app using the latest from Angular 4, angular-material, and angular-web-bluetooth:

The ng-beacon app in action!

A Better Bootloader

As mentioned in the initial post, if you wanted to update the firmware of the ng-beacon, you needed an extra piece of hardware, called J-Link programmer, or a Raspberry Pi:

Using a Raspberry Pi to update the ng-beacon firmware
Web Bluetooth DFU in action. Excuse the style-less UI :-)

Battery Life

The original prototype could live on a CR2032 battery for about 5 hours. Cool for a demo, but not very useful for a beacon that you may want to set and forget. Following a few improvement to the software, we can now achieve several months of operation without changing the battery — depending on the actual usage pattern. For now, we have a beacon running for 25 days already, and the battery is still about 2.8 volts strong.

Some Example Use Cases

Now that we’re cooking with gas (or rather, Javascript), what can we do with it?

Some (More) Example Use Cases from the Community

In my initial post, I included a link to a survey for the community to provide input into the project. In addition to everyone confirming they’d like to be able to program the beacons, they came up with some creative use cases, too:

  • “Living room or basement temperature and humidity sensor”
  • “Proximity beacon finder from a drone”
  • “BLE packet exchanges with IoT devices using web bluetooth for security” (I am not sure what this even means…)
  • “Probably a simple “Who’s near me” app. People could program a special message to have the beacon broadcast, along with (optionally) their name.”

ng-beacon Prototyping Area

Yes, ng-beacon now has a prototyping area! As with, well, some things, it all started with a tweet…

ng-beacon version: prototyper

PSA: ng-beacon Will Be Coming to ng-conf!

As you may know, ng-conf, the official Angular conference, is going on in Salt Lake City this week.

Supporting Espruino & Chance to win an ng-beacon

Finally, a word of thanks, and a request for support.

Google Developer Expert for Web Technologies, Maker and Public Speaker

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store