Cold Chain Asset Tracker: A Golioth Reference Design

Asset tracing is arguably the number one cellular IoT application. Fleet vehicles in everything from commercial delivery services to public transportation, and every micro-mobility rental option (bikes, scooters, etc) includes asset tracking as core parts of their business model. One important variation on this applying asset tracking to the Cold Chain. It became a household when distributing vaccines in 2020, but it’s not new. Everything from raw meat to ice cream is transported using cold chain protocols.

This technology is particularly interesting when it comes to managing critical cargo, like refrigerated food and medicine. The Golioth Cold Chain Asset Tracker demonstrates how regular temperature readings can be recorded on the cloud along with a timestamp and GNSS (GPS) location. It enables your company to prove proper handling of these goods at any time during their transport and storage.

The Cold Chain Asset Tracker

With Golioth, keeping track of temperature and location data is both simple and configurable. This reference design is capable of taking readings as often as once per second, but the rate at which data is recorded, and the frequency at which it is uploaded to the cloud is remotely configurable.

Location data shown on map along with a temperature graph.

Temperature and location data is stored on the Golioth cloud, or any of your preferred cloud platforms.

In this application, latitude, longitude, temperature, pressure, and humidity data are all recorded along with a precision timestamp. Readings are cached on the device, a crucial feature that ensure data is not lost when the cellular network is unavailable. Most mobile asset trackers operate on a strict power budget and this caching also enables you to turn the cellular radio on and off on a schedule of your choosing to conserve power.

All Golioth Reference Designs include Over-the-Air (OTA) firmware updates. Your asset tracker may be in the field for months or years and you will still have the ability to update with new features.


Our reference designs use off-the-shelf hardware to help get your proof-of-concept up and running as quickly as possible.

Cold chain asset tracker displaying GPS location and temperature reading.

The Cold Chain Asset Tracker is based around a Nordic nRF9160 cellular modem, uBlox NEO-M8H GPS module, and Bosch BME380 temperature/pressure/humidity sensor.

The full parts list is on our Golioth Projects page, but the key components involved are the Nordic Semiconductor nRF9160 cellular system-in-package (SIP), the u-blox NEO-M9N GNSS module, and a Bosche BME280 temperature/pressure/humidity sensor.

The cellular modem (nRF9160) is one of our best supported parts on Golioth and is powered from either a local power supply or a lithium battery.

Cold Chain Asset Tracker reference design block diagram

Cold Chain Asset Tracker reference design block diagram


The firmware for the Cold Chain Asset Tracker reference design receives NMEA strings from the GNSS unit once-per-second that contain satellite fix data. Each valid reading is associated with the current reading from the BME280 sensor before the data is cached for secure upload to our servers.

The Golioth Settings Service is used to update a single device’s settings, a group of devices, or to make fleet-wide changes from our web console (and our REST API if you need it).

Golioth Settings Service for the Cold Chain Asset Tracker reference design

Golioth Settings Service for the Cold Chain Asset Tracker reference design

Here you can see the loop delay which indicates how long the device should sleep between uploading cached data to Golioth (in seconds). The gps delay tells the device how many seconds to wait between recording location data. In this, our test device has been configured separately from the rest of the fleet to take as many GPS readings as possible (no delay between readings) and upload that data once every three minutes.

Cloud Software / Dashboard

The Golioth Zephyr SDK takes care of the cloud connection for all of your devices. When writing firmware, just use the API to set/get/observe your data and Golioth handles the rest:

  • Sensor readings are stored as time-series data on LightDB Stream
  • Device settings are monitored in real-time, with the device reacting to your changes as soon as you make them.
  • The Golioth Console tracks the latest device state, including device health
  • Current firmware version is monitored, with the ability to rollout new OTA updates, and one-click rollback if you need it
  • Golioth’s convenient REST API delivers easy access to the data for visualization or export to any of your favorite cloud server platforms.

More Golioth Reference Designs

We want every customer that tries Golioth to experience the value of our device management cloud from day one. Golioth reference designs get you up and running in hours (not weeks) with the major IoT components necessary to your use case. Your prototypes are running on an instant IoT cloud built to scale, with the same infrastructure in place on day one that you need on the day you deploy your 1000th device.

nRF9160-DK running Golioth Cold Chain Asset Tracker

The flexibility of Golioth Reference Designs makes it possible to run them on stock hardware, not just custom boards. The Cold Chain Asset Tracker can be validated on this combination of the Nordic nRF9160-DK with an adapter board and two Click modules form MikroElectronika.

We’re always working on more reference material for you to take and customize for your business needs. Check out the Industries section of the Golioth website, which discusses areas we are targeting and Reference Designs we are building. If any of them interest you, click the “Schedule Demo” button for the one that best matches your needs. You can also drop a note on our Forum or on our Discord if you have ideas of other IoT prototypes you need help with or would like to see us build.

Talk with an Expert

Implementing an IoT project takes a team of people, and we want to help out as part of your team. If you want to troubleshoot a current problem or talk through a new project idea, we're here for you.

Start the discussion at