Source Code: https://github.com/hiveeyes/terkin-datalogger
At a glance¶
Terkin is a flexible data logger application for MicroPython and CPython environments. It provides a lot of sensor-, networking- and telemetry-connectivity options.
Terkin has been conceived for the Bee Observer (BOB) and Hiveeyes projects and was funded by the BMBF.
Modular firmware framework
Flexible configuration settings subsystem
Compatible with MicroPython and CPython
Concise, readable and modularized code which is easy to follow
Decoupled code domains and data models for sensors vs. telemetry
Based on approved modules from the MicroPython standard library
Convenient development sandbox and test suite for quick iteration cycles
Deviceare singleton objects representing the data logger application and the logging device.
Components of the sensor subsystem wrap hardware drivers to generalize sensor reading.
The telemetry subsystem uses different transport adapters to implement various connectivity scenarios.
x86_64, ARM, ESP32, STM32
Genuine MicroPython: PYBOARD-D, TTGO T-Call, TTGO T-Beam
Pycom MicroPython: WiPy, GPy, LoPy4, FiPy
CPython: Linux x86_64, Linux ARM (BeagleBone, Odroid, Raspberry Pi), macOS, WSL
Sensors: 1-Wire, I2C, ADC, System, WiFi
Drivers: DS18B20, BME280, BMP280, SI7021, ADS1x15, HX711, MAX17043, DS3231, AT24C32, INA219
Adapters: GPSD, EPSolar ViewStar PWM charge controller, Victron Energy VE.Direct MPPT charge controller, Raspberry Pi USV+
Telemetry: WiFi/MQTT, WiFi/HTTP, SIM800/HTTP, LoRaWAN/TTN OTAA+ABP
Sensorkit and board¶
To get a better idea about how running this firmware will feel like when watching its log output, we collected some excerpts at Running the Terkin Datalogger.
The documentation covers the main features of the MicroPython datalogger firmware and walks you through the setup process of the development sandbox environment in detail.
If you feel you have questions about anything you might encounter during the setup and installation process or if you even have suggestions to improve things, feel free to get back to us by creating an issue on the GitHub repository.
On the release page , bundles of the most recent software versions
are available through
These are suitable for uploading through Pymakr or similar
development environments / file synchronization tools.
settings.example.py blueprint into
and adjust each configuration setting appropriately. The
documentation of all parameters is in the file itself
and should be reasonably self-explanatory.
For using Terkin with TTN/LoRaWAN find some more details
If you would like to contribute to the development or want to setup a development environment for running the head version of this software, please follow up at Setup Terkin Datalogger sandbox to read about how to install the MicroPython firmware development environment and other software components it relies on and how to configure it properly.
The programming environment is command line based and has been tested successfully on Linux, macOS and the Windows Subsystem for Linux (WSL) shipped with Windows 10.
This software is an effort of many people. Thanks to all the contributors who helped to co-create and conceive it in one way or another. You know who you are.
This project is licensed under the terms of the AGPL license.
Please recognize this documentation is a work in progress. While many things are covered already, some places might just have been sketched out. It will be extended over time - you are dearly welcome to help closing some gaps by sending pull requests.