RIoT Brick

By Rosemary Hattersley. Posted

Members of his local running club are no longer fazed when ultra-runner Alan Peaty cruises past with an unidentified extra item or three attached to his person. While some fitness fans go for the ultra-sleek look to minimise air resistance and extra weight, Alan regularly takes the opposite approach and brings a little something extra along on his treks on the Cotswold Way.

Cloud computer engineer Alan regularly blogs about his Internet of Things inventions and has previously graced these pages with his Countdown-playing robot. “Building intrepid devices I can take along with me outdoors is the perfect way for me to combine my interests in one fell swoop,” he says. “I have been known to go running with 3D-printed devices attached to my legs (although understandably only at night) to gather data on my leg movement.”

Last September, Alan put his movement-sensing project to the test in a gruelling endurance race across the Brecon Beacons in Wales. He created the ‘RIoT Brick’ (Rosie Internet of Things Brick) so his family – some as far away as Australia – could remotely track his progress. Hooking himself up in this way also enabled Alan to monitor basic environmental conditions during what would be “a very, very long day!”

The Brecon Beacons, where Alan tested his project to track his progress during a gruelling running race

RIoT Brick fast facts

  • The rugged antenna helps the RIoT Brick communicate with other transceivers (maintaining a signal and internet connectivity proved tricky for this project)

  • The LCD can be used to provide GPS co‑ordinates, but was switched off to preserve battery power during the 10 Peaks Challenge. Those following Alan’s progress via the web still got detailed data!

  • The RIoT Brick project cost less than £50 all-in

  • Remote tracker data exchange was a particular challenge

  • There was no way to check whether the transceiver was faulty

  • It didn’t matter because before the race began… the aerial broke off in Alan’s car boot

The RIoT Brick is a Raspberry Pi Zero-based sensing station housed in a crudely 3D-printed box. Alan cheerfully explains that he prefers to adapt existing code and hardware, and tries to stay well away from designing and printing ‘stuff’ for his projects. In this instance, the Brick case was needed to protect the Raspberry Pi Zero and sensing modules from many miles of jostling on his 58-mile run across ten peaks.

The rig securely attached to Alan’s ultra-running backpack

The box houses a nRF24L01+ transceiver and u-blox NEO-6 GPS receiver, along with BME280 temperature/pressure/humidity and BH1750 light sensors. Alan credits the Raspberry Pi and Linux community for the ease with which he was able to get these devices up and running. “I chose a Raspberry Pi Zero as the central component as I needed a flexible Linux platform that was sufficiently powerful to run multiple applications concurrently,” he says.

The abundance of community-developed open-source libraries available for the modules and sensors he planned to connect to it was another big draw. He made use of an SQLite database and Python SDK Amazon Web Services. “IoT Core, IoT Events, DynamoDB, S3, Cognito, Simple Email Service, Lambda, and Elasticsearch Service are used to collect, process, and present this information back to my supposedly interested family members”, he explains.

Data from four sensors in the RIoT Brick captured details of Alan’s 10 Peaks race

Bricks and pieces

“During the event itself, there were several onlookers understandably baffled by the strange bright device attached to the side of my backpack,” says Alan. “A small number were even brave enough to ask! The reaction on Twitter has also been great, and I was able to raise a few pounds for Alzheimer’s Research UK as well.”

Full instructions for RIoT can be found on GitHub.

Create a RIoT

Step 1. Connect your Raspberry Pi Zero to an nRF24L01+ transceiver. This will receive the data from the other sensors. You also need a u-blox NEO-6 GPS receiver to obtain GPS readings.

Step 2. Temperature, pressure, humidity, and light readings are provided by BME280 and BH1750 sensors. Data from all the sensors and transceivers is stored locally in an SQLite database on Raspberry Pi Zero. Step 3. This useful schematic shows the data flow and how to assemble the RIoT Brick.


https://www.twitter.com/rosiehattersley

Subscribe