tag:blogger.com,1999:blog-7312037828648622436.post-35386637515933308562008-04-28T18:02:00.004-05:002008-04-28T18:59:19.732-05:00GPS Receiver Revision IdeasIn the seven months that I have been using my <a href="http://www.highonsolder.org/2007/09/gps-receiver-part-2.html">GPS Receiver</a> I have been thinking about a lot of improvements I could make that could greatly improve the usability and power of the unit. The following is my wish list of improvements.<br /><ol><li><span style="font-weight: bold;font-size:100%;" >Rechargeable battery</span> - while running off of a standard 9V has its advantages; having a battery with more capacity, lighter weight, and smaller size(assuming I would use a Lithium-Polymer battery) would be very handy<br /></li><li><span style="font-weight: bold;font-size:100%;" >Ability to save GPS Waypoints</span> - I had thought about this from the beginning of the project but was somewhat lazy and didn't look into it too much; now that I have used the unit for a few months I realize that adding this capability is a must</li><li><span style="font-weight: bold;font-size:100%;" >Distance & Direction calculations between GPS Waypoints</span> - this idea came about from doing the calculations by hand on a calculator which isnt' difficult but still a pain</li><li><span style="font-weight: bold;font-size:100%;" >User Interface Upgrades</span> - this aspect of the revision directly follows the ideas listed above, especially upgrading the display and adding a rudimentary menu structure to allow the saving of waypoints and performing calculations; I also want to change the backlight switch from a slide switch to a press and hold momentary pushbutton </li></ol>Since I first developed this wish list I have done some analysis into what I would have to do to realize these upgrades. I considered the possibility of completely rebuilding the unit based around the <a href="http://www.arduino.cc/">Arduino</a>, especially since I could upgrade the software via the USB port at any time. The arduino, however is somewhat overkill for this application (16K Flash & 512 bytes EEPROM) and is also a rather large board to fit into a small handheld device with an LCD and GPS receiver. The arduino does come in another form factor called the <a href="http://www.arduino.cc/en/Main/ArduinoBoardMini">Arduino Mini</a>. While this is much smaller, at $37 for the unit itself and another $20 for the <a href="http://www.arduino.cc/en/Main/MiniUSB">USB adapter</a>, it is a larger financial investment than I am willing to make for an upgrade of a device such as this (considering I already spent $100 on the current unit).<br /><br />The rechargable battery has also turned out to be somewhat unfeasible. I did find a small <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=726">LiPoly battery charger board</a> for $17 and a <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=339">1100mAh LiPoly battery</a> for $12 at Sparkfun. This isn't too much money, especially since a rechargeable battery pays for itself over time, but since the charger only works with single cell batteries (which only put out 3.7V) it is not compatible with a 5V system such as this and using multiple cells could get complicated.<br /><br />After further research I realized that the PIC16F84A that I based the current unit off of contains 64 bytes of EEPROM which could be used to save waypoints. I recalled, however, that my current GPS program is running toward the limits of the PIC's 1024 word Flash memory. The solution to this problem comes from the fact that the PIC16F84A has been replaced by the PIC16F628A. The 16F628A is a pin-for-pin equivalent to the 16F84A so I can reuse my existing circuit board and simply program the new chip and drop it into the existing socket. The 16F628A has the added benefit of 2048 words of Flash and 128 bytes of EEPROM. This should allow the 16F628A to have enough program memory to implement my UI changes and the calculation options I would like to add as well as store up to 32 waypoints (4 bytes per waypoint). The best part is that I have a couple of these lying around so it costs me nothing. The only items I will have to purchase will be a <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=462">larger LCD</a>, a new case and a couple of switches.Joehttp://www.blogger.com/profile/02539531973641201676noreply@blogger.com