Friday, 21 December 2018

AmsterdamJS Meetup

AmsterdamJS is a popular meetup for web developers, held regularly in.... you guessed it... Amsterdam. I was a speaker there on 6th December and gave a talk on Web Bluetooth with a little bit of Bluetooth mesh thrown in.

I *tried* to do a number of live demos... with mixed results! I was reliant on the event's very flaky Wi-Fi / internet connection, which unfortunately gave out on me and prevented me from showing my Bitty Software controller demo. I also got hit by a loose battery connection which stopped my first mesh demo working at the first attempt (and nearly gave me a heart attack!). After fiddling with the battery connector, it worked though. In fact the mesh demo worked mostly very well despite having traveled in the hold of the plane and having been very much bumped around. Anyway... here it is.

Saturday, 10 November 2018

Embedded Linux Conference

A couple of weeks ago, I was a speaker at the Embedded Linux Conference in Edinburgh. This is an *excellent* event... if you're into that kind of thing. Which I am.

I spoke about Bluetooth mesh and included a live demo of a "thing" I made and have been tinkering with for a while. As demos go... it's not bad but I still need to find the time to finish testing and implementing a few optimisations. Geting there though.

The demo is a 8 x 8 grid of BBC micro:bits, all running the Zephyr OS and with the Bluetooth mesh generic onoff server and generic level server models implemented (by me) on each. I control the grid, or specific parts of it, identified by the various group addresses I used, from another micro:bit acting as a generic onoff client and from a Web Bluetooth application via an nRF52 which is acting as a Bluetooth mesh proxy node.

Anyway. Enjoy the talk!

Thursday, 23 August 2018

Bluetooth mesh developer workshop

Last night, on August 22nd 2018, I ran a Bluetooth mesh developer workshop, hosted by Skills Matter in London.

In truth, this was a pilot for when I run the same or a similar session at Bluetooth World in Santa Clara, in a few weeks time. I told the attendees they were guinea pigs in my evil experiment and happily, they were a good bunch with no particular problem with being likened to rodents.

Each attendee was given a free BBC micro:bit. This may have helped.

I ran through some basic theory to give each person the required foundational knowledge, focusing on "the essentials" from what is after all, a fairly big topic. I then illustrated some of the concepts with a live demonstration, involving a 66 node Bluetooth mesh network. It consisted of 64 BBC micro:bits, a nRF52 DK acting as a mesh proxy node and my laptop running a web application and using the Web Bluetooth APIs to communicate with the proxy and through it, the rest of the network. I'm happy to say it worked rather well, too!

After that, we turned our attention to the question of how firmware for Bluetooth mesh devices might be developed. I used the Zephyr RTOS as an example SDK which supports Bluetooth mesh and the class worked in teams towards having one micro:bit acting as a light switch, running the mesh generic onoff client model and another micro:bit acting as a node (maybe a light) which can be switched on or off through running the generic onoff server model.


I'd hoped we could get more coding done but my estimates of timing turned out to be a bit on the "optimistic" side. The positive side of this was that I had a great collection of people who asked question after question during the theory part, which I was really happy about.

The slides I used (with a few tweaks since yesterday) are here

A video of the entire workshop is here

Another which may be of interest:

Bluetooth mesh for Android developers

The official Bluetooth SIG web site has some great resources including presentation recordings but the one that budding mesh developers should download is the Bluetooth Mesh Study Guide which provides extensive hands on experience through a series of tutorials based around the Zephyr SDK.

A big thank you to my very nice guinea pigs and to Skills Matter for hosting!

Wednesday, 18 July 2018

Fullstack and Fullstack2gether

Last week I presented at the 3 day developer conference, Fullstack by Skills Matter in London. My topic was Web Bluetooth. The session was very well attended and my live demos worked. What more could you want?!

On the following Saturday, I also ran a Web Bluetooth coding workshop at the Skills Matter offices, which was great fun.

My Web Bluetooth presentation is available for download here. People wanting some hands on experience, should download the Web Bluetooth Tutorial from This is essentially what we did in the coding workshop. Enjoy!

Skillsmatter also video recorded the session. You need to register at their site to view it. Here's the link:

Wednesday, 27 June 2018

IoT Tech Expo, Amsterdam

Today, I presented at IoT Tech Expo in Amsterdam, in the Connected Industry track. My topic as usual was Bluetooth mesh in smart buildings. The session was really well attended and followed by a panel discussion I participated in, on "smart structures".

The slides from my presentation are available for download from here.

Thursday, 19 April 2018

Droidcon Italy 2018

I presented at Droidcon Italy today, the 3rd time in 4 years that I've been a speaker at the event. It was in a swanky new venue this year, very cool and very large.

Last year I focused on beacons. This year it was all about Bluetooth mesh and the opportunity that smartphone developers now have to create monitoring and control applications for smart buildings, smart industry and more.

Download the presentation slides (plus some a few extra I didn't have time to cover) from here.

Friday, 23 March 2018

RenderConf and Web Bluetooth

Today I had the pleasure to be a speaker at RenderConf in London. I can't tell you how impressed I was with this event. Professional, friendly and accessible (the first event I've ever seen do live captioning). And every speaker I saw, which was most of them were great speakers and evident experts in their field. Brilliant.

And.... this was the first web developer event I'd ever been to, never mind spoken at. The topic of my presentation was Web Bluetooth. I believe it should be a W3C standard. I see immense opportunities in creating web applications for monitoring and controlling smart buildings, industrial processes and IoT in general. The remote delivery of health care, incorporating the Bluetooth medical devices the patient has, is another obvious way this technology could deliver substantial value.

My talk introduced Web Bluetooth, how Bluetooth is being adopted more widely for enterprise applications and how in the enterprise world, the browser is the application platform. From this we must surely conclude that the browser needs Bluetooth. QED :-)

I did two live demos. Web browser versions of my Bitty Data Logger and Bitty Controller applications and they both worked a treat. I knew they would of course. I wasn't nervous. Oh no. Not a bit :-)

You can download my slides from here.


And thank you, thank you, thank you to RenderConf!

Friday, 5 January 2018

Bitty Data Logger 3.2.0 - Formula Management

Bitty Data Logger allows expressions or formulae to be specified and applied at run time to data values sampled from the micro:bits connected pins. Analog pin values are always in the range 0-1023, regardless of what is connected to the pin and so a pin formula allows values to be transformed to something more meaningful like a Celsius temperature value. Version 3.2.0 adds a Formula Management screen so that lists of named formulae may be maintained and selected for use via the Settings screen. This makes use and reuse of formulae for different experiments and other activities, much easier.