Backtrack to the Bike Rack: a Foray into the Internet of Things

What do you get when you combine biking, IoT, ubiquitous computing, and hardware? A smart bike rack!

There’s been a lot of talk recently about self-driving cars, and cars are now integrating with other devices (like smartphones) in a telltale sign that ubiquitous computing and IoT are on their way. But what if we applied some of the ideas behind IoT and ubiquitous computing to a much older form of transportation?

Bikes are in. They’re hip. Biking is healthy, fun, and it’s better for the environment. Large companies everywhere are offering incentives to employees for biking, carpooling, or taking public transportation to and from work. Here at the Viget office in Boulder, we’re in the habit of biking to work (and doing morning mountain bike rides!) during the summer.

Our dev intern, Tomal, loves riding to work everyday! Nothing will stop him — not even “Dismount Zone” signs!

My personal interest in biking, IoT, experience design, hardware, and workplace culture converged on a side project that I worked on during my summer internship under the mentorship of a full time Viget. The idea was to make a smart bike rack that could track data on the number of employees biking to work each day, and to use that data to offer employees incentives to engage in this eco-friendly and healthy way of commuting. Here’s what we built:

Background

Aside from a small Arduino project I’d done, this was an area that I had no experience in. I had taken a couple introductory computer science classes, but turning our office’s vertical bike rack into an internet-connected device and collecting data from it would certainly require some guidance. Viget’s hardware expertise, combined with their IoT equipment and hardware set up (with tools like soldering irons, protoboards, and other basic supplies I would use), helped me along the way.

Building It

Sensors. The first step was to create a sensor that could detect when a bike was placed on the rack. To do this, we created pressure sensors made of two wires and a semi-conductive material in between. Whenever pressure was applied, there was a measurable change in conductivity. We ran through several iterations of sensor prototypes to test how to create a large and reliable change in conductivity, as well as to test the optimal placement for installment on the bike rack.

The homemade blue pressure sensor detects whenever a bike is hung on the rack.

Firmware. Time to dust off the old coding cap and put those intro computer science classes to use! Next up was writing the code that would take input from the sensors and turn it into the data we wanted to collect. This just meant tracking each time a bike was placed on a rack and publishing that information to the web. We used a Particle Photon to run the code and handle all the networking.

Installation. After we had tested that everything was working, we transitioned from the breadboards we had been using to a protoboard which consolidated all of our necessary connections. We took it, the sensors, a coil of wires, solder, a whole lot of tape, and after some soldering we had retrofitted the bike rack into an internet-connected device!

The Photon mounted on the wall sends an event to Particle every time someone rides to work. Not visible: A BUNCH of resistors neatly arranged on the back of the protoboard.

Collecting Data. In order to put the data into a format that could be stored and manipulated, we used Ifttt so that whenever an event was published on Particle (whenever someone put their bike on the rack), it would add a new row with the data to a spreadsheet in Google Drive. I’m currently working on turning the raw data collected in the spreadsheet into more informative visualizations.

While we may have never gotten around to offering any kind of employee incentives for biking to work, the process of creating the bike rack taught me a lot about Particle, Ifttt, and hardware in general. It showed me firsthand how easy it is to start your own IoT project, and I encourage you to do your own!