Saturday, July 5, 2014

GPS with OLED

Wow, it's been a while since I've made a post... I've been playing around with the the Adafruit GPS for a while now as well as messing with different OLED's as well. I came across a board from @mikerankin that combined both into one with an Arduino Pro Mini. AVR programming has also been taking a lot of my spare time and so I thought this would be a great project to consolidate everything I've learned so my goal was to write native C code compiled with avr-gcc and upload it to the board with avrdude instead of using the Arduino IDE (though that works with this board and would be much easier; but where's the challenge there!). Here are a few pics from the work in progress...

These pictures show the main screen and the board itself. Upper left corner is the temperature reading, upper right is the number of satellites that the GPS receiver is connected to. Bottom shows the format of the time (12h or 24h format is supported). Bottom right is the date and in the middle is the time.

This picture shows the trip summary as it tracks distance much like an odometer of a car. I changed the distances from metric to US measurements, but forgot to change the labels accordingly (oops! I know what I'll be doing after I post this)
This next screen shows the altitude (upper left), number of satelliets (upper right), course (below number of satellites) and speed in miles per hour.
This is the back of the GPS Board and you can see the Atmega 328 microprocessor , FTDI chip, resistors, LEDs, etc. You can refer to Mike Rankin's page for schematics and other details.

These pictures show the status LED for the lipo battery (red is charging and green is charged).

Lastly, this is a side view of the board. You can see the GPS module that the OLED hovers above on.

There are many more features that I have not discussed (ie. resetting the trip meter, saving a lat/lon position, saving data, etc). Those are all included in the original sketch which was done by Karman and posted to his blog. However, that sketch didn't work out of the box for me and kept crashing. I've since modified it to toggle between metric and US measurements, fix the crashing bug, and a few other minor fixes with some graphics and font modifications.

5 comments :

  1. Hello,
    are your modifications to the gps_cube codebase available anywhere?
    Thanks!

    ReplyDelete
    Replies
    1. I've sent the code to Mike Rankin, but he may not have got around to adding it to his site yet. The core modifications (to fix the crashing) were to this file: https://drive.google.com/file/d/0ByRY1p7V3V0aZlBkUG5RVTUyQW8/edit?usp=sharing

      Delete
  2. Mike sent me a link to you modded GPS_cube. Works great in F degrees and elevation feet. Is the speed in MPH despite the Km/h tag? so all I have to do is go into the sketch and change that?

    jed.kc3eq@gmail.com

    ReplyDelete
  3. Yeah, the speed is in mph. I have since corrected the km/h label and have updated to mph. If you can't get it to display properly, let me know and i can email you the the mph image. i probably need to get mike rankin an updated sketch with that. thanks for pointing it out.

    ReplyDelete
  4. Sorry for bringing this up from the dead, but could you send me the 'mph' image? I've fixed a problem with the clock not displaying correctly but have yet to find a tool to allow me to draw an image and create the corresponding code for the large MPH symbol. Thanks,
    Dave

    ReplyDelete