SparkFun
SparkFun OpenLog Artemis (without IMU)
The SparkFun OpenLog Artemis (OLA) is an open-source data logger built on the Artemis module (Cortex-M4F Apollo3 microcontroller). It comes pre-programmed to...
Get notified when back in stock
The SparkFun OpenLog Artemis (OLA) is an open-source data logger built on the Artemis module (Cortex-M4F Apollo3 microcontroller). It comes pre-programmed to automatically detect, configure, and log data from Qwiic-enabled sensors — no coding required. Simply plug in a compatible sensor, power up, and data is recorded to a microSD card in CSV format.
The OLA supports serial logging at up to 500,000 bps, four 14-bit ADC channels (up to 1,900 Hz single-channel), and an onboard RTC for timestamping. Ultra-low-power sleep modes draw as little as 18 µA, enabling months of battery-powered logging from a standard LiPo cell with built-in 450 mA charging.
Key Features
- Auto-Detection – Automatically scans and configures connected Qwiic sensors
- No Programming Required – Pre-loaded firmware handles detection, configuration, and logging
- Ultra-Low Power – 18 µA deep sleep; automatically powers down between readings longer than 2 seconds
- Configurable Rates – From 500 readings/second to 1 reading every 24 hours
- USB-C Interface – Configure via serial terminal at 115,200 bps; data streams to both terminal and microSD
- Built-in LiPo Charging – MCP73831 charger at 450 mA with battery connector
- 4 ADC Channels – 14-bit precision, 0–2 V input (3.3 V tolerant)
- RTC with Battery Backup – Timestamp all logged data
- Easy Firmware Updates – Use the Artemis Firmware Upload GUI, no Arduino IDE required
Compatible Sensors (Auto-Detected)
- uBlox GNSS modules (ZED-F9P, NEO-M8P-2, SAM-M8Q, ZOE-M8Q, NEO-M9N)
- Environmental: BME280, MS5637, MS8607, LPS25HB, SCD30, CCS811, SGP30, SGP40, SN-GCJA5
- Temperature/Humidity: TMP117, AHT20, SHTC3, MCP9600
- Pressure: MS5837, SDP31, MPR0025PA
- Proximity/Distance: VCNL4040, VL53L1X, VEML6075
- Other: NAU7802 (load cell), MAX30101 (pulse oximeter), ADS122C04 (PT100 ADC), Qwiic Mux
Specifications
- Processor: Artemis Module (Cortex-M4F Apollo3)
- Power Input: 3.3–6.5 V (VIN), 5 V (USB-C), 3.6–4.2 V (LiPo)
- Current: ~20 mA run / ~80 µA sleep / ~18 µA deep sleep
- Serial Logging: Up to 500,000 bps
- ADC: 4 channels, 14-bit, up to 1,900 Hz
- Storage: microSD (FAT16, FAT32, exFAT up to 32 GB+)
- Ports: 1× USB-C, 1× Qwiic I2C, 1× LiPo JST, 1× SWD header
Resources
Jargon buster
Plain-language definitions for the technical terms used above.
- ADC
- An analogue-to-digital converter reads a changing voltage and turns it into a number the microcontroller can use. It matters when connecting analogue sensors such as light, sound, or variable-resistor sensors.
- ADS122C04
- The ADS122C04 is a Texas Instruments analogue-to-digital converter (ADC) chip that measures small analogue voltages and reports them digitally over I2C. When a board is built around it, the exact part sets the resolution, input options, conversion speed and software support you can expect.
- deep sleep
- Deep sleep is a low-power mode where the microcontroller turns off most functions while keeping just enough circuitry active to wake up later. It is important for battery-powered projects because it can greatly extend how long the device runs between charges.
- GNSS
- GNSS stands for Global Navigation Satellite System, an umbrella term for satellite positioning networks such as GPS, GLONASS, Galileo and BeiDou. Receivers use these satellites to determine position, and high-precision units can output a steady stream of serial position data.
- I2C
- I2C is a two-wire communication bus used by many sensors and small modules. It matters because several I2C devices can share the same two wires, but each device needs a compatible address and your controller must support I2C.
- ICM-20948
- A motion-sensing chip that combines accelerometer, gyroscope, and magnetometer measurements. The part number matters because it tells you the board can provide 9-axis orientation and movement data, and which software libraries or drivers are likely to work.
- IDE
- Short for Integrated Development Environment, a program used to write, run and manage code. It matters because some learners prefer a traditional coding workspace instead of a guided notebook-style lesson.
- IMU
- An IMU (Inertial Measurement Unit) combines motion sensors, typically an accelerometer and gyroscope and sometimes a magnetometer, to measure movement and orientation. It can sense motion, tilt, vibration, rotation, and changes in direction, which is useful for tasks such as navigation, stabilisation, gesture detection, and asset tracking.
- LiPo
- A LiPo (lithium polymer) battery is a rechargeable lithium battery widely used in portable projects because it is light and compact. LiPo cells need correct charging circuitry and careful handling to stay safe, so equipment that supports LiPo generally includes charging or protection hardware suited to that battery type.
- MCP73831
- A lithium battery charger chip used to safely charge a single-cell LiPo battery. It matters because it lets the board recharge a battery from USB or another input without needing a separate charger module.
- microcontroller
- A microcontroller is a small computer on a single chip that runs a stored program and controls connected inputs and outputs such as buttons, sensors, displays and communication interfaces. In a device built around one, it is the part that executes the code and coordinates the device's behaviour.
- microSD card
- A microSD card is a small removable flash memory card used to store data such as audio, images, logs or program files. Its capacity and formatting (often FAT32 or exFAT) affect how much can be stored and whether the card needs preparing before use.
- NEO-M8P-2
- A u-blox GNSS receiver module that supports high-precision RTK positioning. The exact module matters because it determines the board’s accuracy, update rates, supported interfaces, and whether it can work as a rover or base station.
- Qwiic
- Qwiic is a plug-in connector system for I2C devices that uses small 4-pin cables, so you can connect compatible sensors without soldering. It matters because your controller or adapter also needs Qwiic, or you will need a cable or breakout to wire it up.
- RTC
- A Real-Time Clock keeps track of time even when the main processor is asleep or powered down, usually with a small backup battery. It matters for data logging and tracking projects that need accurate timestamps.
- SWD
- Serial Wire Debug (SWD) is a two-wire programming and debugging interface used with many ARM Cortex-M microcontrollers. It provides low-level access to program, recover or debug the microcontroller.
- TMP117
- The TMP117 is a Texas Instruments high-accuracy digital temperature sensor with an I2C interface, closely related to the TMP119. Software and example code written for the TMP117 will often work, though programs may still need to read the chip identifier to confirm the exact part.
- USB-C
- USB-C is a small, reversible USB connector that can carry power, data and, on some devices, video over a single cable. The same connector can range from charging only to high-speed data, so the functions a given port actually supports vary.
- ZED-F9P
- A u-blox GNSS receiver module designed for high-precision positioning, including RTK rover and base-station use. The exact module matters because it determines the supported satellite bands, update rates, correction formats and achievable accuracy.
Find this product in
Brands
OpenLog Artemis Schematic
Schematic · 374.2 KB · Click any page to view full size
Apollo3 Blue SoC Datasheet
Datasheet · 11.9 MB · Click any page to view full size
Artemis Integration Guide
User Guide · 762.1 KB · Click any page to view full size
Supplier page — sparkfun.com
Supplier Description · 2.4 MB · Click any page to view full size
Resources & Downloads
Guides, code examples, and more
Source Code
Open-source libraries, firmware & example projects for this product
A cross-platform GUI for uploading new firmware to an Artemis based device.
876d7de
over 1 year ago
· 69 commits
- .github Update build-and-release.yml over 1 year ago
- artemis_uploader Double-reset for macOS over 1 year ago
- examples Initial commit - from kirk-sfe over 3 years ago
- images Update README. Add new images over 1 year ago
- .gitattributes Initial commit over 6 years ago
- .gitignore Update readme. Move script to tools folder. Remove extra Blink. over 6 years ago
- artemis_upload.py Initial commit - from kirk-sfe over 3 years ago
- DESCRIPTION.md Initial commit - from kirk-sfe over 3 years ago
- LICENSE.md Create LICENSE.md about 6 years ago
- MANIFEST.in Initial commit - from kirk-sfe over 3 years ago
- README.md Update README.md over 1 year ago
- setup.cfg Initial commit - from kirk-sfe over 3 years ago
- setup.py Use Python 3.12. Update actions to latest over 1 year ago
Arduino core to support the Apollo3 microcontroller from Ambiq Micro
74a4786
over 1 year ago
· 1.4k commits
- .github add artemis module to generate-variants about 5 years ago
- cores updated to fix for floating point almost 3 years ago
- docs Update RELEASE_PROCESS.MD almost 4 years ago
- libraries added end method to PDM to facilitate stopping PDM over 3 years ago
- tools latest version of svl - yay over 2 years ago
- variants generated variants mbed resources over 2 years ago
- .gitignore Update .gitignore almost 6 years ago
- .gitmodules fixed ref to branch in the mbed submodule almost 3 years ago
- boards.txt re-order SVL uploader speeds so that 460800 is first and default, most mac user are reporting that lowering to 460800 is necessary for uploading about 5 years ago
- keywords.txt update keywords almost 6 years ago
- package.json update package.json over 4 years ago
- package_sparkfun_apollo3_index.json Update package_sparkfun_apollo3_index.json over 1 year ago
- platform.txt add --specs=nosys.specs to prevent build errors, update mbed core almost 5 years ago
- programmers.txt rename asb programmer configs almost 6 years ago
- README.MD Update README.MD over 4 years ago
The OpenLog Artemis is an open source datalogger the comes preprogrammed to automatically log IMU, GPS, serial data, and various pressure, humidity, and distance sensors. All without writing a single line of code!
f9c8e66
6 months ago
· 503 commits
- .github Update build-for-release.yml - to use Dockerfile 8 months ago
- Binaries Pushing new firmware binary 8 months ago
- Firmware Update Dockerfile 8 months ago
- Hardware Change R1 to 2.2k almost 6 years ago
- img Update COMPILE_BINARY - to include Dockerfile and compile_with_docker.bat 8 months ago
- .gitattributes Initial commit over 6 years ago
- .gitignore Add ignore. Remove backup files. over 6 years ago
- ADDING_SENSORS.md Update ADDING_SENSORS.md 6 months ago
- CHANGELOG.md v2.11 8 months ago
- COMPILE_BINARY.md Update COMPILE_BINARY - to include Dockerfile and compile_with_docker.bat 8 months ago
- CONTRIBUTING.md Added ADDING_SENSORS.md over 5 years ago
- ISSUE_TEMPLATE.md Update issue template. Change the way firmware version is printed. about 6 years ago
- LICENSE.md Update LICENSE.md almost 6 years ago
- README.md Update README.md 8 months ago
- SENSOR_UNITS.md Added support for the TMP102 sensor. Unfortunately, this will almost almost 2 years ago
The OpenLog Artemis Geophone Logger makes logging seismic data as easy as controlling text menus! This is a special add-on to the OpenLog Artemis.
fa40b55
about 2 years ago
· 25 commits
- .github Add compile workflows about 2 years ago
- Binaries Pushing new firmware binary about 2 years ago
- Extras v2.0 - WIP about 2 years ago
- Firmware Add //#define noPowerLossProtection about 2 years ago
- img Update SerialPlotter.gif almost 6 years ago
- CHANGELOG.md v2.0 - WIP about 2 years ago
- CONTRIBUTING.md Adding initial versions of the .md's almost 6 years ago
- HOOKUP.md v2.0 final tweaks - working on ADS122C04, ADS1219 and ADS1015 about 2 years ago
- ISSUE_TEMPLATE.md v2.0 - WIP about 2 years ago
- LICENSE.md Adding initial versions of the .md's almost 6 years ago
- README.md v2.0 - WIP about 2 years ago
- UPGRADE.md v2.0 final tweaks - working on ADS122C04, ADS1219 and ADS1015 about 2 years ago
The OpenLog Artemis GNSS Logger makes logging raw UBX messages as easy as controlling text menus! This is a special add-on to the OpenLog Artemis.
eb07a28
over 1 year ago
· 124 commits
- .github Update build-for-release.yml over 2 years ago
- Binaries Pushing new firmware binary over 1 year ago
- Extras Update workflows over 2 years ago
- Firmware V3.2 - Add disableNMEAOnUART1 over 1 year ago
- img Updated CONTRIBUTING.md almost 6 years ago
- Utils v3.1 updates over 2 years ago
- .gitattributes Initial commit about 6 years ago
- .gitignore Initial commit about 6 years ago
- CHANGELOG.md V3.2 - Add disableNMEAOnUART1 over 1 year ago
- CONTRIBUTING.md Rename master to main almost 5 years ago
- ISSUE_TEMPLATE.md Initial commit about 6 years ago
- LICENSE.md Initial commit about 6 years ago
- README.md Update README.md over 2 years ago
- UPGRADE.md Update UPGRADE.md over 1 year ago
Related Tutorials
Free guides on learn.littlebird.com.au