Max baud rate for OpenLog vs. OpenLog Artemis

I’d like to use OpenLog to write serial data at relatively high speed (at least 384 kbps, ideally 512 kbps).

I am finding conflicting information on which of the two OpenLog boards (atmega vs. artemis) could handle this:

  • according to the main OpenLog product page, it’s only up to 115200 bps: https://www.sparkfun.com/products/13712

  • but the tutorial for that product (along with anectodal reports from various forums) suggest up to 1Mbps:

https://learn.sparkfun.com/tutorials/op … okup-guide (System Settings)

Which one can I trust, do you think the atmega OpenLog could work at these speeds?

The ATmega OpenLog definitely will not work at those speeds, the Artemis OpenLog might be OK above 500K as long as your data isn’t a continuous stream or contains large amounts of data. The Artemis OpenLog needs a bit of a break every now and then so it can do housekeeping chores like writing to the SD card and such.

Thanks, that’s good to know! The requirements I quoted are for sustained writes, so no, there is no pause in the datastream and I’d like these speeds to be stable for hours / days.

I wonder how much potential there is to further improve the OpenLog Artemis firmware eg. by using interrupts to write input data into a large buffer and letting the main thread flush it to the card at its own pace?

I could achieve these speeds on a Teensy 4 by pre-allocating a contiguous file and using a large ring buffer of sector-sized chunks. These two optimisations reduced the latency spikes of SD writes by a lot, but the pre-allocation is a bit of a pain and there is some residual variability in write latency which makes life harder for the rest of the program. Hence the idea to delegate SD card handling to OpenLog.