Introduction: Mechanical Moving Map for Bikes
Actually it is a GPS portable unit so it can be mobile on just about any method of transportation but fat bikes traveling on wilderness snow routes here in Alaska seems to be fun use for it right now. But feel free to build one for car, snow machine, dogsled, or helicopter. My last project involved analog speedometer--https://www.instructables.com/id/Bike-Analog-Speedometer/ so I thought it would be a good project to build it into a mechanical moving map display. The concept is old--see photo above of 1930's era speedometer attached moving map for a car. And everyone remembers the neat moving map display in 007's Astin Martin in Goldfinger. Just like mechanical watches have their OCD champions attentive to the fussy gearing on their wrist you can now luxuriate in the slow meandering walnut-humming-chuckle of gear-motors driving a divining pointer over your hand assembled map!
It is a relatively easy project with just a few parts from the usual electronic stores. The coding is all Arduino IDE and the hookups just require the minimum wiring skills. The case for the instrument can be build multiple ways and people with machining or 3D print access probably can build something different.
Step 1: Gather Your Materials
Adafruit Feather 32u4 Basic Proto--This is a great board and easy to program with build in battery charger. You can run the other two boards off the power from this thing but not the stepper motors too. I used a big battery in this thing but with all thats going on it won't last for week in the backcountry. Works very well in the car off of its microUSB plug in but you may have to change the wiring to get it off battery mode. I have since added a separate charger board and switch to turn off the appliance while charging the battery up.
Adafruit Ultimate GPS FeatherWing--Seems very bombproof for GPS make sure you add the coin cell and test the board alone before you start wiring it up. As always Adafruit goes overboard in trying to guide you through every detail of setup.
DC Motor + Stepper FeatherWing Add-on For All Feather Boards--Works great through I2C connection to feather board. Does not interfere with GPS calls.
Lithium Ion Polymer Battery - 3.7v 1200mAh
Micro Switch w/Lever - 2 Terminal (X2)
http://www.ebay.com/itm/2-Phases-4-Wires-DC-4-9V-1... (x2)--these nice little stepper motor screw sliders are nicely built and just the right size for this small map. They have 20 steps per rotation and this is reflected in the programming. I seem to hit top speed at 10RPM at this current.
various plastic, screws, glue, leather, aluminum channel
Step 2: Wiring It Up
The Fritzing diagram outlines all the part connections. Like always its a good idea to breadboard this thing together to try out all the parts and see if they are playing nicely. You can design the machine to use the Feathers in a stacking configuration--Adafruit sells a nice setup for either side to side or upsticking these guys, but I just wired them together with standard 22G wire. The GPS unit is attached to the main Feather body with the RX and TX serial line--make sure you don't mix these up. It also gets power/ground from the 3 volt pin and ground on the main unit. The servo controller also gets 3 v power and ground from the main unit as well as I2C connections:SCL and SDA. The other input is the power to the stepper motors--this has to be separate from the main board and can occur either through the USB line or the rechargeable battery. An On/Off switch is attached to the battery input on the pos line. The stepper motors have their standard 4 line hookup--make sure you find the pairs and group them appropriately on the screw terminals--see Adafruit guide for this board if you have any questions.
The limit switches are going to be mounted later in the design and so the wiring off of D12 and D13 should just wait until you mount the switches in the second layer. The led sequins are mounted on these switches and should be wired later to terminal D9.
Step 3: Building It
I used sheets of Duraplex from "Big Box" for the several sandwich layers that make up the unit. It is easily cut on a band saw and very easily drilled and tougher than the lowest grade of Acrylic. The three boards were just lined up and their wiring adjusted and glued into place with the clear double sided tape that works very well for electronic components and plastic. You can reposition and remove with no squabbling. The stepper assemblies were placed at the left and inferior sides of a 5 1/2 inch square of plastic and the battery placed in the center. While the stepper complex had mounting holes there is no easy way to use them and the strong sticky tape works great. The on/off switch was given its own mount superiorly along with access to the miniUSB end of the main board which has to be accessed later. Nylon spacers were used to develop a upper deck for the map layer and where the x/y wands would be. This is also the layer where the limit switches would be placed at the ends of travel for the stepper motor screws. This upper layer is cut from the same plastic and should be about an inch narrower on the left and inferior borders to allow room for the movement of the stepper assembly. The x/y wands were made of straight solid wire and glued to aluminum angle to bolt securely to the screw sliders and make them slightly adjustable. They should lie slightly above and below each other. The limit switches have long arms that need to be positioned so that the screw sliders hit them just before the end of travel. This brings their respective pins low and tells the computer their position. Bolt these to the upper deck (see photos) along with the LED sequins. These come to life when starting up the machine but have no other significance.
Step 4: Finishing the Build
There are two important screws that must be placed in the upper left and lower right of the map deck within the limits of the servos but near the edge. These are made with sharpened screws (do this with a dremel) and secure with a nut in the correct positions (see photo). These will be your way of aligning the Lat/Lng information from the map with the computer program. When you mount the map on the deck these two screw points will poke through and those are the points that you look up on your google-map for their lat/lng position to input. The rest of the case was built up with plexiglass--rounded aluminum corners (cut from tubing) and contact cemented leather. The upper right quadrant should be left without obstruction to allow the introduction of new maps. I usually develop these on the computer (google maps, google earth...) and then print them at the local Walgreens in 4x4 print and then trim.
Step 5: Adding Maps/Programming
The machine works by developing a simple grid the correlates spins of the stepper with gps movement. The map can be of anywhere and any location as long as it can be printed on a 3 1/2 square format. So a map of the US road system is game and so is the local city park in google maps. Once you pin it down on the upper deck the location on the map where the limit pins hit are looked up on latlng.net or google earth and put into the program in the positions indicated. Depending on how your build is slightly different you may have to adjust the number of revolutions of the screw from end to end in the programing in the mapping statement.
The Arduino sketch that runs it first resets the stepper motors to an initial position--it may have been stopped anywhere and the machine has to know. It then moves both x/y wands down to the lower right point and proceeds to query the GPS for a position and moves a certain number of turns for each stepper relative to its initial position and the total separation across the map in terms of Lat and Long. It checks its position about every 3 seconds but this can be changed.
Step 6: Using It
The thing was fun to build and great to play around with! I put it on a simple bicycle mount and took it overland to a local glacier and used it on the snow trails here in Anchorage. Its also fun to have in the car as you move around a city on the map. The maps that you place in it can be totally your own too--hand drawn with pictures of friends or family--local pictures for locations--as long as you gps locate the grid the pointers will get there. Hopefully it will be at Burning Man 2017--if I have any luck with the ticket purchase this year......
Participated in the
Microcontroller Contest 2017