SparkFun OpenLog Artemis

We have stock of a new OpenLog Artemis (without IMU) available now!

Notice: Supply chain constraints have made the on-board ICM-20948 IMU very difficult to source. That said, we have a new version of the OpenLog Artemis available now with the IMU removed.

The SparkFun OpenLog Artemis is an open source data logger that comes preprogrammed to automatically log IMU, GPS, serial data, and various pressure, humidity, and distance sensors. All without writing a single line of code! OpenLog Artemis, or "OLA," automatically detects, configures, and logs Qwiic sensors. The OLA is specifically designed for users who just need to capture a lot of data to a CSV and get back to their larger project.

Included on every OpenLog Artemis is an IMU for built-in logging of triple-axis accelerometer, gyro, and magnetometer. Whereas the original 9DOF Razor used the old MPU-9250, the OpenLog Artemis uses the latest ICM-20948 from InvenSense capable of nearly 250Hz logging of all nine axes. Simply power up the OpenLog Artemis and all incoming serial data is automatically recorded to a log file with baud rates up to 500000bps [1], supported! The OLA also has four ADC channels available on the edge of the board. Voltages up to 2V can be logged with 14-bit precision up to 1900Hz for one channel and 1000Hz logging all four channels. Additionally, based on feedback from users we've added an on-board RTC so that all data can be time stamped.

The OpenLog Artemis is highly configurable over an easy to use serial interface. Simply plug in a USB-C cable and open a terminal at 115200bps. The logging output is automatically streamed to both the terminal and the microSD. Pressing any key will open the configuration menu.

The OpenLog Artemis automatically scans, detects, configures, and logs various Qwiic sensors plugged into the board (No soldering! No programming!). Currently, auto-detection is supported on the following Qwiic products:

This OpenLog uses common microSD cards to record clear text, comma separated files. You probably already have a microSD card laying around but if you need any additional units see the related items below. The OpenLog Artemis supports microSD cards formatted as FAT32 as well as the older FAT16 formats up to 32GB. The OpenLog Artemis can use any size microSD card and, as of firmware version 1.11, supports exFAT cards in addition to FAT32.

Very low power logging is supported. OpenLog Artemis can be configured to take readings at 500 times a second, or as slow as 1 reading every 24 hours. You choose! When there is more than 2 seconds between readings OLA will automatically power down itself and the sensors on the bus resulting in a sleep current of approximately 18uA. This means a normal 2Ah battery will enable logging for more than 4,000 days! OpenLog Artemis has built-in LiPo charging set at 450mA/hr.

New features are constantly being added so we’ve released an easy to use firmware upgrade tool. No need to install Arduino or a bunch of libraries, simply open the Artemis Firmware Upload GUI, load the latest OLA firmware, and add features to OpenLog Artemis as they come out!

The OLA can be tailored to many different applications and we will be releasing custom versions of the firmware which can be found on our Documents tab above.


The SparkFun Qwiic Connect System is an ecosystem of I2C sensors, actuators, shields and cables that make prototyping faster and less prone to error. All Qwiic-enabled boards use a common 1mm pitch, 4-pin JST connector. This reduces the amount of required PCB space, and polarized connections mean you can’t hook it up wrong.


  • Artemis Module (Cortex-M4F based Apollo3 microcontroller)
    • Configurable via CH340E and Artemis Firmware Upload GUI
  • Operating voltage range
    • 3.3V to 6.5V (via VIN with optional external power switch)
      • 5V with USB (via 5V or USB type C)
      • 3.6V to 4.2V with LiPo battery (via VBATT or 2-pin JST)
        • Built-in MCP73831 single cell LiPo charger
        • Minimum 450mA charge rate
      • 3.3V (via 3V3)
  • Current consumption
    • ~20mA (Run)
    • ~80µA (Sleep)
    • ~18µA (Deep Sleep - regulator shut down)
  • Ports
    • 1x USB type C
    • 1x LiPo battery enabled
    • 1x Qwiic enabled I2C with power control
    • 1x SWD 2x5 header
    • 4x Analog-to-digital
      • 14-bit, up to 1900Hz, 2V max (3.3V compatible)
    • Serial
      • Logging speeds up to 500000bps [1]
    • 1x microSD socket
      • Support for FAT32 and older FAT16 formats up to 32GB with power control
  • RTC with 1mAhr battery backup
  • 9-axis IMU logging up to 250Hz
    • ICM-20948 via SPI interface
  • LEDs
    • Power
    • LiPo charge indicator
    • Serial Tx and Rx
    • Status

