My name is Ben and I am going into junior year at the Dalton School. This summer at Bluestamp I worked on a modified version of Josh Billion’s mapbag. I learned a lot this summer, largely because of how much the program emphasizes looking up problems oneself. I picked this project because I find myself often not knowing exactly where I’m going or where I need to go. The GPS backpack covers both of those functions and I really enjoyed building it.

Schematic, code, BOM, and Build Plan:
http://fritzing.org/projects/mapbagbg

My backpack has eight vibration motors – four on each strap. The left strap’s motors correspond to the compass direction the wearer is facing (from top to bottom north, east, south, west) and the right side corresponds to the direction the user needs to go to reach the input GPS coordinates. By matching the left and right motors the user knows the direction he or she has to travel to get to his or her goal destination. My project uses an Arduino UNO, Ultimate GPS breakout from adafruit, and the adafruit tilt compensating magnetometer. I also used adafruit’s Arduino libraries for parsing the data from the GPS and the magnetometer. I also wrote some of my own functions that were specific to this project. My project is limited by a few things. First, it can be challenging to tell which motor is buzzing. Second, the magnetometer is easily affected by magnetic fields other than the earth’s and the tilt compensation can still be off by about 30 degrees. On trying to test it in the city, the south motor began buzzing about two blocks shy of where I was trying to go, but that could be a result of the city being off by about 20 degrees from north. It was challenging to figure out how to physically get all of the component into the bag, but I ended up just going for it and it worked out.

Video:

2nd Milestone:

In order to achieve my second milestone I needed to integrate the compass, gps, and motors to all work together as a complete circuit outside of the bag. I had to write a few functions that take the gps from both modules and causes the corresponding motors to buzz. For testing I used gps coordinates that were very far away from where I was, so the next steps will be testing the accuracy on a smaller scale and getting the circuit into the backpack. In order to get the circuit working I had to attach an outside power source. To do this I needed to make a circuit with linear voltage regulators to take the voltage I was using -8 volts – down to five to not blow out the motors. I also had to use a transistor as a switch so that I could use the arduino to control the motors while having the power to the motors come from an external source. It was tough getting the circuit to work because of faulty transistors but it worked in the end. In the video I only demonstrate two motors buzzing directly connected to the arduino, but I was shortly after able to get the entire circuit working outside the bag. My next step is to put the circuit into the bag.

1st Milestone:

I managed to hook up the compass to the Arduino and get degree values from it. Using that I divided the compass into four quadrants and hooked vibe motors to the Arduino. When the compass is facing north, the north motor buzzes (the same with the other motors and directions). The next step is to get north east, south west, and then the GPS.

Starter Project:

I finished up my starter project which is a calculator from Spikenze Labs. It involved a lot of soldering and a little bit of putting the casing together. It was a really great introduction to soldering and the basics of putting together a functional device. The on button gives power to the circuit and then each of the buttons gives an electrical signal to the preprogrammed chip. That chip contains a series of logic gates and the output of those gates turns on the different LED segments on the 6 different LED modules. The limitations of the calculator are that it only has 6 modules which limits the size of the numbers. It was a neat project and good start to the experience.

Start typing and press Enter to search