Extending the Reach of Data Logging

SparkFun CTO Kirk Benell provides a high-level introduction to the SparkFun DataLogger IoT, outlining the major functionality the product provides. Learn here about its interactive menu, next-level software, and what you need to know to get started.

Favorited Favorite 1

SparkFun has long offered embedded products that focus on logging information from a connected system or sensor. These ready-to-use products enabled rapid data logging of a connected device to a local storage (SD card) or to an attached serial device, while delivering a low-power, flexible data logging solution that required minimal configuration and no firmware development effort. Later versions also added the capability for automatic device recognition, delivering a true, plug-and-play data logging solution.

Our current data logging solutions are fantastic, but the data logging market has evolved beyond local data logging, with access to connected data services now expected. To meet this need, SparkFun launched the SparkFun DataLogger IoT product line, with our first offering being the DataLogger IoT – 9DOF product.

SparkFun DataLogger IoT - 9DoF

SparkFun DataLogger IoT - 9DoF


SparkFun DataLogger IoT

The SparkFun DataLogger IoT delivers a ready-to-use connected device focused on data logging of data obtained from the automatically detected SparkFun qwiic sensors connected to the board. Easily configured via an on-board configuration menu system, The DataLogger IoT supports data logging to a variety of connected data services as well as the local SD card and output to a connected serial device.

The DataLogger IoT system requires no development effort to operate or use – connect supported sensors, power on the device, and configure via a serial console based interactive menu or by providing a settings JSON file. Once configured, settings a persistent across device restarts, enabling dynamic deployment and use across a wide variety of environments and situations.

Key features of the SparkFun DataLogger IoT include:

  • It’s a ready to use device – no development required.
  • Simple, interactive device settings via a serial menu interface.
  • Automatic device detection, with extensive SparkFun qwiic board support – 50+ * products available at product launch.
  • Local data logging to the on-board SD card, or to the serial console.
  • Wi-Fi network connectivity built-in, with support for a variety of connected data logging services.
  • A built-in firmware update capability, enabling over-the-air firmware updates directly from the device.

Ready to Use

The SparkFun DataLogger IoT is delivered ready-to-use, requiring no firmware development or hardware engineering. Delivering a true plug-and-play experience, the DataLogger IoT the setup and deployment of a connected data logging system takes minutes.

The configuration of a connected data logging device using the SparkFun DataLogger IoT is straightforward, usually taking the following steps to deploy:

  • Attach the desired SparkFun qwiic sensors to the DataLogger IoT board.
  • If using a data service that requires security keys, add those keys to an SD card and insert the card into the DataLogger IoT board.
  • Connect the DataLogger IoT board to a computer via a USB-C cable and connect an interactive serial console application (Tera Term or my favorite, minicom from a terminal) to the DataLogger Device.
  • In the serial console, once the startup sequence is complete, press any key to bring up the DataLogger IoT menu system.
  • From the menu system, configure the device as desired. This can include specific sensor settings, Wi-Fi credentials and connected data service configuration.

When completed, the settings are saved, and the device is ready to use.

Interactive Menu System

The DataLogger IoT is configured via an interactive menu system accessed via the serial console. Once connected to the device and the device is started, the menu system is presented with a single key press, presenting a hierarchical menu that starts with options for system settings and device settings.

alt text

To navigate the menu system, entries are selected by pressing the corresponding number of the desired entry. Each menu has a “back” option, normally the “b” key or “x” to exit the menu from the top-level menu entry. The Escape key will also abort the current menu page.

The settings page has a wide variety of options for the DataLogger IoT, including general device operation, network connectivity, data service configuration and system update options.

alt text

Each entry presents options for that particular category or setting.

Selecting the Device Settings option from the main menu, presents a list of the devices currently connected to the DataLogger IoT board. Selecting a particular device presents the specific settings to the device.

For example, selected the devices for the DataLogger IoT – 9DOF board present the following menu, which lists the on-board devices for the board:

alt text

When a setting is changed, it is applied to the running system and saved when exiting the menu system so the updates are applied if the system is restarted.

It’s worth noting the DataLogger IoT also supports a json based settings import mechanism, enabling rapid configuration of new or reset DataLogger IoT by placing the file on an SD card that is inserted into the board.