SparkFun OpenLog Artemis Product Help and Resources

OpenLog Artemis Hookup Guide

August 20, 2020

How to use and re-program the OpenLog Artemis, an open source datalogger. The OLA comes preprogrammed to automatically log data. The OLA can also record serial data, analog voltages, or readings from external Qwiic-enabled I2C devices. Some of these Qwiic-enabled devices include GPS/GNSS modules, pressure, altitude, humidity, temperature, air quality, environment, distance, and weight sensors.

Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

3 Programming

Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels


Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

2 Electrical Prototyping

Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels


Comments

Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Member #211316 / about 3 years ago / 3

    This is a great product. We've bought about 15 of them to use with MS5837 pressure sensors to log King Tide flooding at 6 minute intervals. The Dev is very responsive to issues and pull requests. We plan on buying more. Although Artemis BLE isn't working yet, we're using an external Adafruit Bluefruit LE UART Friend module powered by the i2c bus to stream serial data from the OLA RX/TX pins and it works great.

    Having this product available has saved us an enormous amount of development time. Hope SF can keep them in stock.

  • Member #322428 / about 4 years ago * / 2

    I purchased 2 of these loggers. Work like clock work. Detected 5 i2c modules. Logged all data. Great product.

  • grossman83 / about 2 years ago / 1

    Does anyone know how long the realtime clock battery is supposed to last? Mine seems to forget it's date/time after less than a day.

  • Member #1649365 / about 4 years ago / 1

    Today I see SF added 449 items, after some minutes this is out of stock again. This was an error? There is any date to add more?

  • Member #1646929 / about 4 years ago / 1

    I bought one of these on Amazon, along with a LiPo battery. Please be aware that batteries for the RC industry will have the polarity to the JST connector opposite what this unit wants. If you don't check this, you might let the magic smoke out.

  • Member #1253626 / about 4 years ago / 1

    For those that could be interested in using it as an AHRS, I tried to update the AHRS firmware originally designed for the old Razor IMUs : see https://github.com/lebarsfa/razor-9dof-ahrs. Using that firmware, the OpenLog Artemis should be now also compatible with the ROS node on http://wiki.ros.org/razor_imu_9dof.

  • Member #211316 / about 4 years ago / 1

    Including a link to a driver for the onboard CH340E Serial to USB might save someone else a lot of time when the board isn't recognized by their PC. https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers/all

  • Soledad / about 4 years ago / 1

    I think I did some wrong. I clocked the RTC three days ago, I did´nt plug lipo battery only the 1mAhr back up battery and the time is reset to zero again. "Current date/time: 01/01/2000 00:00:00.00"

    Any idea?

  • Member #1486567 / about 4 years ago / 1

    Is the RTC missing? I don't see it on the schematic.

  • Medel / about 4 years ago / 1

    Is it possible to add unsupported quick devices or maybe configure a new one...like the red pushbutton quiik. I bought 3 blacks and 4 red ones, this is an amazing hardware by the way, but maybe some support for hacking the device to suit our needs?

  • Member #365937 / about 4 years ago / 1

    Hi, Can you add a more high channel count 24-bit Programmable Gain enabled SPI ADC AD7124-8 which is used in MIKROE's CLICK ADC sheilds to use as a proper wireless DAQ (If with BLE flutter app) for use with e-textile and biosignal research too to contend with National Instruments offerings which are more pricey. I'd add in an ESP-32 or some other wireless chip to do high bandwidth sampling over MQTT/OSC to Python notebooks or Node-RED which is useful in academia. I think it is quite complimentary to the wide & diverse QWIIC platform ecosystem.

  • It is very nice product. One question, how can I config FSR of on board ICM-20948, such as ±1000 dps for Gyroscope and ±16g for Accelerometer?

    • santaimpersonator / about 4 years ago / 1

      Hi there, it sounds like you are looking for technical assistance. Please use the link in the banner above, to get started with posting a topic in our forums. Our technical support team will do their best to assist you.

      That being said, you'd have to modify the firmware. If you don't need it to show up in the menu options, I believe you can manually configure the sensor in this section of the firmware. Otherwise, your could be to file an issue in the GitHub repository for a "feature request". However, there is no guarantee that it will get implemented (there could be limitations due to the complexity of the firmware).

  • Member #600224 / about 4 years ago / 1

    Looks like a great product. Would it be possible get the data from the artemis logger somehow electronically? So we can fetch the data into another microcontroller which can send the data to a server over wifi? Or is there some other best practice to get the data out of the logger without removing the SD card?

    • We recently released v1.6 of the firmware that supports data output over serial1. This means you could solder any external device to the TX pin on OLA and then pipe the data where ever you need (feather, cellular, what have you).

      • Member #600224 / about 4 years ago * / 1

        Thank you for the reply. This feature seems to send the log records on the serial port when they arrive. If I want to store all records, it means I'd have to build a robust data logger that continuously listens for records and stores them efficiently. But OLA already is that datalogger, so that seems rather reduntant. I actually was hoping I could fetch the records on demand from the Artemis OpenLogger. Perhaps simply read the SD card directly? Or some interface commands via serial or bluetooth? Or perhaps I'm missing something ..?

        • Have a look at this issue. We support the transferring of log files over the USB connection but not over serial1. Transfer over serial1 is a fine idea. Please start an issue so we can figure out your use case and get you what you need.

          • Member #600224 / about 4 years ago / 2

            Thanks again. I created a new issue. Would be great if that could actually be done!

          • Member #600224 / about 4 years ago / 1

            Hello @Nate. I did start a new issue, but it was rather quickly closed and not accepted as a feature on the OLA roadmap. It was considered a too specific requirement. Looking at the Rocket Launcher guy review ... I'm not the only one missing that feature. The OLA product is close to being a perfect building block for this type of mobile applications, would be great if it could go that last mile too.

  • Member #211316 / about 4 years ago / 1

    What is the roadmap for supporting bluetooth? It would be nice to be able to stream data via bluetooth and also be able to download the data wirelessly as well.

    • santaimpersonator / about 4 years ago / 1

      Hey there, we are diligently working to get support for the Bluetooth functionality on the Artemis module. If you signup for the newsletter (near the bottom of this page), I am sure it will be a pretty big announcement when it is ready. We have been pouring a lot of time and resources into the BLE functionality, for our customers.

  • Member #322428 / about 4 years ago / 1

    Any way to get this logger to recognize the Particle Sensor - SN-GCJA5 (assuming a logic level converter is install with the device)?

    • Yep - We plan to add support for the SN-GCJA5. It'll just take some time. Hopefully just a few weeks.

    • santaimpersonator / about 4 years ago / 1

      Update: Looks like I spoke a little too soon; we now carry that sensor ("3 hours later"). If you are interested in having that feature for the OLA, please file a feature request in the GitHub repository. This method helps the engineers keep track of requests like yours. (*Please note, this doesn't guarantee that it will get added to the firmware.)

    • santaimpersonator / about 4 years ago / 1

      Hi there, it sounds like you are looking for technical assistance. Please use the link in the banner above, to get started with posting a topic in our forums. Our technical support team will do their best to assist you.

      That being said, the firmware would need to include the library for any sensors to be recognized. (*I don't think we have a library for that specific sensor, so I don't believe there is a library included with the firmware.)

  • Member #161132 / about 4 years ago / 1

    I think I am missing something. How do you turn the logger on/off without disconnecting the battery?

    • There are two ways: You can solder a switch onto the PSWC jumper and toggle the power on/off with a switch or you can wire a 'stop' button to pin 32 and a reset button to the RST pin. When pressed, the logger will stop logging and power down and start again once reset. The Hardware Overview docs cover all this and more.

      • Member #161132 / about 4 years ago / 1

        Thanks for the info. I should have read a little deeper.

Customer Reviews

3.9 out of 5

Based on 9 ratings:

Currently viewing all customer reviews.

1 of 1 found this helpful:

Great Little Product but... (RealTime clock doesn't work and this won't log at 400 Hz)

Great little product. No code involved in making it into a datalogger. I just used the arduino serial monitor and configured it with no issues.

A few minor complaints: * the IMU says it's capable of 400 Hz, but that's not quite true. I'm not sure why, but even with only the IMU logging to the fastest rated sdcard I only ever got about 175 Hz despite having selected 400 Hz. This is also true of when I select 200 Hz or so I only get about 100 Hz. There is some bug here.

  • the realtime clock does not work, or I don't know how to enable it or my coin cell is dead or something because I can set the time as much as I want, but if I ever lose power I lost the time/date. This is a major pain.

1 of 1 found this helpful:

Easy to get up and running. Lots of useful features. Useful tool when you aren't looking for a project, and just need something to reliably log data.

1 of 1 found this helpful:

Just plug & Play!

It's like they say, easy to configure and even easier to use! Although you cant add other Qwiic sensor but the ones on the list. 3 quick tips to make a 5 star: 1. Using the serial monitor, let the user add their own sensors compatible with the Qwiic ecosystem. 2. If not, at least add some button to the qwiic compatible sensors list. 3. Some user have a 3d printer, why not make available a 3d model of the SF OpenLog Artemis? so we can share our projects.

3 of 3 found this helpful:

Drivers don't seem to be liked by Mac security.

I'd love to use this board, but currently I can't get the drivers to load. Mac OS security is blocking it (and yes, I told it to load anyway, but it refuses to listen to me no matter what the hell I do).

Sparkfun support ticket was filed and apparently fell into a black hole.

This could be a fantastic device, but I'll never know since I can't configure it.

1 of 1 found this helpful:

Exactly what I needed to log temperature.

I was going to make something to log the temperature of the air coming out of my hot air registers. Seeing this product I decided to save my time and energy on other things. The configuration was dead easy. I use the onboard temperature sensor to log the room temperature and added a Qwiic TMP117 sensor to measure the vent temp. I added a Li battery for power and the built in charger makes it all easy to use. One charge and it records for days. Opening the log file with Excel I had temperature graphs in just a minute. Absolutely fantastic. The next thing to do is put it in a case, it's just laying on the floor right now.

Kurt

1 of 1 found this helpful:

Works great

I'm using this to log accelerometer and barometer data aboard a model rocket, using the qwiic interface (https://github.com/truher/RocketInstrument). Since the sensors weren't supported by the built-in OpenLog thing, I just wrote a little arduino code to shuffle data from qwiic to microsd, and i'm pretty happy with it, just plug in a few cables and it works.

One thing I wish were easier; if there were a "graceful shutdown" switch on board (like the reset switch), then I'd corrupt the sd card less often. One other thing isn't really a limitation of this device, but the Arduino i2c ("Wire") library seems pretty primitive, and i couldn't figure out how to interleave reads from multiple sensors, which limits the sample rate.

Anyway, if you're looking for a microcontroller board with onboard microsd, battery management, usb-c, and i2c, this is just the ticket. :-)

2 of 3 found this helpful:

OK, but could be awesome

i launch big rockets. My last flight was to 3 miles, and I want my next flight to be 5 miles. The OpenLog Artemis does everything that I want and it is so small, except... Logging to an SD card is pointless if the rocket is lost. On the three mile launch I used an APM 2.6 with a radio link to the ground. The rocket was exactly where the last GPS reading said it was. I desperately need the Artemis to output the captured data to the serial out. That way I can down-link the data. This device is sooo close to what I need. Please update the firmware to allow this. I use the down-link data to create Google KML files of the flight. I am pairing the Artemis with the Neo-8MU gps.

2 of 3 found this helpful:

Great product suggest adding a feature to transmitt serial data via xbee.

Great product suggest adding a feature to set up and transmit serial data via an xbee wireless device. Currently I use the serial port (logger) to send data to a Raspberry Pi. I created a Python script to read the serial data, parse the data into the sensor readings, and transfer to data via xbee to a second Pi acting as an xbee hub. I would like to reduce the size of this configuration, and eliminate the Pi. A new logger firmware feature I believe can do the xbee part? Possible?

Does not log at 230400b/s. Messes up data.

The sustained data rate for logging (not UART, actual data being store on the sdcard) is not even 230400b/s. The data logged is "shuffled" when compared to what a Saleae Logic analyzer (and data sequence numbers) see. With 21 byte packets at 400Hz at 230400b/s, multiple times per seconds, it logs newer packets ~16 packets before older ones, and then has a gap. This is with FW v2.8 beta (latest at time of testing), and also with v2.4.