GNSS Logger

Hi, I’m looking to build a GNSS logger for a vehicle so I can overlay telemetry data to video. Could anyone help suggest a GNSS unit? I was looking at using something with 1.5-2m accuracy, 10Hz and possibly L1/L2 (may stick with L1 to keep costs down). Thinking of paring it with an Artemis unit with built in IMU, could this help adjust the positioning when going through tunnels? I know some GNSS units have dead reckoning but if the Artemis helps supplement this option then I could use a cheaper unit.

Looking at the NEO-F10N as a possible solution. Would there be much programming involved as I’ve heard the Artemis may already be optimised for some boards? Thanks for your help.

The F10N is a decent choice, but I usually recommend the F9R for most dead-reckoning projects.

The Openlog Artemis is an ideal choice for largely a plug-and-play datalogger (you do have many config options!).

We provide several GNSS code examples, you don’t need to do much programming but they are open-source and freely modifiable if you want to dive in :slight_smile:

Hi Russell,

Thanks for the recommendation. The F9R would be the top tier choice but we’ll put my budget for now. I just placed an order yesterday for:

OpenLog Artemis with IMU

NEO-F10N with SMA

Ground plate

ANN-MB5 Antenna

OLED SSD1309 display

I’m just going through doing a wiring diagram so will aim to post that for any comments to make sure I don’t mess anything up. Do you know how much work might be involved in getting the display to work with the Artemis? This is my first project so bit of a learning curve.

1 Like

Had a chance today to knock this up. Any comments on the wiring would be appreciated. Hopefully I have the qwiic setup to the OLED correct.

Hi Joe (@Joe_Joe ),

The standard OpenLog Artemis is preconfigured with firmware to log readings from a variety of sensors, including u-blox GNSS via Qwiic / I2C. It can also log serial data from the RX pin. But the firmware has no built-in support for an OLED. To add the OLED, you would need to modify, compile and upload the firmware.

We do have a special build of the firmware which is dedicated to logging data from u-blox GNSS modules. But that firmware expects the GNSS to be connected via Qwiic I2C, not serial. Again, there is no built-in support for an OLED. Also, that firmware is not able to log the IMU data, only the GNSS data.

In both cases, you would need to add an OLED library to support the OLED. You can use the library examples as your starting point. Please make sure that the library matches your display. Most SparkFun OLED displays are based on the SSD1306. You would need a different library for the SSD1309.

I hope this helps,
Paul

Hi Paul,

Thanks for the help and advice. This is the screen I’ve ordered, and they have a link at the bottom to a Micropython library for it based on SSD1306: Large OLED I2C Display (SSD1309) | Buy in Australia | CE09964 | Core Electronics

So to make life a little easier, would it be recommended to grab a multiport qwiic board and connect everything through that and avoid the serial altogether? Then your firmware build should work straight away. I’d have to look at modifying it though if I want it to log the IMU data from the Artemis?

Hi Joe (@Joe_Joe ),

Thanks for the link. The “The registers match that of the SSD1306 (0.96” SSD1306 Datasheet)" comment is very encouraging. You may be able to use our Qwiic OLED library as-is; our 1.3" OLED is also 128x64.

I2C is a bus. You can have multiple peripherals sharing the same bus, so long as they have unique I2C addresses. It is usual to see multiple Qwiic sensors (of different types, with different addresses) daisy-chained on a single bus.

Ah. I missed this earlier. The NEO-F10N is a special low-cost GNSS. It only has one serial UART port. Most u-blox GNSS modules have dual UART plus I2C. Sadly, that one doesn’t… So that limits your options quite a bit. You can use the standard OLA firmware to log the serial GNSS NMEA messages on the RX pin, while also logging IMU data to a separate log file. You can pull the two data sets together afterwards using the timestamps in both files.

Good luck with the project - let us know if you need more suggestions,
Paul

2 Likes