I bike to work every day, and want a way to track my speed and elevation change over the course of my ride. That's why I made the Bike Buddy, my own bicycle computer. It's controlled by the Intel Edison board and uses the Adafruit Ultimate GPS to track my speed and elevation. The data is collected by the Intel Edison board and pushed every few minutes to Intel's online "Internet of Things" Analytics Dashboard. I can look at my progress at work or home by going online and logging into my Intel Dashboard account. The bike bag itself is custom-designed and made from durable, waterproof material. It snaps onto the top of your bike frame and stays out of your way while you ride.
To make this project, you'll need:
- (x1) Intel Edison with Mini Breakout Board, Adafruit 2111
- (x1) Adafruit Ultimate GPS, Adafruit 746
- (x1) WiFi Hotsspot Verizon Jetpack
- (x1) RioRand LM2596 DC-DC buck converter, Amazon
- (x1) Kingmax 1000 mAh lipo battery, Sparkfun 11855
- (x1) 1/8" free hanging audio jack
- (x1) 1/8" audio barrel connector mono
- (x1) toggle switch
- 0.1' spaced male-male header pins
- Various single strand and braided wire
- (x1) Dual Mini Protoboard, RadioShack 2760148
To make the bag, you'll need:
Step 1: Make the Power Board
Snap the dual mini protoboard in half to make one 1.75"x1.75" protoboard. Solder the LM2596 DC-DC buck converter to the center of the board. Solder 1x3 male header pins to the bottom left corner of the board, and use a pair of pliers to bend the pins so they are parallel to the board's surface. The pin closest to the edge of the board will be the power pin, the middle pin will not be used, and the other end pin will be ground. Solder wires from the power pin to the +IN pin on the buck converter, and the ground pin to the -IN pin on the buck converter. See the circuit diagram included here for details.
Next, cut four 6" strands of braided wire. Solder the wires to both leads on the toggle switch and the audio barrel connector. For the audio connector, the wires must be soldered to leads that are physically isolated from each other. Check before soldering with a multimeter on the diode setting. If the leads are isolated, the multimeter will read "0L". Protect all soldered connections with heat shrink tubing.
Solder one end of the switch to the OUT+ pin on the buck converter, and the other end to the audio jack. Solder the remaining audio connector wire to ground. Plug the battery into the header pins such that the battery's red wire is closest to the edge of the board.
Finally, with the battery plugged in, turn the trim pot on the buck converter until OUT+ provides exactly 7V. This is the minimum amount of voltage required to run the Edison using WiFi.
Step 2: Modify the Edison Mini Breakout
Add header pins to the Edison board. Break the header strip into four 14-pin segments and push them side by side into a breadboard. Make sure the pins' short ends are pointing up. Place the mini breakout board onto the header pins such that the micro usb ports are on top. The breakout should sit level on the pins. I also recommend removing the Edison chip from the breakout board before soldering to avoid heat damage. Carefully solder each pin to each hole on the breakout board with a soldering iron. When finished, reconnect the Edison to the breakout board. Be careful when reconnecting the 70 pin connector, since it is fragile and easily damaged.
Locate +/- J-21 pins on the Edison board. They are pair of header pins located in the bottom right-hand corner on the top side of the breakout board. The pin closest to the edge of the board is GND, and the next pin in is Vin. As described in Section 2.1 of the Intel Edison Mini Breakout Hardware Guide, J21 is the board's main power input, and accepts 7 to 15 VDC. Use a pair of pliers to bend these pins at a right angle, so they are parallel to the surface of the board.
Next, cut two 6" pieces of stranded wire and solder them to the leads on a 1/8" audio jack. Make sure the leads are isolated from each other by following the same procedure described in the previous step. Protect the connections by covering with shrink tube. If you are using a mono switch, the large outer tab is ground, and either of the smaller inter tabs are power.
Solder the opposite ends of the wires to the +/- J-21 pins on the Edison board. Make sure the ground wire on the audio jack goes to the ground pin on mini breakout board. The same goes for the power wire.
Step 3: Make the Navigation Board
Solder Adafruit's Ultimate GPS Breakout to piece of header. Like our jig before, push the header pins into a breadboard (long side down) and place the GPS onto top. Make sure that the GPS is level by wedging a piece of paper into its opposite end. Solder the GPS to the header pins. Finally, solder the GPS with pins to the remaining mini protoboard.
Next, push the Edison breakout into the protoboard. Instead of soldering all of its 56 pins into the protoboard, solder only the corner pins. Also solder wires between the following connections:
GPS Edison Edison Pin Description
Vin J20- pin 2 System 3.3V Output
GND J19- pin 3 GND
Rx J20- pin 4 GP45
Tx J20- pin 5 GP47
Review Sections 2.1 and 2.2 of the Edison Mini Breakout Hardware Documentation included here for more information about its pin layout and numbering.
Adafruit's documentation says that the GPS requires +5 VDC on the Vin pin. However, I found that 3.3V also works.
Step 4: WiFi Hotspot
If you do not have one already, purchase a WiFi hotspot and a monthly plan. I am using a Verizon 4G JetPack. The hotspot will enable your Edison board to upload data to the internet no matter where you are.
Step 5: Program the Navigation Board
Walk through my Intel IoT Analytics Dashboard guide to setup your Intel Analytics Dashboard account, to prep your Edison board to communicate with the cloud, and to control your board through Intel's Arduino-like GUI.
When you have successfully gone through the guide, download adafruit's gps code and intel's iot code.
Step 6: Make the Bike Bag: Cut the Fabric
Cut the following pieces out of parchment paper
- Back Panel: 13" x 10 5/8"
- Pockets: 4" x 6"
- Straps: 10" x 2"
You will need to cut 2 back panel pieces, 6 pocket pieces, and 4 strap pieces out of Cordura. The best way to make sure all your pieces are the same size is to pin the parchment patterns to the Cordura and cut around the patterns. Use a jagged scissors to decrease fraying.
Step 7: Sew the Backing
The backing is made of two large pieces of Cordura sewn together and dictates the size and shape of the Bike Buddy. The backing has snaps to easily attach pockets, and folds over itself to hide stray wires and electric connections. Follow the patterns here to make the backing. I divided the patterns into "Front Panel" and "Back Panel". The patterns are color coded, where:
- Black = cut
- Red = sew panels together
- Blue = sew after panels are together
- Green = fold
- Grey = velcro or button
Cut a 13" x 10 5/8" piece of parchment paper. Fold a piece of Cordura in half and pin the paper to the top and bottom sides. Cut around the paper with pinking shears. You now have two 13" x 10 5/8" pieces of Cordura. Follow the next steps to complete the backing.
Step 8: Backing: Front and Back Panels
Cut a 11" piece of 5/8" loop velcro. Peel the sticky backing off the velcro and stick it to one piece of Cordura. This is now the "outside" side of your front panel. The velcro's sticky backing isn't very strong, so sew a straight line through it. Next, hand sew six bottom snaps onto the Cordura as shown in the front panel pattern. The snap bottom is the thicker of the two snap pieces. Review the "How to Sew on a Snap" PDF included here to learn how to sew these snaps onto your panels.
The remaining 13" x 10 5/8" piece of Cordura is your back panel. You won't be modifying it yet.
Step 9: Backing: Sew the Panels Together
Take the two panels and place them flat onto of each other such that the front panel's velcro side is facing down towards the back panel. This might sound counter intuitive, but don't worry! It will make sense soon. Pin around the entire perimeter of the two panels to secure them together, save for a small 2" section. Pinning the panels together will keep them from slipping out of alignment while sewing. Sew the panels together as indicated by the red line in the patterns. You now have something that looks like a pouch with a 2" open section. Push the pouch side opposite to the opening through the opening to turn the pocket inside-out. When finished, the velcro should be facing outward. The corners will still be bunched with fabric, so push them out with a knitting needle or pencil, and iron them down to keep them flat. Finally, sew the opening closed.
Step 10: Backing: Sew the Crease
Sew a line across the bag as indicated by the blue line in the panel patterns. You can do this before or after you sew your panels together. The velcro flap this crease makes will eventually fold over electrical wiring.
Step 11: Backing: Sew Slits
Use an X-Acto knife to cut slits through both sides of the backing, as shown in the panel patterns. Sew a box around each slit to close the panels. You will eventually insert the bag's straps into these slits.
Step 12: Sew a Pocket
Follow the two patterns included here to make a pocket. You will repeat this three times to make three pockets, which will individually hold the power board, navigation board, and WiFi hotspot. I divided the patterns into "Front Panel" and "Back Panel". The front pocket panel is the side that faces outward, and the back panel faces inward toward the backing. Both the front and back panels have "outside" and "inside" views. The inside view is the side of the panel that will face inwards to create a cavity. My patterns are also color coded where:
- Black = cut
- Red = sew
- Green = fold
- Grey = velcro or button
To make a pocket, first cut out 4.0" x 6.0" piece of parchment paper. Fold a piece of Cordura in half and pin the paper to both folds. Cut around the paper with pinking shears. You now have two 4.0" x 6.0" pieces of Cordura. Prepare both panels as described below before sewing them together.
Step 13: Pocket: Front Panel
Pick one of the pieces to be your front panel. Cut a 3" piece of 5/8" hook velcro and place it onto the Cordura as shown in the "Front Panel" pattern. This is now the "outside" side of your front panel. The sticky backing of the velcro isn't strong, so run a line through the middle of it with a sewing machine. Next, cut a 3" piece of 5/8" loop velcro, flip the front panel over, and place the velcro onto the Cordura according to the "Front Panel" pattern. This is now the "inside" side of your front panel. Like before, sew a line through the middle of the loop velcro with a sewing machine.
Next, finish the top edge of the pocket's front panel by folding it over and edge stitching. Fold so that the inside of the panel is touching itself. I find it helpful to iron the fold to make a semi-permanent crease before edge stitching.
Step 14: Pocket: Back Panel
The remaining 4" x 6" piece is now the back panel of your pocket. First, cut out a 0.75" x 0.75" piece of Heat n' Bond and iron it onto the bottom right-hand corner of the panel. Heat n' bond is very easy to use, but if you haven't used it before, check out this quick online tutorial here. Use an X-Acto knife to cut an "X" into the area covered with Heat n' Bond, as shown in the "Back Panel" pattern.
Hand sew two top snap pieces onto the "outside" side of the back panel as detailed in the "Back Panel" diagram. The snap top is the flatter one of the two snap pieces. Review the "How to Sew on a Snap" PDF included here to learn how to sew these snaps onto your panels. Flip the panel over. This side is now the "inside" side of your pocket's back panel. Cut a 3" piece of 5/8" hook velcro and and place it onto the panel as shown in the "Back Panel" pattern. Like before, sew a line through the velcro's center with a sewing machine. Finally, finish the top edge of the pocket's back panel by folding it over and edge stitching. Repeat the same process you did for the front panel.
Step 15: Pocket: Sew the Panels Together
Take the two panels and place them flat on top of each. Both their outside panels should be facing inward. This might sound counter intuitive, but don't worry! Pin all but the top edges together. This keeps the panels from slipping out of alignment while sewing. Sew the panels together as indicated by the three red lines in the panel patterns (the top red line is the finishing stitch you already did, so ignore this). After sewing, use your hands to turn the pocket inside out so that the outside panels are actually face outward. Push the corners out with a knitting needle or pencil. Finally, iron out the seams to make them flat.
Step 16: Make a Strap
Just like the two previous steps, cut out a 10" x 2" piece of parchment paper, pin it to a folded piece of Cordura, and cut around with pinking sheers. Sew three of the four sides of the pieces together. You now have a fabric tube. Push the tube inside-out, push the corners out with a knitting needle or pencil, and iron out to smooth down.
Next, take a slap bracelet and remove its covering to expose the bare metal. Slip the metal bracelet into your Cordura and sew the remaining side shut. Follow the strap pattern included here for a visual representation of these instructions.
After sewing, bend the Cordura-covered bracelet and see what side naturally folds inward. On this side, dribble a stream of hot glue to make a grip for these straps.
Repeat this process twice to make two straps for the Bike Buddy.
Step 17: Assembling the Bike Buddy
The Bike Buddy is almost complete! First detach the pockets from the backing, take the power jack on the navigation board and thread it through the hole at the bottom of the pocket. Pull it through, push the reset of the board into the pocket, and press it shut. Do the same with the power board. Finally, pack the wifi hotspot into the remaining pocket and reattach them to the backing. Plug the audio jack into the connector and hide the connect by pulling the backing's flap up and over the pockets. Slide the slap bracelet straps through the backing's slits. Attach it to the top of your bike frame, and you are ready to ride!