Under Construction

RVTracks is a little electronics project I put together to keep track of everywhere our RV has been. When powered on by either a USB charger cable or a small lithium battery, once per second it writes a set of standard GPS NMEA records to a micro SD card.
Outline
- Design objectives
- Record everywhere my RV has gone and when
- Create a KMZ file to overlay the accumilated path of our RV on Google Earth
- able to record a million miles
- automatically operates any time engine is running
- minimize loss of data on power down
- can operate on a battery outside the RV for hikes etc.
- ability to backup data
- quick startup
- open source for ability to customize code to select NMEA sentences, etc.
- not a real-time tracker (wireless)
- Prior version history
- Teensy
- The CR1220 button battery provides power to preserve the ephemeris data in the memory of the GPS. This will preserve the last known fix for around 3 days. This drastically reduces the time it takes the GPS to figure out where it is for its initial fix, resulting in much more accurate fix data much sooner.
- external antenna, more accurate

- lithium battery

- non-standard raw SD format without a file system
- data extraction process
- python program
- HxD
- NMEA format
- $GPRMC – Recommended Minimum provides date, time(UTC), Latitude, Longitude, speed, bearing
- $GPGGA – provides satelite and accuracy data time, lat, lon, altitude
- Arduino sketch
- LED(s)
- assembly
- headers allowing visibility of LED
- Costs
- Adalogger $19.95
- GPS Wing $39.95
- headers
- Shipping $4.47
- SubTotal = $64.37
- antenna $12.95 + $3.95 = $16.90
- Shipping $4.47
- Adalogger

Adalogger Feather - GPS Wing

GPS Feather Wing - Because RVTracks does not use a standard filesystem like FAT or FAT32, the disk is seen as just a sequence of blocks (sectors) 512 bytes each the full length of the micro SD. As a result you cannot use the RVTracks micro SD in other devices. WARNING!!! it also means that if you plug a formatted micro SD card with data on it, all the data on the SD will be erased. RVTracks will erase an unrecognized and then write a signature in the first block of the device. If RVTracks sees the signature in the first block it will not erase the SD. If after RVTracks powers up and finds a valid signature it does a binary search of the SD to find the last block previously recorded with data it then resumes recording at the next block. RVTracks writes to the SD a block at a time. As a result any partial buffer on power down is not written to the SD and that data is lost. However, given that each block is 512 bytes and each second RVTracks generates around 70 or more bytes, the loss is at worse 7.5 seconds and statistically less than half that. When that is an issue, I just delay turning off the engine for a few seconds or better yet wait until right after the led flashes to indicate a write to turn off the key. This is especially prudent as it eliminates the possibility of powering down RVTracks during an SD write cycle which could garble a sector on the SD.