- Arduino ESP32 micro-controller programming
 - Provides simple and clean library for
- reading of various sensors
 - export data via WiFi to InfluxDB for visualization in Grafana, see my raspi-sensorics repository
 - writing to various displays
 - using a device_setup.h file to select the devices attached to that specific Arduino ESP32
 - read data from MQTT
 
 
- Abstract device class that all other devices inherit from in TM_Device_Class.cpp
 - InfuxDB interface via WiFi in TM_InfluxDB_Class.cpp
 - BME280 sensor for temperature, humidity and pressure in TM_BME280_Class.cpp
 - BH1750 sensor for illumination in TM_BH1750_Class.cpp
 - MH-Z19B sensor for CO2 concentration in TM_MH_Z19_Class.cpp
 - 7-segment 4-digit TM1637 display in TM_7SegmentDisplay_Class.cpp
 - OLED display 128x32px and 128x64px in TM_OLED_Class.cpp
 - RGB-LEDs: Ring and Single LED in TM_LED_Ring_Class.cpp
 
- Learning basics of C++: inheritance, templates, ...
 - Using pre compiler #define in device_setup.h file to select which classes are compiled to save time and memory
 - Power reduction from 1W to 0.3W by
- Under-clocking the ESP32 from 240 to 80 MHz via setCpuFrequencyMhz(80) in (TM_ESP32_Class.cpp
 - Enabling WiFi modem sleep via esp_wifi_set_ps(WIFI_PS_MODEM) in TM_InfluxDB_Class.cpp
 
 - OLED display: implemented bar chart
 - Standalone CO2 traffic light for our kindergarden and school
- offline
 - in proper case
 - using display and traffic light for visualization
 - see German Bauanleitung
 
 - Experiment with display devices
 
- Design and build cases via CAD and CNC
 - Add more sensors
 
CO2 Traffic Light V1.2: Massproduction and added history bar chart via OLED display (Bauanleitung)

CO2 Traffic Light V1 for our School (Bauanleitung)

CO2 Traffic Light Prototype for our Kindergarten: Display of CO2 level (measured by MH-Z19B) on a 7-segment display and RGB-LED

Experimenting with different displays

Display of CO2 level on small OLED display (measured by MH-Z19B)

Display of CO2 in Grafana (measured by MH-Z1B9)

Display of temperature, humidity and pressure in Grafana (measured by BME280)
