Arduino Sensor Parsing & GPS Sync
Budget: $30 – $250 AUD
I need a clean, well-commented Arduino sketch that continuously reads the serial stream coming from my magnetometer sensor, extracts the meaningful fields, time-stamps each record using a GPS fix, and then forwards the newly formatted string to the board’s main Serial output.
Example serial string in and required serial string out will be provided. Data in is at 10hz and data out I need to be 1hz.
The core flow is simple: magnetometer data in → parse → append GPS time (UTC+8 Perth Time) → Serial out. All processing must be non-blocking so other tasks can be added later. Please write in plain C++ for the standard Arduino IDE and keep RAM usage modest; the board in use is an 8-bit AVR.
Deliverables
• One .ino file with clear comments showing the parsing logic, the GPS synchronisation routine, and the final Serial.write() call
• A short read-me describing wiring for the magnetometer and GPS module, expected input sentence formats, and an example of the outgoing packet
Acceptance criteria
The sketch should compile without extra libraries beyond those bundled with the Arduino core, run for 48 hours without buffer overruns, and produce a continuous, correctly time-stamped serial stream ready for downstream logging.
Example serial string in and required serial string out will be provided. Data in is at 10hz and data out I need to be 1hz.
The core flow is simple: magnetometer data in → parse → append GPS time (UTC+8 Perth Time) → Serial out. All processing must be non-blocking so other tasks can be added later. Please write in plain C++ for the standard Arduino IDE and keep RAM usage modest; the board in use is an 8-bit AVR.
Deliverables
• One .ino file with clear comments showing the parsing logic, the GPS synchronisation routine, and the final Serial.write() call
• A short read-me describing wiring for the magnetometer and GPS module, expected input sentence formats, and an example of the outgoing packet
Acceptance criteria
The sketch should compile without extra libraries beyond those bundled with the Arduino core, run for 48 hours without buffer overruns, and produce a continuous, correctly time-stamped serial stream ready for downstream logging.
Related categories:
C Programming
Electronics
Microcontroller
GPS
Arduino
Embedded Systems
Signal Processing