Miista Polar Cadence Controller

Shoe designer Miista opened a pop-up shop in Hackney, London. For the launch I built an installation called the Cadence Video Player. The idea put forward by agency WeWillRaakYou was to show recorded footage from a head cam cycling through London. Inside the shop, a bike will control the video playback speed projected on a wall.

So I started to do some research and found a few options for measuring cadence which is essentially the revolutions of the crank on a bicycle. My thinking was if the sensor will produce revolution per minute data I would be able to convert this to a video playback rate. Next step was to find an open sensor that will allow me to interface and retrieve this data. Most sensors I found online were relatively open but after digging for libraries to interface with a cadence sensor, I found that I was actually looking for a sensor which implemented the Bluetooth Low Energy (BLE) standard. The NodeJS bluetooth lib was strictly following the open BLE standard so my sensor must do the same. Enter the Polar Bluetooth Smart Cadence sensor. Relatively cheap compared to other biking sensors I was impressed to see most Polar devices either had an API or implemented the standard BLE protocol. The video above shows the first successful bluetooth capture from the NodeJS server application.

For video playback there were a few options. Roll my own custom OpenFrameworks app or find something that exists already. I decided to give HTML5 video a test. It was an attractive solution as I already had a server application and could just build a player endpoint to handle the playback. HTML5 video has a playback rate property which is exactly what I was looking for. It became apparent after some tests that the player is not so much the problem but rather the encoding of the video. Video encoding required some tweaks to make sure seeking operates better than usual. This increases file size but since I was running everything from a local server, size was not so much an issue. In the end the video was around 15GB which is quite large but the Chrome browser handled it beautifully.

I should mention that I am based in Cape Town and packaged everything with a Intel NUC i3 mini pc. This was shipped to London and installed by the client in the shop from the instructions added to the server application.

All in all this project went down a treat. The video had a total running time of 1 hr 15 mins and the video was played through 5 times. That means there was always someone on the bike for the duration of the launch event. It was a really cool project to work on and my first exposure to BLE technology.