Saturday, September 5, 2015

SVTrackR 1.62 : Dashboard speedometer & APRS Decoder

SVTrackR I2C LCD


One of my users suggested that I split the display from the APRS Tracker so that he can placed the SVTrackR together with the handy below the seat. I liked this idea and explore the unused I2C pins on the Arduino Mini Pro.

Once I found out that the I2C can goes up to 6m of length, I made a 1 meter cables and started my tests on the Eduboard I built with Serial and I2C header pins at the bottom right of the blue PCB.
I have also connected a APRS Modem to the Serial Rx,Tx pins.


SVTrackR 162 on Eduboard


Once I finalised to use the blue 16x2 I2C LCD, I search on Thingiverse for a 3D printed casing. I found this one below suitable and ask around for pricing and where to get it printed.

16x2 LCD I2C 3D casing
As I made my codes with #ifdef definations for OLED, I just added more #ifdef for 16x2LCD and format the display according to the size of the LCD, 16 characters by 2 rows. As these screen are physically bigger than the 0.96 OLED, the resolution is only 16x2 text whereas the 0.96" OLED can goesd up to 7 lines of 25+ characters.

As my main screen should be the large digital speedometer with number of satellites being tracked and heading in degrees, I will rotate to 2 other screen for other statistics like Rx, Tx packets, distance to base and altitude from the GPS receiver.

In order to displayed decoded packets, I wrote a checking to display the decoded packets for 10 seconds before switching back to the speedometer.

Below are some of the images taken from my dashboard, it fits nicely with the large number displaying the speed or other info.

SVTrackR on dashboard

SVTrackR decoded packets

16x2 I2C LCD during initial tests


I am still in the process of getting a 3D printed casing for this.



4 comments:

  1. you can publish the code ? Thanks

    ReplyDelete
  2. https://github.com/stanleyseow/ArduinoTracker-MicroAPRS

    ReplyDelete
  3. Hallo Stanley,
    Many thanks ! From 'LiquidCrystal_I2C.h' there are many versions. My always runs on error 'lcd.init ();'. What should I take? VY 73 Peter

    ReplyDelete