Automatic Device Detection

One of the key goals of the DataLogger IoT is rapid configuration and use. And a key element in meeting this goal is the automatic detection and configuration of devices connected to the DataLogger IoT.

On release the DataLogger IoT is able to automatically detect and configure over 50 SparkFun qwiic boards. The DataLogger IoT firmware includes the drivers for each of the boards, as well as logic to detect and configure each device. On startup, the DataLogger IoT scans the I2C bus for known qwiic devices and if a device is detected, loads the appropriate driver, and configures the device automatically. This is an incredibly powerful and convenient feature that helps make the DataLogger IoT a valuable tool.

An example of this in action is shown in the below menu entries. By just adding a SparkFun Environment Combo board to the DataLogger IoT, the Device Settings menu automatically includes the board sensors – the CCS811 and the BME280.

alt text

The list of supported devices for the DataLogger IoT is provided in an on-line supported device list. As SparkFun releases more qwiic devices in the future, the devices that make sense will be added to the DataLogger IoT firmware.

Local Data Logging

While the DataLogger IoT is focused on connected data logging capabilities, it delivers core, local data logging capabilities. Namely logging data to the on-board SD card as well as to an attached serial console device.

The system supports two formats for the output data: CSV and JSON. Enabling data output and the desired format for each output destination is configured within the menu system of the DataLogger IoT.

For writing data to the SD card, the DataLogger IoT makes use of fast SD access (MMC), minimizing data delays when writing to the cards file system. Additionally, log files are rotated based on a user set time period, helping to simplify data management and organization.

Network Connectivity and Data Services

The key feature of the DataLogger IoT is its network connectivity and the access to network services this enables. With network support included, the DataLogger IoT implements a variety of network-based services that greatly enhance the flexibility and ability of the data logging system. This includes Network Time Protocol (NTP) support, for accurate time labeling of recorded data, and a variety of data logging network services.

On the initial release of the DataLogger IoT board, the following data logging services are supported:

  • Generic MQTT support
  • Generic HTTP post support
  • AWS IoT
  • Azure IoT
  • ThingSpeak
  • MachineChat

When a data service is enabled, each time data is logged by the DataLogger IoT, the data is sent to the data service.

A great example of logging output from the DataLogger is via the ThingSpeak service, which presents the output graphically. The following is the output of a BME280 qwiic device posted to ThingSpeak from a DataLogger IoT board. The simple plots show data performed during pre-release testing and the output generated today, while writing this blog post.

alt text

System Updates

SparkFun is committed to adding features and providing updates to the DataLogger IoT at a regularly scheduled pace. This allows for timely bug fixes, as well as adding new devices and network services as they become available.

To support easy updates, with the DataLogger IoT having network access, firmware updates “over-the-air” (OTA) are supported. Accessed via the menu system, the firmware checks for the latest firmware available, and if a newer version is available, provides the ability to download and apply the new firmware directly from the device.

If the network connectivity of a DataLogger IoT is not enabled, updates are also available offline using the on-board SD card as a source for the update operation.

A New Option for Connected Data Logging

Providing a ready-to-use system for connected data logging, the SparkFun DataLogger IoT delivers a new and unique solution to the SparkFun catalog. Implementing plug-and-play device detection for over 50 SparkFun qwiic products and supporting a range of network data services, the DataLogger IoT provides modern capabilities without requiring engineering work or firmware customization. Just add the desired sensor, configure the system, and begin logging.

Further Resources

Check out some more information on the DataLogger and what it's capable of in these blog posts!

Are you working on something with the DataLogger? We want to see! Shoot us a tweet @sparkfun, or show us on Instagram, Facebook or LinkedIn.

Comments 2 comments

  • gigapod / about 2 months ago / 1

    You need to reflash the firmware - see: https://github.com/sparkfun/SparkFun_DataLogger/issues/3

    Once you flash using that command, you can use the OTA menu in the datalogger to upgrade to the latest release.

    We are working to make this easier....

  • Member #1872048 / about 2 months ago / 1

    I think I just overwrite the DataLogger IoT firmware was doing firmware update and accidently hit Arduino script file, instead of cool term one! is it a brick now or can I still use it??

Related Posts

Shield of Dreams

Recent Posts


All Tags