GPS Puzzle Box

From Makers Local 256
Revision as of 18:14, 10 December 2010 by Omegix (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

In Progress
Born On:
19:09, 24 November 2009 (CST)
Last Updated:
18:14, 10 December 2010 (CDT)


I've been collecting puzzle boxes since I was a kid, when I saw this I knew I had to make one.

Here's the link to the original designer's project:

Parts List

Original Parts list from the creator

1 Arduino Duemilanove $30 Already have from AVR class
1 USGlobalSat EM-406A GPS module $60 from sparkfun Received
1 8×2 blue backlight HD44780 LCD $6 from seed studio
1 Hitec HS-311 servo motor At the shop
1 illuminated pushbutton
1 low voltage Pololu power switch $6 from sparkfun Received
1 2.5mm female DC power connector
1 Adafruit Arduino prototype shield $6 from adafruit
1 ornamental box

Aquired Parts

  • Arduino (already obtained.) $25
  • 1 ornamental box (going to use the Turkish bookshelf box)
  • LCD Screen
  • Hobby Servo
  • USGlobalSat EM-406A GPS module


  • Tested out the servo code. I believe it works, but I won't know for sure till I insert a powered usb hub between the laptop and the arduino. Similar to the USB Door Lock project, this is because the servo draws more current than the laptop's usb ports can provide. --Omegix 21:11, 9 December 2010 (CST)
  • Got the TinyGPS library example code to work. Expanded the TinyGPS library with some distance calculation code I found on the internet (credits in the code, need to move to wiki page). Tested Distance code with the following online resource: Code works. Now onto actuating a servo. --Omegix 15:07, 8 December 2010 (CST)
  • Good test tonight. Used the Arduino Playground code. I was trying to listen to the wrong pins. Need to get this working with pins 6 and 7 if possible instead of 0 and 1 (which the usb-to-serial uses to program the MC). Also need to figure out if the serial monitor can listen to 6 and 7 instead of 0 and 1. --Omegix 21:01, 6 December 2010 (CST)
  • The NMEA library that was originally used by the creator does not work with the latest Ardunio IDE. Using TinyGPS for now, though this means I'll have to develop my own Distance-to functions, which were part of the NMEA.h library.
  • Have created a breakout board for the GPS module. The GPS module blinks red, which means it has gotten a serial lock. Unfortunately data is not being received by the arduino. This may have to do with the RX pin on the GPS module needing to be high when not in use. Hopefully setting this in software will be enough, but there are instructions in the GPS user guide on how to do this with a resistor and a diode. --Omegix 12:29, 2 December 2010 (CST)
    • Upon inspection of the TinyGPS example code, it was noticed that the TX pin on the arduino (going to the RX ping on the GPS module) was not set high. Hopefully setting this high will fix the data communication issue. --Omegix 12:42, 2 December 2010 (CST)



  • Utilizing an Arduino Diecimila
  • Utilizing the standard 0,1 pins for serial programming and testing of board
  • Code is based off the example that comes with the TinyGPS library for arduino
  • Utilizing the NewSoftSerial library to create more serial tx/rx pins on the board
    • Utilizing Pins 6(Rx) and 7(Tx) to communicate with GPS module at 4800 baud