diff --git a/.gitignore b/.gitignore
index a40814f0a1e4a0e518f2e70fadad34dab2c82d8b..c5705828cd309cd3abdb66ab19a97343448f4bf3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -293,3 +293,6 @@ node_modules/
 
 CMakeLists.txt
 CmakeListsPrivate.txt
+forte.code-workspace
+client/client_satellite/.vscode/extensions.json
+client/client_satellite/.vscode/settings.json
diff --git a/client/client_satellite/src/main.cpp b/client/client_satellite/src/main.cpp
index b430f2c6a42670555b4397fdab96ea8131f0d3cd..0122838ed7cea818714d844cfe956227f8d01a9c 100644
--- a/client/client_satellite/src/main.cpp
+++ b/client/client_satellite/src/main.cpp
@@ -1,123 +1,118 @@
-#include "dr26.hpp"
+#include "ESPNow.hpp"
+#include "LC709203F.h"
 #include "NoDataAvailableException.hpp"
+#include "dr26.hpp"
 #include "f_deep_sleep.hpp"
 #include <Arduino.h>
-#include "ESPNow.hpp"
-#include "LC709203F.h"
 
-// FIXME: Use descriptive names for the constants below.
-LC709203F gg;
-static const std::string TAG = "MAIN";
+// Execution time:
+// FIXME: Boot: needs to be measured with oscilloscope and optimised. should be around a few hundres ms, can be <100ms
+// https://github.com/makermoekoe/Picoclick-C3#speed-up-boot-process
+// Part				[ms]
+// First setup: 	 150 
+// Data aquisition:  500
+// ESPNow setup: 	 220
+// Sending 			1200
+// TOTAL: 			2200
+
+static const char *TAG = "MAIN";
 
+LC709203F battery_monitor;
 
+ForteDR26 dr26_channel0;
 ForteDR26 dr26_channel3;
 ForteDR26 dr26_channel1;
 ForteDR26 dr26_channel2;
-ForteDR26 dr26_channel0_power;
 
-void setup() {
-    Serial.begin(115200);
-    //Set the GPIO which conrtols the step up to OUTPUT
-    gpio_set_direction(GPIO_NUM_32, GPIO_MODE_OUTPUT);
-
-    gg.begin();
-    gg.setCellCapacity(LC709203F_APA_1000MAH);
-
-
-    DeepSleep::print_wakeup_reason();
-    DeepSleep::bootCount++;
-    ESP_LOGD(TAG.c_str(), "Boot number: %d", DeepSleep::bootCount);
-
-    gpio_set_level(GPIO_NUM_32, 1);
-    dr26_channel1.setup();
-    dr26_channel3.setChannel(3);
-    dr26_channel1.setChannel(1);
-    dr26_channel2.setChannel(2);
-    dr26_channel0_power.setChannel(0);
-    gpio_set_level(GPIO_NUM_32, 0);
-
-    espnow_setup();
-    //	log_e("Setup complete.");
+void send_msgs(const std::__cxx11::list<Message> msgs)
+{
+	for (const Message &msg : msgs) {
+
+		if (msg.send() != ESP_OK) {
+			RtcMemory::store(msg.getMessageAsMinifiedJsonString());
+		}
+		unsigned long ts = millis();
+		// it takes ~110ms for receiving an acknowledgement by the host in perfect conditions
+		uint16_t message_timeout = 2000;
+		while (!was_msg_received()) {
+			if ((millis() - ts) > message_timeout) {
+				RtcMemory::store(msg.getMessageAsMinifiedJsonString());
+				ESP_LOGE(TAG, "Timeout: Host not available\n");
+				break;
+			}
+		}
+		ESP_LOGD(TAG, "Time until acknowledgement: %ld", millis() - ts);
+	}
 }
-
-void loop() {
-    gpio_set_level(GPIO_NUM_32, 1);
-    Serial.println(
-            "***********************1-DRS26 NOT YET CONNECTED**********************************");
-    Serial.println(dr26_channel1.readData(), 5);
-    Serial.println("***********************2-DRS26**********************************");
-    Serial.println(dr26_channel2.readData(), 5);
-    Serial.println("***********************3-DRS26 *********************************");
-    Serial.println(dr26_channel3.readData(), 5);
-
-
-    Serial.println("***********************0-Voltage-Battery**********************************");
-    dr26_channel3.changeGain(GAIN_TWOTHIRDS);
-    Serial.println(dr26_channel0_power.readData(), 5);
-
-    Serial.println("***********************REAL-Voltage-Battery**********************************");
-    Serial.println(gg.cellVoltage_mV() / 1000.0);
-
-    try {
-
-        auto messages = dr26_channel0_power.buildMessages();
-
-
-        for (const Message &message: messages) {
-            if (message.send() != ESP_OK) {
-                RtcMemory::store(message.getMessageAsMinifiedJsonString());
-            }
-            delay(5000);
-            if (!was_msg_received()) {
-                RtcMemory::store(message.getMessageAsMinifiedJsonString());
-            }
-        }
-
-        dr26_channel3.changeGain(GAIN_ONE);
-        auto messages2 = dr26_channel1.buildMessages(1, "CIRCUMFERENCE_INCREMENT");
-
-        for (const Message &message2: messages2) {
-            if (message2.send() != ESP_OK) {
-                RtcMemory::store(message2.getMessageAsMinifiedJsonString());
-            }
-            delay(5000);
-            if (!was_msg_received()) {
-                RtcMemory::store(message2.getMessageAsMinifiedJsonString());
-            }
-        }
-
-        auto messages3 = dr26_channel2.buildMessages(2, "CIRCUMFERENCE_INCREMENT");
-
-        for (const Message &message3: messages3) {
-            if (message3.send() != ESP_OK) {
-                RtcMemory::store(message3.getMessageAsMinifiedJsonString());
-            }
-            delay(5000);
-            if (!was_msg_received()) {
-                RtcMemory::store(message3.getMessageAsMinifiedJsonString());
-            }
-        }
-
-        auto messages4 = gg.buildMessages();
-        for (const Message &message4: messages4) {
-            if (message4.send() != ESP_OK) {
-                RtcMemory::store(message4.getMessageAsMinifiedJsonString());
-            }
-            delay(5000);
-            if (!was_msg_received()) {
-                RtcMemory::store(message4.getMessageAsMinifiedJsonString());
-            }
-        }
-
-
-    } catch (const NoDataAvailableException &e) {
-        std::cerr << e.what() << '\n';
-    }
-
-
-    Serial.print("This device: ");
-    Serial.println("\n");
-    gpio_set_level(GPIO_NUM_32, 0);
-    delay(5000);
-    DeepSleep::deep_sleep(100);
+// one loop takes ~2200 ms
+void setup()
+{
+	unsigned long ts = millis();
+	Serial.begin(115200);
+	// Set the GPIO which conrtols the step up to OUTPUT
+	gpio_set_direction(GPIO_NUM_32, GPIO_MODE_OUTPUT);
+
+	// blinking led for debug
+	// gpio_set_direction(GPIO_NUM_17, GPIO_MODE_OUTPUT);
+	// gpio_set_level(GPIO_NUM_17, 1);
+
+	battery_monitor.begin();
+
+	DeepSleep::print_wakeup_reason();
+	DeepSleep::bootCount++;
+	ESP_LOGD(TAG, "Boot number: %d", DeepSleep::bootCount);
+
+	gpio_set_level(GPIO_NUM_32, 1);
+	// delay(100);
+	dr26_channel1.setup();
+	dr26_channel0.setChannel(0);
+	dr26_channel1.setChannel(1);
+	dr26_channel2.setChannel(2);
+	dr26_channel3.setChannel(3);
+
+	ESP_LOGD(TAG, "Setup took %ld ms", millis() - ts);
+
+	try {
+		// FIXME: put me into seperate trys? No data will be sent when 1 exception occurs
+
+		ts = millis();
+		auto messages0 = dr26_channel0.buildMessages();
+		auto messages1 = dr26_channel1.buildMessages();
+		auto messages2 = dr26_channel2.buildMessages();
+		auto messages3 = dr26_channel3.buildMessages();
+		auto messages4 = battery_monitor.buildMessages();
+		// roughly takes 500ms, ~120ms for each adc channel, barely anything for battery monitor
+		ESP_LOGD(TAG, "Reading data and building messages took %ld ms", millis() - ts);
+		gpio_set_level(GPIO_NUM_32, 0);
+
+		// FIXME: put this outside the try loop?
+		ts = millis();
+		espnow_setup();
+		ESP_LOGD(TAG, "EPSNow setup took %ld ms", millis() - ts);
+		ts = millis();
+		send_msgs(messages0);
+		send_msgs(messages1);
+		send_msgs(messages2);
+		send_msgs(messages3);
+		send_msgs(messages4);
+		// roughly takes 3s in ideal conditions
+		ESP_LOGD(TAG, "Sending messages took %ld ms", millis() - ts);
+
+	} catch (const NoDataAvailableException &e) {
+		std::cerr << e.what() << '\n';
+	}
+	// just to be safe in case exception happens above
+	gpio_set_level(GPIO_NUM_32, 0);
+	// keep it in deep sleep
+	gpio_hold_en((gpio_num_t)GPIO_NUM_32);
+
+	battery_monitor.setPowerMode(LC709203F_POWER_SLEEP);
+	// battery protection: go to deep sleep for unlimited time when voltage less than 3.2V
+	if (battery_monitor.cellVoltage_mV() > 3200) {
+		DeepSleep::deep_sleep(10 * 60);
+	} else {
+		esp_deep_sleep_start();
+	}
 }
+
+void loop() {}
\ No newline at end of file
diff --git a/client/libs/LC7090203F/LC709203F.cpp b/client/libs/LC7090203F/LC709203F.cpp
index b7db139da8b51d3bc9fad1475324ff1e71b98d73..037130060b547c019b1ba30e8769f9d52c3f51e0 100644
--- a/client/libs/LC7090203F/LC709203F.cpp
+++ b/client/libs/LC7090203F/LC709203F.cpp
@@ -31,21 +31,21 @@ LC709203F::LC709203F(void) {}
 
 LC709203F::~LC709203F(void) {}
 
-uint8_t i2c_address = LC709203F_I2C_ADDR ;
+uint8_t i2c_address = LC709203F_I2C_ADDR;
 
 /*!
  *    @brief  Sets up the hardware and initializes I2C
  *    @param  
  *    @return True if initialization was successful, otherwise false.
  */
-bool LC709203F::begin( void ) 
-{
-  Wire.begin();
-  setPowerMode(LC709203F_POWER_OPERATE) ;
-  setCellCapacity(LC709203F_APA_500MAH) ;
-  setTemperatureMode(LC709203F_TEMPERATURE_THERMISTOR) ;
-  
-  return true;
+bool LC709203F::begin(void) {
+    Wire.begin();
+    setPowerMode(LC709203F_POWER_OPERATE);
+    setCellCapacity(LC709203F_APA_1000MAH);
+    setTemperatureMode(LC709203F_TEMPERATURE_I2C);
+    setCellProfile(LC709203_NOM3p7_Charge4p2);
+
+    return true;
 }
 
 
@@ -53,11 +53,10 @@ bool LC709203F::begin( void )
  *    @brief  Get IC version
  *    @return 16-bit value read from LC709203F_RO_ICVERSION registers
  */
-uint16_t LC709203F::getICversion(void) 
-{
-  uint16_t vers = 0;
-  vers = read16(LC709203F_RO_ICVERSION);
-  return vers;
+uint16_t LC709203F::getICversion(void) {
+    uint16_t vers = 0;
+    vers = read16(LC709203F_RO_ICVERSION);
+    return vers;
 }
 
 
@@ -65,9 +64,8 @@ uint16_t LC709203F::getICversion(void)
  *    @brief  Initialize the RSOC algorithm
  *    @return
  */
-void LC709203F::initRSOC(void) 
-{
-  write16(LC709203F_WO_INITRSOC, 0xAA55);
+void LC709203F::initRSOC(void) {
+    write16(LC709203F_WO_INITRSOC, 0xAA55);
 }
 
 
@@ -75,11 +73,10 @@ void LC709203F::initRSOC(void)
  *    @brief  Get battery voltage
  *    @return Cell voltage in milliVolt
  */
-uint16_t LC709203F::cellVoltage_mV(void) 
-{
-  uint16_t mV = 0;
-  mV = read16(LC709203F_RO_CELLVOLTAGE);
-  return 1000 * ( mV / 1000.0 ) ;
+uint16_t LC709203F::cellVoltage_mV(void) {
+    uint16_t mV = 0;
+    mV = read16(LC709203F_RO_CELLVOLTAGE);
+    return 1000 * (mV / 1000.0);
 }
 
 
@@ -87,22 +84,20 @@ uint16_t LC709203F::cellVoltage_mV(void)
  *    @brief  Get cell remaining charge in percent (0-100%)
  *    @return point value from 0 to 1000
  */
-uint16_t LC709203F::cellRemainingPercent10(void) 
-{
-  uint16_t percent = 0;
-  percent = read16(LC709203F_RO_ITE );
-  return percent ;
+uint16_t LC709203F::cellRemainingPercent10(void) {
+    uint16_t percent = 0;
+    percent = read16(LC709203F_RO_ITE);
+    return percent;
 }
 
 /*!
  *    @brief  Get battery state of charge in percent (0-100%)
  *    @return point value from 0 to 100
  */
-uint16_t LC709203F::cellStateOfCharge(void)
-{
-  uint16_t percent = 0;
-  percent = read16(LC709203F_RW_RSOC );
-  return percent ;
+uint16_t LC709203F::cellStateOfCharge(void) {
+    uint16_t percent = 0;
+    percent = read16(LC709203F_RW_RSOC);
+    return percent;
 }
 
 
@@ -110,11 +105,10 @@ uint16_t LC709203F::cellStateOfCharge(void)
  *    @brief  Get battery thermistor temperature
  *    @return value from -20 to 60 *C  // CdB Needs testing, no thermistor on ESP32_Bat_R2 board
  */
-uint16_t LC709203F::getCellTemperature(void) 
-{
-  uint16_t temp = 0;
-  temp = read16(LC709203F_RW_CELLTEMPERATURE );
-  return temp ;
+uint16_t LC709203F::getCellTemperature(void) {
+    uint16_t temp = 0;
+    temp = read16(LC709203F_RW_CELLTEMPERATURE);
+    return temp;
 }
 
 
@@ -123,9 +117,8 @@ uint16_t LC709203F::getCellTemperature(void)
  *    @param t The desired mode: LC709203F_TEMPERATURE_I2C or
  * LC709203F_TEMPERATURE_THERMISTOR
  */
-void LC709203F::setTemperatureMode(lc709203_tempmode_t t) 
-{
-  return write16(LC709203F_RW_STATUSBIT, (uint16_t)t);
+void LC709203F::setTemperatureMode(lc709203_tempmode_t t) {
+    return write16(LC709203F_RW_STATUSBIT, (uint16_t) t);
 }
 
 
@@ -133,9 +126,8 @@ void LC709203F::setTemperatureMode(lc709203_tempmode_t t)
  *    @brief  Set the cell capacity, 
  *    @param apa The lc709203_adjustment_t enumerated approximate cell capacity
  */
-void LC709203F::setCellCapacity(lc709203_adjustment_t apa) 
-{
-  write16(LC709203F_RW_APA, (uint16_t)apa);
+void LC709203F::setCellCapacity(lc709203_adjustment_t apa) {
+    write16(LC709203F_RW_APA, (uint16_t) apa);
 }
 
 
@@ -143,9 +135,8 @@ void LC709203F::setCellCapacity(lc709203_adjustment_t apa)
  *    @brief  Set the alarm pin to respond to an RSOC percentage level
  *    @param percent The threshold value, set to 0 to disable alarm
  */
-void LC709203F::setAlarmRSOC(uint8_t percent) 
-{
-  write16(LC709203F_RW_ALARMRSOC, percent);
+void LC709203F::setAlarmRSOC(uint8_t percent) {
+    write16(LC709203F_RW_ALARMRSOC, percent);
 }
 
 
@@ -153,9 +144,8 @@ void LC709203F::setAlarmRSOC(uint8_t percent)
  *    @brief  Set the alarm pin to respond to a battery voltage level
  *    @param voltage The threshold value, set to 0 to disable alarm
  */
-void LC709203F::setAlarmVoltage(float voltage) 
-{
-  write16(LC709203F_RW_ALARMVOLT, voltage * 1000);
+void LC709203F::setAlarmVoltage(float voltage) {
+    write16(LC709203F_RW_ALARMVOLT, voltage * 1000);
 }
 
 
@@ -165,9 +155,8 @@ void LC709203F::setAlarmVoltage(float voltage)
  *    @param t The power mode desired
  *    @return 
  */
-void LC709203F::setPowerMode(lc709203_powermode_t t) 
-{
-  write16(LC709203F_RW_POWERMODE, (uint16_t)t);
+void LC709203F::setPowerMode(lc709203_powermode_t t) {
+    write16(LC709203F_RW_POWERMODE, (uint16_t) t);
 }
 
 /*!
@@ -175,20 +164,18 @@ void LC709203F::setPowerMode(lc709203_powermode_t t)
  *    @param t The profile, Table 8.  Normally 1 for 3.7 nominal 4.2V Full carge cells
  *    @return
  */
-void LC709203F::setCellProfile(lc709203_cell_profile_t t) 
-{
-  write16(LC709203F_RW_PROFILE, (uint16_t)t);
+void LC709203F::setCellProfile(lc709203_cell_profile_t t) {
+    write16(LC709203F_RW_PROFILE, (uint16_t) t);
 }
 
 /*!
  *    @brief  Get the thermistor Beta value //For completeness since we have to write it.
  *    @return The uint16_t Beta value
  */
-uint16_t LC709203F::getThermistorBeta(void) 
-{
-  uint16_t val = 0;
-  val = read16(LC709203F_RW_THERMISTORB);
-  return val;
+uint16_t LC709203F::getThermistorBeta(void) {
+    uint16_t val = 0;
+    val = read16(LC709203F_RW_THERMISTORB);
+    return val;
 }
 
 
@@ -197,19 +184,18 @@ uint16_t LC709203F::getThermistorBeta(void)
  *    @param b The value to set it to
  *    @return 
  */
-void LC709203F::setThermistorB(uint16_t beta) 
-{
-  write16(LC709203F_RW_THERMISTORB, beta);
+void LC709203F::setThermistorB(uint16_t beta) {
+    write16(LC709203F_RW_THERMISTORB, beta);
 }
 
 
-std::list<Message> LC709203F::buildMessages()
-{
-	std::list<Message> messages;
-	float data =cellVoltage_mV()/1000.0;
-	MeasurementData IncrementData{data, 0, {},"Voltage-Batterie"};
-	messages.emplace_back(IncrementData, sensorInformation, Time::getInstance().getEpochSeconds());
-	return messages;
+std::list<Message> LC709203F::buildMessages() {
+    std::list<Message> messages;
+    float data = cellVoltage_mV() / 1000.0;
+    MeasurementData IncrementData{data, 0, {},
+                                  measurementTypeToString.at(MeasurementType::BATTERY_VOLTAGE)};
+    messages.emplace_back(IncrementData, sensorInformation, Time::getInstance().getEpochSeconds());
+    return messages;
 }
 
 
@@ -229,56 +215,53 @@ std::list<Message> LC709203F::buildMessages()
  *
  * @return The computed CRC8 value.
  */
-static uint8_t crc8(uint8_t *data, int len) 
-{
-  const uint8_t POLYNOMIAL(0x07);
-  uint8_t crc(0x00);
+static uint8_t crc8(uint8_t *data, int len) {
+    const uint8_t POLYNOMIAL(0x07);
+    uint8_t crc(0x00);
 
-  for (int j = len; j; --j) {
-    crc ^= *data++;
+    for (int j = len; j; --j) {
+        crc ^= *data++;
 
-    for (int i = 8; i; --i) {
-      crc = (crc & 0x80) ? (crc << 1) ^ POLYNOMIAL : (crc << 1);
+        for (int i = 8; i; --i) {
+            crc = (crc & 0x80) ? (crc << 1) ^ POLYNOMIAL : (crc << 1);
+        }
     }
-  }
-  return crc;
+    return crc;
 }
 
 
 // writes a 16-bit word (d) to register pointer regAddress
 // when selecting a register pointer to read from, data = 0
-void LC709203F::write16(uint8_t regAddress, uint16_t data)
-{
-  // Setup array to hold bytes to send including CRC-8
-  uint8_t crcArray[5];
-  crcArray[0] = 0x16;
-  crcArray[1] = regAddress;
-  crcArray[2] = lowByte(data);
-  crcArray[3] = highByte(data);
-  // Calculate crc of preceding four bytes and place in crcArray[4]
-  crcArray[4] = crc8( crcArray, 4 );
-  // Device address
-  Wire.beginTransmission(i2c_address);
-  // Register address
-  Wire.write(regAddress);
-  // low byte
-  Wire.write(crcArray[2]);
-  // high byte
-  Wire.write(crcArray[3]);
-  // Send crc8 
-  Wire.write(crcArray[4]);
-  Wire.endTransmission();
+void LC709203F::write16(uint8_t regAddress, uint16_t data) {
+    // Setup array to hold bytes to send including CRC-8
+    uint8_t crcArray[5];
+    crcArray[0] = 0x16;
+    crcArray[1] = regAddress;
+    crcArray[2] = lowByte(data);
+    crcArray[3] = highByte(data);
+    // Calculate crc of preceding four bytes and place in crcArray[4]
+    crcArray[4] = crc8(crcArray, 4);
+    // Device address
+    Wire.beginTransmission(i2c_address);
+    // Register address
+    Wire.write(regAddress);
+    // low byte
+    Wire.write(crcArray[2]);
+    // high byte
+    Wire.write(crcArray[3]);
+    // Send crc8
+    Wire.write(crcArray[4]);
+    Wire.endTransmission();
 }
 
-int16_t LC709203F::read16( uint8_t regAddress)
-{
-  int16_t data = 0;
-  Wire.beginTransmission(i2c_address);
-  Wire.write(regAddress);
-  Wire.endTransmission(false);
-  Wire.requestFrom(i2c_address, 2);
-  uint8_t lowByteData = Wire.read();
-  uint8_t highByteData = Wire.read();
-  data = word(highByteData, lowByteData);
-  return( data );
+int16_t LC709203F::read16(uint8_t regAddress) {
+    int16_t data = 0;
+    Wire.beginTransmission(i2c_address);
+    Wire.write(regAddress);
+    Wire.endTransmission(false);
+    Wire.requestFrom(i2c_address, static_cast<uint8_t>(2));
+    uint8_t lowByteData = Wire.read();
+    uint8_t highByteData = Wire.read();
+    data = word(highByteData, lowByteData);
+    return (data);
 }
diff --git a/client/libs/LC7090203F/LC709203F.h b/client/libs/LC7090203F/LC709203F.h
index 2b139191cd4da2f3ed52249999bd25baceb003d2..75ed26c319f43810ea13e331a9b28854d3611081 100644
--- a/client/libs/LC7090203F/LC709203F.h
+++ b/client/libs/LC7090203F/LC709203F.h
@@ -19,54 +19,54 @@
 // Registers per datasheet Table 6
 
 #define LC709203F_WO_BEFORE_RSOC        0x04    // Executes RSOC initialization with sampled maximum voltage when 0xAA55 is set
-#define LC709203F_RW_THERMISTORB 	      0x06    // Sets B−constant of the thermistor to be measured.
-#define LC709203F_WO_INITRSOC 			    0x07    // Executes RSOC initialization when 0xAA55 is set.
-#define LC709203F_RW_CELLTEMPERATURE 	  0x08 	  // Read or Write Cell Temperature  For ESP32-Bar-Rev2 must write temperature, no thermistor on board
-#define LC709203F_RO_CELLVOLTAGE 		    0x09    // Read cell voltage
+#define LC709203F_RW_THERMISTORB          0x06    // Sets B−constant of the thermistor to be measured.
+#define LC709203F_WO_INITRSOC                0x07    // Executes RSOC initialization when 0xAA55 is set.
+#define LC709203F_RW_CELLTEMPERATURE      0x08      // Read or Write Cell Temperature  For ESP32-Bar-Rev2 must write temperature, no thermistor on board
+#define LC709203F_RO_CELLVOLTAGE            0x09    // Read cell voltage
 #define LC709203F_RW_CURRENTDIRECTION   0x0A    // Selects Auto/Charge/Discharge mode 0x0000: Auto mode, 0x0001: Charge mode, 0xFFFF: Discharge mode
-#define LC709203F_RW_APA 				        0x0B    // APA Register, Table 7
+#define LC709203F_RW_APA                        0x0B    // APA Register, Table 7
 #define LC709203F_RW_APTHERMISTOR       0x0C    // Sets a value to adjust temperature measurement delay timing. Defaults to0x001E
 #define LC709203F_RW_RSOC               0x0D    // Read cell indicator to empty in 1% steps
-#define LC709203F_RO_ITE     			      0x0F    // Read cell indicator to empty in 0.1% steps
-#define LC709203F_RO_ICVERSION 		      0x11    // Contains the ID number of the IC
-#define LC709203F_RW_PROFILE	 		      0x12    // Adjusts the battery profile for nominal and fully charged voltages, see Table 8
-#define LC709203F_RW_ALARMRSOC 		      0x13    // Alarm on percent threshold
-#define LC709203F_RW_ALARMVOLT 		      0x14    // Alarm on voltage threshold
-#define LC709203F_RW_POWERMODE 		      0x15    // Sets sleep/power mode 0x0001: Operational mode 0x0002: Sleep mode
-#define LC709203F_RW_STATUSBIT 		      0x16    // Temperature method, 0x0000: I2C mode, 0x0001: Thermistor mode 
+#define LC709203F_RO_ITE                      0x0F    // Read cell indicator to empty in 0.1% steps
+#define LC709203F_RO_ICVERSION              0x11    // Contains the ID number of the IC
+#define LC709203F_RW_PROFILE                  0x12    // Adjusts the battery profile for nominal and fully charged voltages, see Table 8
+#define LC709203F_RW_ALARMRSOC              0x13    // Alarm on percent threshold
+#define LC709203F_RW_ALARMVOLT              0x14    // Alarm on voltage threshold
+#define LC709203F_RW_POWERMODE              0x15    // Sets sleep/power mode 0x0001: Operational mode 0x0002: Sleep mode
+#define LC709203F_RW_STATUSBIT              0x16    // Temperature method, 0x0000: I2C mode, 0x0001: Thermistor mode
 #define LC709203F_RO_CELLPROFILE        0x1A    // Displays battery profile code
 
 static uint8_t crc8(uint8_t *data, int len);
 
 /*!  Approx cell capacity Table 7 */
 typedef enum {
-  LC709203F_APA_100MAH              = 0x08,
-  LC709203F_APA_200MAH              = 0x0B,
-  LC709203F_APA_500MAH              = 0x10,
-  LC709203F_APA_1000MAH             = 0x19,
-  LC709203F_APA_2000MAH             = 0x2D,
-  LC709203F_APA_3000MAH             = 0x36,
+    LC709203F_APA_100MAH = 0x08,
+    LC709203F_APA_200MAH = 0x0B,
+    LC709203F_APA_500MAH = 0x10,
+    LC709203F_APA_1000MAH = 0x19,
+    LC709203F_APA_2000MAH = 0x2D,
+    LC709203F_APA_3000MAH = 0x36,
 } lc709203_adjustment_t;
 
 /*!  Cell profile */
 typedef enum {
-  LC709203_NOM3p7_Charge4p2         = 1,
-  LC709203_NOM3p8_Charge4p35        = 3,
-  LC709203_NOM3p8_Charge4p35_Less500mAh = 6,
-  LC709203_ICR18650_SAMSUNG         = 5,
-  LC709203_ICR18650_PANASONIC       = 4
-}lc709203_cell_profile_t ;
+    LC709203_NOM3p7_Charge4p2 = 1,
+    LC709203_NOM3p8_Charge4p35 = 3,
+    LC709203_NOM3p8_Charge4p35_Less500mAh = 6,
+    LC709203_ICR18650_SAMSUNG = 5,
+    LC709203_ICR18650_PANASONIC = 4
+} lc709203_cell_profile_t;
 
 /*!  Cell temperature source */
 typedef enum {
-  LC709203F_TEMPERATURE_I2C         = 0x0000,
-  LC709203F_TEMPERATURE_THERMISTOR  = 0x0001,
+    LC709203F_TEMPERATURE_I2C = 0x0000,
+    LC709203F_TEMPERATURE_THERMISTOR = 0x0001,
 } lc709203_tempmode_t;
 
 /*!  Chip power state */
 typedef enum {
-  LC709203F_POWER_OPERATE           = 0x0001,
-  LC709203F_POWER_SLEEP             = 0x0002,
+    LC709203F_POWER_OPERATE = 0x0001,
+    LC709203F_POWER_SLEEP = 0x0002,
 } lc709203_powermode_t;
 
 /*!
@@ -75,38 +75,56 @@ typedef enum {
  */
 class LC709203F {
 public:
-  LC709203F();
-  ~LC709203F();
+    LC709203F();
 
-  bool begin( void );
-  void initRSOC(void);
+    ~LC709203F();
 
-  void setPowerMode(lc709203_powermode_t t);
-  void setCellCapacity(lc709203_adjustment_t apa);
-  void setCellProfile(lc709203_cell_profile_t t);
-  
-  uint16_t getICversion(void);
+    bool begin(void);
 
-  uint16_t cellVoltage_mV(void);
-  uint16_t cellRemainingPercent10(void);	// Remaining capacity in increments of 0.1% as integer
-	uint16_t cellStateOfCharge(void);				// In increments of 1% as integer
-	
+    void initRSOC(void);
 
-  uint16_t getThermistorBeta(void);
-  void setThermistorB(uint16_t beta);
+    void setPowerMode(lc709203_powermode_t t);
 
-  void setTemperatureMode(lc709203_tempmode_t t);
-  uint16_t getCellTemperature(void);
+    void setCellCapacity(lc709203_adjustment_t apa);
 
-  void setAlarmRSOC(uint8_t percent);
-  void setAlarmVoltage(float voltage);
-  std::list<Message> buildMessages();
+    void setCellProfile(lc709203_cell_profile_t t);
+
+    uint16_t getICversion(void);
+
+    uint16_t cellVoltage_mV(void);
+
+    uint16_t cellRemainingPercent10(void);    // Remaining capacity in increments of 0.1% as integer
+    uint16_t cellStateOfCharge(void);                // In increments of 1% as integer
+
+
+    uint16_t getThermistorBeta(void);
+
+    void setThermistorB(uint16_t beta);
+
+    void setTemperatureMode(lc709203_tempmode_t t);
+
+    uint16_t getCellTemperature(void);
+
+    void setAlarmRSOC(uint8_t percent);
+
+    void setAlarmVoltage(float voltage);
+
+    std::list<Message> buildMessages();
 
 protected:
-  void write16( uint8_t regAddress, uint16_t data);
-  int16_t read16(uint8_t regAddress);
+    void write16(uint8_t regAddress, uint16_t data);
+
+    int16_t read16(uint8_t regAddress);
+
 private:
-  const SensorInformation sensorInformation{"DR26", Protocol::Analog};
+    const SensorInformation sensorInformation{"LC709203", Protocol::I2C};
+
+    enum class MeasurementType {
+        BATTERY_VOLTAGE,
+    };
+
+    std::map<MeasurementType, const char *> measurementTypeToString = {
+            {MeasurementType::BATTERY_VOLTAGE, "BATTERY_VOLTAGE"}};
 };
 
 #endif
diff --git a/client/libs/deep_sleep/f_deep_sleep.cpp b/client/libs/deep_sleep/f_deep_sleep.cpp
index f4eb3177e284bbe4ddbea7414a1dec9df3572d96..753191d701e258417475760248bf4e985aea2d12 100644
--- a/client/libs/deep_sleep/f_deep_sleep.cpp
+++ b/client/libs/deep_sleep/f_deep_sleep.cpp
@@ -26,7 +26,7 @@ void print_wakeup_reason()
 		ESP_LOGD(TAG.c_str(), "Wakeup caused by ULP program");
 		break;
 	default:
-		ESP_LOGD(TAG.c_str(), "Wakeup was not caused by deep sleep: %d\n", wakeup_reason);
+		ESP_LOGD(TAG.c_str(), "Wakeup was not caused by deep sleep: %d", wakeup_reason);
 		break;
 	}
 }
diff --git a/client/libs/dr26_analogue/dr26.cpp b/client/libs/dr26_analogue/dr26.cpp
index cb908156140c1cb5893ba3b5c74d8dd024e19821..1f01f0820e05d25db819606361626869352e3851 100644
--- a/client/libs/dr26_analogue/dr26.cpp
+++ b/client/libs/dr26_analogue/dr26.cpp
@@ -1,36 +1,45 @@
 #include "dr26.hpp"
 
+static const char *TAG = "DR26";
 void ForteDR26::setup() {
-
-    // This was changed by Bilal on november 25th from
-    //	Wire.begin(6,7);
-    pinMode(2, OUTPUT);
     Wire.begin();
-    //  ads.setGain(GAIN_ONE);
-    //  ads.begin() ?  Serial.println("ADS initialized") : Serial.println("failed to initialize ADS");
 
     ads1.setGain(GAIN_ONE);
-    ads1.begin() ? Serial.println("ADS initialized") : Serial.println("failed to initialize ADS");
+    ads1.setDataRate(RATE_ADS1115_8SPS);
+    ads1.begin() ? ESP_LOGD(TAG, "ADS initialized") : ESP_LOGE(TAG, "failed to initialize ADS");
     delay(100);
     channel = 0;
 }
 
 float ForteDR26::readData() {
     float volts = 0;
-    for (int i = 0; i < 10; i++) {
-        int16_t adc = 0;
-        float volt = 0;
-        try {
-            adc = ads1.readADC_SingleEnded(channel);
-            volt = ads1.computeVolts(adc);
-        }
-        catch (NoDataAvailableException &e) {
-            throw NoDataAvailableException();  //propagate exception
-        }
-        volts += volt;
-    }
 
-    volts /= 10;
+    // adjust data rate instead of yourself. ADC averages on its on with low data rate
+    // FIXME: Test which datarate gets most stable result. If it still is not good enough consider adding a small capacitor or averaging again
+    // for (int i = 0; i < 10; i++) {
+    //     int16_t adc = 0;
+    //     float volt = 0;
+    //     try {
+    //         adc = ads1.readADC_SingleEnded(channel);
+    //         volt = ads1.computeVolts(adc);
+    //     }
+    //     catch (NoDataAvailableException &e) {
+    //         throw NoDataAvailableException();  //propagate exception
+    //     }
+    //     volts += volt;
+    // }
+
+    // volts /= 10;
+
+    
+    int16_t adc = 0;
+    try {
+        adc = ads1.readADC_SingleEnded(channel);
+        volts = ads1.computeVolts(adc);
+    }
+    catch (NoDataAvailableException &e) {
+        throw NoDataAvailableException();  //propagate exception
+    }
     return volts;
 }
 
@@ -60,14 +69,13 @@ void ForteDR26::setChannel(int c) {
 std::list<Message> ForteDR26::buildMessages() {
     std::list<Message> messages;
     float data = readData();
-    MeasurementData IncrementData{data, 0, {}, "CIRCUMFERENCE_INCREMENT"};
+    MeasurementData IncrementData{data, channel, {}, "CIRCUMFERENCE_INCREMENT"};
     messages.emplace_back(IncrementData, sensorInformation, Time::getInstance().getEpochSeconds());
     return messages;
 }
 
-// FIXME: Channel shadows a member variable, we don't need it, just take the member variable instead
 // FIXME: passing the measurementType as a string is not a good idea, we should use an enum like we do for other sensors
-std::list<Message> ForteDR26::buildMessages(int channel, std::string measurementType) {
+std::list<Message> ForteDR26::buildMessages(std::string measurementType) {
     std::list<Message> messages;
     float data = readData();
     MeasurementData IncrementData{data, channel, {}, measurementType};
diff --git a/client/libs/dr26_analogue/dr26.hpp b/client/libs/dr26_analogue/dr26.hpp
index b60c0997ec0180bc9e145d2588387022f9999f2a..e1bc6b3e6c1857716a4e0fc6a0870ffd48774fbb 100644
--- a/client/libs/dr26_analogue/dr26.hpp
+++ b/client/libs/dr26_analogue/dr26.hpp
@@ -16,7 +16,7 @@ class ForteDR26 : public ForteSensor<float> {
 	void changeGain(adsGain_t gain);
 	void setChannel(int channel);
 	std::list<Message> buildMessages() override;
-	std::list<Message> buildMessages(int channel,std::string mesurment_type);
+	std::list<Message> buildMessages(std::string mesurment_type);
 	[[nodiscard]] SensorInformation getSensorInformation() const override;
 	static Adafruit_ADS1115 ads1;
 
diff --git a/client/libs/espnow/src/ESPNow.cpp b/client/libs/espnow/src/ESPNow.cpp
index 9c9ca0581d8117644582ff5b0a3acd788a17068c..e230b55ba89f670e1ef7a9e99983081afea26ecf 100644
--- a/client/libs/espnow/src/ESPNow.cpp
+++ b/client/libs/espnow/src/ESPNow.cpp
@@ -38,13 +38,8 @@ esp_err_t add_host_to_peers(config received){
 
 void on_data_sent(const uint8_t *mac_addr, esp_now_send_status_t status)
 {
-	ESP_LOGE(TAG, "Message sent to");
-	for(int i=0; i<6; i++){
-		Serial.print(mac_addr[i], HEX);
-		Serial.print(":");
-	}
-	Serial.println();
-	// go to sleep
+	ESP_LOGE(TAG, "Message sent to %02X:%02X:%02X:%02X:%02X:%02X", mac_addr[0],
+			mac_addr[1], mac_addr[2], mac_addr[3], mac_addr[4], mac_addr[5]);
 }
 
 void on_data_recv(const uint8_t *mac, const uint8_t *incomingData, int len)
@@ -52,28 +47,14 @@ void on_data_recv(const uint8_t *mac, const uint8_t *incomingData, int len)
 	// is msg host -> yes -> set bool
 	// assume host change not happening, rare event
 	// => on host change, broadcast 
-	ESP_LOGE(TAG, "Message recieved");
+	ESP_LOGD(TAG, "Message received");
 	config received_msg;
 	memcpy(&received_msg, incomingData, sizeof(received_msg)); // TODO: check for valid mac
 														  // all the esp32 macs so far use the same first 3(?) bytes so maybe use that	
+														  // First three bytes of MACs are always vendor specific. But vendors have a range of them. 
+														  // all Espressif registered MAC starting bytes: https://maclookup.app/vendors/espressif-inc
+														  // you can also set your own MAC https://randomnerdtutorials.com/get-change-esp32-esp8266-mac-address-arduino/
 	switch (received_msg.type){
-		case dataAck:{
-			ESP_LOGI(TAG, "dataAck received.");
-			msg_recv = true;
-			Time::getInstance().setTime(
-			received_msg.epoch_seconds); // see https://www.esp32.com/viewtopic.php?t=9965, maybe this needs an offset
-			Serial.println(Time::getInstance().getEpochSeconds());
-			preferences.begin("config", false);
-			if (!preferences.isKey("host")) {
-				if(preferences.putBytes("host", received_msg.host, sizeof(received_msg.host)) > 0){;
-			ESP_LOGI(TAG, "host MAC address saved to flash");
-				}
-
-			// add host to peers
-			add_host_to_peers(received_msg);
-			}
-			preferences.end();
-		}
 		case hostChange:{
 			ESP_LOGI(TAG, "hostChange received");
 			Time::getInstance().setTime(received_msg.epoch_seconds);
@@ -89,7 +70,8 @@ void on_data_recv(const uint8_t *mac, const uint8_t *incomingData, int len)
 			// add new host
 			preferences.begin("config", false);
 			if(preferences.putBytes("host", received_msg.host, sizeof(received_msg.host)) > 0){
-				ESP_LOGI(TAG, "Host Mac address saved to flash:");
+				ESP_LOGI(TAG, "Host MAC address saved to flash %02X:%02X:%02X:%02X:%02X:%02X", received_msg.host[0],
+			received_msg.host[1],received_msg.host[2],received_msg.host[3],received_msg.host[4],received_msg.host[5]);
 			}
 			else{
 				ESP_LOGI(TAG, "Couldn't save Host Mac to flash");
@@ -97,6 +79,26 @@ void on_data_recv(const uint8_t *mac, const uint8_t *incomingData, int len)
 			preferences.end();
 			add_host_to_peers(received_msg);
 		}
+		case dataAck:{
+			ESP_LOGI(TAG, "dataAck received.");
+			Time::getInstance().setTime(
+			received_msg.epoch_seconds); // see https://www.esp32.com/viewtopic.php?t=9965, maybe this needs an offset
+			
+			ESP_LOGI(TAG, "Timestamp received: %ld", Time::getInstance().getEpochSeconds());
+			preferences.begin("config", false);
+			if (!preferences.isKey("host")) {
+				if(preferences.putBytes("host", received_msg.host, sizeof(received_msg.host)) > 0){
+			ESP_LOGI(TAG, "host MAC address saved to flash %02X:%02X:%02X:%02X:%02X:%02X", received_msg.host[0],
+			received_msg.host[1],received_msg.host[2],received_msg.host[3],received_msg.host[4],received_msg.host[5]);
+				}
+
+			// add host to peers
+			add_host_to_peers(received_msg);
+			}
+			preferences.end();
+			// delay(50);
+			msg_recv = true;
+		}
 		default:{
 			break;
 		}
@@ -111,6 +113,7 @@ esp_err_t espnow_setup()
 	result = esp_now_init();
 	if (result != ESP_OK) {
 		// initialization failed
+		ESP_LOGE(TAG, "ESPNow setup failed");
 		return result; // not sure about this
 	}
 
@@ -127,5 +130,6 @@ esp_err_t espnow_setup()
 	esp_now_register_recv_cb(on_data_recv);
 	esp_now_register_send_cb(on_data_sent);
 
+	ESP_LOGI(TAG, "ESPNow started. MAC: %s", WiFi.macAddress().c_str());
 	return ESP_OK;
 }
diff --git a/client/libs/espnow/src/Message.cpp b/client/libs/espnow/src/Message.cpp
index 03d8f88961926939a862e6b834514808ec0e3a66..b24ecadcf682489c227894733fc5c612a166700e 100644
--- a/client/libs/espnow/src/Message.cpp
+++ b/client/libs/espnow/src/Message.cpp
@@ -4,7 +4,7 @@ static const char *TAG = "MESSAGE";
 
 esp_err_t Message::send() const
 {
-	ESP_LOGI(TAG, "Sending message");
+	ESP_LOGD(TAG, "Sending message");
 	esp_err_t success;
 	auto messageData = getMessageAsMinifiedJsonString();
 
@@ -12,12 +12,11 @@ esp_err_t Message::send() const
 	success = esp_now_send(recipient, (uint8_t *)messageData.c_str(), (messageData.length() + 1) * sizeof(char));
 	if (success != ESP_OK) {
 		ESP_LOGE(TAG, "Error sending the data");
-		Serial.println(success, HEX);
 		// Removed caching from here, better do this in main
 	}
-	ESP_LOGE(TAG, "Sent data: %s", messageData.c_str());
+	ESP_LOGD(TAG, "Sent data: %s", messageData.c_str());
 
-	ESP_LOGD(TAG, "time sent: %l", clientDataPackage.getTimestamp());
+	ESP_LOGD(TAG, "Timestamp sent: %ld", clientDataPackage.getTimestamp());
 	ESP_LOGD(TAG, "send status: %d", success);
 
 	return success;
diff --git a/code-snippets/client/soil_sensor_sentec/main.cpp b/code-snippets/client/soil_sensor_sentec/main.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..aac6bac8b4d4084b3ead90eb19f85584560e25ce
--- /dev/null
+++ b/code-snippets/client/soil_sensor_sentec/main.cpp
@@ -0,0 +1,172 @@
+#include "Arduino.h"
+#include <SoftwareSerial.h>    // RS485 setup with ESP32
+
+// THIS SNIPPET APPLIES ONLY TO SOIL SENSORS!!!
+// Other RS485 sensors will have to use other commands as well
+
+/* 
+TODO It would be better to have one class for ALL RS485 sensors since they
+all send/receive data in the same way, and then specific classes for individual
+sensors (soil moisture, rain gauge, radiation) with sensor-specific commands.
+*/
+
+/* TODO The address of the sensor (first byte of the query frame) is
+hard-coded now - it should be passed as an argument instead since
+we have three sensors with different addresses now. 
+The last two values of the queryFrame don't matter, they will be changed
+later to confrom to the CRC check.
+The length of the sent message will always be 8 bytes.
+*/
+const byte bufferSize = 6;
+byte queryFrame[bufferSize + 2] = {0x05, 0x03, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00};
+// 0: sensor address (differs per sensor)
+// 1: function code (03 = get data for all sensors) 
+// 2+3: register start (0x00 0x00 for all sensors)
+// 4+5: register length (0x01 for radiation+rain, 0x02 for soil)
+// 6+7: CRC check (calculated later per sensor and message)
+
+/*
+TODO the length of the answer frame should NOT be hard-coded, it's going to be either
+8 bytes (radiation, rain) or 9 bytes (soil)
+*/
+byte answerFrame[9];
+
+
+#define RXPin        4  // Serial Receive pin
+#define TXPin        5  // Serial Transmit pin
+ 
+// RS485 control
+// this will change once we get different hardware
+#define SERIAL_COMMUNICATION_CONTROL_PIN 6 // Transmission set pin
+#define RS485_TX_PIN_VALUE HIGH
+#define RS485_RX_PIN_VALUE LOW
+ 
+SoftwareSerial RS485Serial(RXPin, TXPin); // RX, TX
+ 
+
+unsigned int calculateCRC()
+// TODO pass the query/answer frame into this and return the changed frame
+//     to make things neater maybe? Apparently there are also libraries for this...
+
+// Change the last two bytes of the queryFrame to conform to a CRC check
+// Yes, this is necessary. No, I don't know exactly what it does.
+{
+  unsigned int tmp1, tmp2, flag;
+  tmp1 = 0xFFFF;
+  for (unsigned char i = 0; i < bufferSize; i++)
+  {
+    tmp1 = tmp1 ^ queryFrame[i];
+    for (unsigned char j = 1; j <= 8; j++)
+    {
+      flag = tmp1 & 0x0001;
+      tmp1 >>= 1;
+      if (flag)
+        tmp1 ^= 0xA001;
+    }
+  }
+
+  // Reverse byte order. 
+  tmp2 = tmp1 >> 8;
+  tmp1 = (tmp1 << 8) | tmp2;
+  tmp1 &= 0xFFFF;
+  queryFrame[bufferSize + 1] = tmp1;
+  queryFrame[bufferSize] = tmp1 >> 8;
+
+    return tmp1; // the returned value is already swapped - CRC_L byte is first & CRC_H byte is last
+}
+
+
+void setup()  {
+  // configure the pin to be output only
+  pinMode(SERIAL_COMMUNICATION_CONTROL_PIN, OUTPUT);
+  
+  // Set data rates: Serial baud rate has to be WAY HIGHER than RS485Serial!
+  Serial.begin(115200);
+  RS485Serial.begin(4800);
+ 
+  // Calculate the check bytes: changes the last two bytes of queryFrame
+  calculateCRC(); 
+
+  // Print the message that's sent to the sensor
+  Serial.println("Query bytes:");
+  for (int i = 0; i < sizeof(queryFrame); i++){
+    Serial.print(queryFrame[i], HEX);
+    Serial.print(" ");
+  } 
+  Serial.println();
+  Serial.println();
+}
+
+
+void loop() {
+  // Index for the readout while loop
+  int idx = 0;
+  int byteReceived;
+
+  float vwc;  // volumetric waetr content, i.e. soil moisture
+  float temp;  // soil temperature
+
+ 
+  // Initialize the transmitter
+  Serial.println("Sending data");
+  digitalWrite(SERIAL_COMMUNICATION_CONTROL_PIN, RS485_TX_PIN_VALUE); 
+  // Send message: request a reading from the sensor
+  RS485Serial.write(queryFrame, sizeof(queryFrame)); 
+
+  // Initialize the receiver
+  digitalWrite(SERIAL_COMMUNICATION_CONTROL_PIN, RS485_RX_PIN_VALUE); 
+
+  // Read out data: this works ONLY when the Serial baud rate >> RS485Serial baud rate
+  // TODO add some logic for when there's no data and we get a timeout
+  while (idx < sizeof(answerFrame)) { 
+    if(RS485Serial.available()) {
+        byteReceived = RS485Serial.read();
+        // Serial.println(byteReceived, HEX);
+        answerFrame[idx] = byteReceived;
+        idx++;
+    }
+  }
+    
+  // Print out answer bytes
+  /*
+  Byte 0: sensor address
+  Byte 1: Function code
+  Byte 2: valid bytes (2 valid bytes per read variable)
+  Byte 3+4: 1st read variable
+  Byte 5+6: 2nd read variable
+  Byte n-1 + n: CRC checks
+  */
+  Serial.println(" ");
+  Serial.println("Answer bytes:");
+  for(int i = 0; i < sizeof(answerFrame); i++){
+    Serial.print(answerFrame[i], HEX);
+    Serial.print(" ");
+  }
+
+  Serial.println();
+  Serial.println();
+
+  Serial.print("Sensor number: "); 
+  Serial.println(answerFrame[0], HEX);
+
+  Serial.print("Number of read variables: ");
+  Serial.println(answerFrame[2] / 2, DEC);
+
+  vwc = word(answerFrame[3], answerFrame[4]);  // word = 2 bytes, high byte first
+  Serial.print("vwc: ");
+  Serial.println(vwc / 10 , DEC);
+
+  temp = word(answerFrame[5], answerFrame[6]);
+  Serial.print("soil T: ");
+  Serial.println(temp / 10, DEC);
+
+  Serial.println(" ");
+  
+  // Get reading every 5 seconds
+  delay(5000);
+
+  /* TODO add a CRC check for the received data, i.e. take n-2 bytes of the answer,
+  calculate CRC, and then compare if it fist with the CRC bytes that were received.
+  */
+  
+}
diff --git a/code-snippets/client/soil_sensor_sentec/platformio.ini b/code-snippets/client/soil_sensor_sentec/platformio.ini
new file mode 100644
index 0000000000000000000000000000000000000000..c81163a41d8d1102504ce30e373e508db082524e
--- /dev/null
+++ b/code-snippets/client/soil_sensor_sentec/platformio.ini
@@ -0,0 +1,24 @@
+; PlatformIO Project Configuration File
+;
+;   Build options: build flags, source filter
+;   Upload options: custom upload port, speed and extra flags
+;   Library options: dependencies, extra library storages
+;   Advanced options: extra scripting
+;
+; Please visit documentation for the other options and examples
+; https://docs.platformio.org/page/projectconf.html
+
+[env:esp32-c3-devkitm-1]
+platform = espressif32
+board = esp32-c3-devkitm-1
+framework = arduino
+<<<<<<<< HEAD:code-snippets/espnow/espNowTest/platformio.ini
+monitor_speed = 115200
+lib_deps = makuna/NeoPixelBus@^2.7.0
+========
+monitor_speed = 115000
+lib_deps = EspSoftwareSerial
+
+
+
+>>>>>>>> origin/power-management-satellite:code-snippets/client/soil_sensor_sentec/platformio.ini
diff --git a/code-snippets/espnow/espNowTest/platformio.ini b/code-snippets/espnow/espNowTest/platformio.ini
index 65ef8ee58c3b62a32f64a0027c98dbd9d5e221d0..9dc8b814889024260b12695ca90e3d53186b008c 100644
--- a/code-snippets/espnow/espNowTest/platformio.ini
+++ b/code-snippets/espnow/espNowTest/platformio.ini
@@ -12,5 +12,11 @@
 platform = espressif32
 board = esp32-c3-devkitm-1
 framework = arduino
+<<<<<<<< HEAD:host/mock/platformio.ini
+lib_deps =
+    bblanchon/ArduinoJson@^6.19.4
+    fbiego/ESP32Time@^2.0.0
+========
 monitor_speed = 115200
 lib_deps = makuna/NeoPixelBus@^2.7.0
+>>>>>>>> origin/power-management-satellite:code-snippets/espnow/espNowTest/platformio.ini
diff --git a/hardware/PCB/forte/forte.kicad_sch b/hardware/PCB/forte/forte.kicad_sch
index 32698a6bdc77781c239b69d8087ed1a2c2a56179..5aec0b26369ea4a9bc19bb95213654be22e81f87 100644
--- a/hardware/PCB/forte/forte.kicad_sch
+++ b/hardware/PCB/forte/forte.kicad_sch
@@ -139,6 +139,79 @@
         )
       )
     )
+    (symbol "Connector:Conn_01x03_Male" (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
+      (property "Reference" "J" (id 0) (at 0 5.08 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Value" "Conn_01x03_Male" (id 1) (at 0 -5.08 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Footprint" "" (id 2) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "~" (id 3) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "ki_keywords" "connector" (id 4) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "ki_description" "Generic connector, single row, 01x03, script generated (kicad-library-utils/schlib/autogen/connector/)" (id 5) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "ki_fp_filters" "Connector*:*_1x??_*" (id 6) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "Conn_01x03_Male_1_1"
+        (polyline
+          (pts
+            (xy 1.27 -2.54)
+            (xy 0.8636 -2.54)
+          )
+          (stroke (width 0.1524) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 1.27 0)
+            (xy 0.8636 0)
+          )
+          (stroke (width 0.1524) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 1.27 2.54)
+            (xy 0.8636 2.54)
+          )
+          (stroke (width 0.1524) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (rectangle (start 0.8636 -2.413) (end 0 -2.667)
+          (stroke (width 0.1524) (type default) (color 0 0 0 0))
+          (fill (type outline))
+        )
+        (rectangle (start 0.8636 0.127) (end 0 -0.127)
+          (stroke (width 0.1524) (type default) (color 0 0 0 0))
+          (fill (type outline))
+        )
+        (rectangle (start 0.8636 2.667) (end 0 2.413)
+          (stroke (width 0.1524) (type default) (color 0 0 0 0))
+          (fill (type outline))
+        )
+        (pin passive line (at 5.08 2.54 180) (length 3.81)
+          (name "Pin_1" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 5.08 0 180) (length 3.81)
+          (name "Pin_2" (effects (font (size 1.27 1.27))))
+          (number "2" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 5.08 -2.54 180) (length 3.81)
+          (name "Pin_3" (effects (font (size 1.27 1.27))))
+          (number "3" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
     (symbol "Device:Battery" (pin_numbers hide) (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
       (property "Reference" "BT" (id 0) (at 2.54 2.54 0)
         (effects (font (size 1.27 1.27)) (justify left))
@@ -323,6 +396,89 @@
         )
       )
     )
+    (symbol "Device:LED" (pin_numbers hide) (pin_names (offset 1.016) hide) (in_bom yes) (on_board yes)
+      (property "Reference" "D" (id 0) (at 0 2.54 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Value" "LED" (id 1) (at 0 -2.54 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Footprint" "" (id 2) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "~" (id 3) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "ki_keywords" "LED diode" (id 4) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "ki_description" "Light emitting diode" (id 5) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "ki_fp_filters" "LED* LED_SMD:* LED_THT:*" (id 6) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "LED_0_1"
+        (polyline
+          (pts
+            (xy -1.27 -1.27)
+            (xy -1.27 1.27)
+          )
+          (stroke (width 0.254) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy -1.27 0)
+            (xy 1.27 0)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy 1.27 -1.27)
+            (xy 1.27 1.27)
+            (xy -1.27 0)
+            (xy 1.27 -1.27)
+          )
+          (stroke (width 0.254) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy -3.048 -0.762)
+            (xy -4.572 -2.286)
+            (xy -3.81 -2.286)
+            (xy -4.572 -2.286)
+            (xy -4.572 -1.524)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (polyline
+          (pts
+            (xy -1.778 -0.762)
+            (xy -3.302 -2.286)
+            (xy -2.54 -2.286)
+            (xy -3.302 -2.286)
+            (xy -3.302 -1.524)
+          )
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+      )
+      (symbol "LED_1_1"
+        (pin passive line (at -3.81 0 0) (length 2.54)
+          (name "K" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 3.81 0 180) (length 2.54)
+          (name "A" (effects (font (size 1.27 1.27))))
+          (number "2" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
     (symbol "Device:R" (pin_numbers hide) (pin_names (offset 0)) (in_bom yes) (on_board yes)
       (property "Reference" "R" (id 0) (at 2.032 0 90)
         (effects (font (size 1.27 1.27)))
@@ -539,6 +695,55 @@
         )
       )
     )
+    (symbol "Jumper:Jumper_2_Open" (pin_names (offset 0) hide) (in_bom yes) (on_board yes)
+      (property "Reference" "JP" (id 0) (at 0 2.794 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Value" "Jumper_2_Open" (id 1) (at 0 -2.286 0)
+        (effects (font (size 1.27 1.27)))
+      )
+      (property "Footprint" "" (id 2) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "Datasheet" "~" (id 3) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "ki_keywords" "Jumper SPST" (id 4) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "ki_description" "Jumper, 2-pole, open" (id 5) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (property "ki_fp_filters" "Jumper* TestPoint*2Pads* TestPoint*Bridge*" (id 6) (at 0 0 0)
+        (effects (font (size 1.27 1.27)) hide)
+      )
+      (symbol "Jumper_2_Open_0_0"
+        (circle (center -2.032 0) (radius 0.508)
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+        (circle (center 2.032 0) (radius 0.508)
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+      )
+      (symbol "Jumper_2_Open_0_1"
+        (arc (start 1.524 1.27) (mid 0 1.778) (end -1.524 1.27)
+          (stroke (width 0) (type default) (color 0 0 0 0))
+          (fill (type none))
+        )
+      )
+      (symbol "Jumper_2_Open_1_1"
+        (pin passive line (at -5.08 0 0) (length 2.54)
+          (name "A" (effects (font (size 1.27 1.27))))
+          (number "1" (effects (font (size 1.27 1.27))))
+        )
+        (pin passive line (at 5.08 0 180) (length 2.54)
+          (name "B" (effects (font (size 1.27 1.27))))
+          (number "2" (effects (font (size 1.27 1.27))))
+        )
+      )
+    )
     (symbol "Transistor_FET:IRLZ34N" (pin_names hide) (in_bom yes) (on_board yes)
       (property "Reference" "Q" (id 0) (at 6.35 1.905 0)
         (effects (font (size 1.27 1.27)) (justify left))
@@ -1537,32 +1742,30 @@
     )
   )
 
-  (junction (at 245.11 83.82) (diameter 0) (color 0 0 0 0))
-  (junction (at 228.6 121.92) (diameter 0) (color 0 0 0 0))
-  (junction (at 228.6 91.44) (diameter 0) (color 0 0 0 0))
-  (junction (at 245.11 99.06) (diameter 0) (color 0 0 0 0))
-  (junction (at 232.41 119.38) (diameter 0) (color 0 0 0 0))
-  (junction (at 66.04 138.43) (diameter 0) (color 0 0 0 0))
   (junction (at 228.6 106.68) (diameter 0) (color 0 0 0 0))
-  (junction (at 215.9 83.82) (diameter 0) (color 0 0 0 0))
-  (junction (at 72.39 148.59) (diameter 0) (color 0 0 0 0))
-  (junction (at 204.47 60.96) (diameter 0) (color 0 0 0 0))
-  (junction (at 478.79 58.42) (diameter 0) (color 0 0 0 0))
-  (junction (at 478.79 44.45) (diameter 0) (color 0 0 0 0))
-  (junction (at 232.41 73.66) (diameter 0) (color 0 0 0 0))
-  (junction (at 478.79 86.36) (diameter 0) (color 0 0 0 0))
   (junction (at 232.41 104.14) (diameter 0) (color 0 0 0 0))
-  (junction (at 66.04 148.59) (diameter 0) (color 0 0 0 0))
+  (junction (at 204.47 60.96) (diameter 0) (color 0 0 0 0))
+  (junction (at 228.6 91.44) (diameter 0) (color 0 0 0 0))
   (junction (at 232.41 88.9) (diameter 0) (color 0 0 0 0))
+  (junction (at 478.79 58.42) (diameter 0) (color 0 0 0 0))
   (junction (at 228.6 76.2) (diameter 0) (color 0 0 0 0))
-  (junction (at 478.79 72.39) (diameter 0) (color 0 0 0 0))
+  (junction (at 245.11 83.82) (diameter 0) (color 0 0 0 0))
+  (junction (at 478.79 86.36) (diameter 0) (color 0 0 0 0))
+  (junction (at 215.9 83.82) (diameter 0) (color 0 0 0 0))
+  (junction (at 454.66 106.68) (diameter 0) (color 0 0 0 0))
+  (junction (at 232.41 119.38) (diameter 0) (color 0 0 0 0))
+  (junction (at 478.79 44.45) (diameter 0) (color 0 0 0 0))
+  (junction (at 66.04 138.43) (diameter 0) (color 0 0 0 0))
   (junction (at 72.39 138.43) (diameter 0) (color 0 0 0 0))
+  (junction (at 228.6 121.92) (diameter 0) (color 0 0 0 0))
+  (junction (at 72.39 148.59) (diameter 0) (color 0 0 0 0))
+  (junction (at 478.79 72.39) (diameter 0) (color 0 0 0 0))
+  (junction (at 414.02 124.46) (diameter 0) (color 0 0 0 0))
+  (junction (at 66.04 148.59) (diameter 0) (color 0 0 0 0))
+  (junction (at 245.11 99.06) (diameter 0) (color 0 0 0 0))
+  (junction (at 232.41 73.66) (diameter 0) (color 0 0 0 0))
 
-  (no_connect (at 383.54 55.88) (uuid 01478c0c-a6a4-433c-bae1-f1e7d1ed9589))
-  (no_connect (at 408.94 73.66) (uuid 08b129d1-b3ef-4726-b172-a61d28b2081a))
-  (no_connect (at 383.54 99.06) (uuid 0c4893b4-7e1b-4374-9788-a97649504fa2))
   (no_connect (at 383.54 76.2) (uuid 13858c65-9bfa-49a3-903c-c9f7cddcd07c))
-  (no_connect (at 383.54 104.14) (uuid 15298709-cd78-4b56-a4ff-cc7aaaa6bce5))
   (no_connect (at 383.54 91.44) (uuid 17707b32-84c4-4bde-815e-ef310265a7af))
   (no_connect (at 383.54 73.66) (uuid 179d546b-e8f6-4c88-9c4e-02c2c36d5e77))
   (no_connect (at 408.94 83.82) (uuid 1a9fcd0a-0459-43b8-b1ef-63cb8ac08f8d))
@@ -1578,7 +1781,6 @@
   (no_connect (at 179.07 50.8) (uuid 47acf912-17f6-4a1d-81c0-130782585f69))
   (no_connect (at 427.99 73.66) (uuid 4da71098-d5a8-46b0-b519-5587a2dbacf8))
   (no_connect (at 383.54 83.82) (uuid 4eb83fe9-cd5d-4d36-9b4b-d813928cbc24))
-  (no_connect (at 383.54 101.6) (uuid 56783b3c-e5ba-4ef9-9ad1-60c4fae2c186))
   (no_connect (at 95.25 173.99) (uuid 5957a4b3-d7f4-4c64-911a-a395e24b96ca))
   (no_connect (at 383.54 93.98) (uuid 61f84821-2e47-4df8-8466-e209fb5518f3))
   (no_connect (at 408.94 104.14) (uuid 6a801906-5095-4af0-b3da-72863960ef09))
@@ -1588,8 +1790,6 @@
   (no_connect (at 95.25 176.53) (uuid 80ab147d-ba0d-4984-bc6d-dea5d45b06d9))
   (no_connect (at 383.54 96.52) (uuid 839e922f-feca-4d4f-aba5-d367705b0321))
   (no_connect (at 427.99 63.5) (uuid 8973a1ea-8766-4b5d-9320-58c12c73d8fa))
-  (no_connect (at 408.94 96.52) (uuid 9160bd72-7195-4038-b1db-d53622497c74))
-  (no_connect (at 383.54 58.42) (uuid 9213c73a-c1e5-4e64-96b8-c5c030830ca4))
   (no_connect (at 85.09 147.32) (uuid 9809942f-438b-4aaf-b551-15602f11e1f0))
   (no_connect (at 408.94 55.88) (uuid a7d164be-a54f-4438-bec3-c79e8c48437e))
   (no_connect (at 408.94 81.28) (uuid aa59a7d8-6189-4979-a91a-b3431a8194f2))
@@ -1603,23 +1803,19 @@
   (no_connect (at 408.94 93.98) (uuid dc83cc42-7fb3-4960-8604-f080313be362))
   (no_connect (at 383.54 88.9) (uuid dfc5cb7d-1cc7-4c78-a918-fb3e50c8d5ab))
 
-  (wire (pts (xy 426.72 106.68) (xy 426.72 104.14))
-    (stroke (width 0) (type default) (color 0 0 0 0))
-    (uuid 02243dd9-f6c4-4375-b714-6b65428a9d18)
-  )
-  (wire (pts (xy 429.26 106.68) (xy 426.72 106.68))
+  (wire (pts (xy 408.94 73.66) (xy 421.64 73.66))
     (stroke (width 0) (type default) (color 0 0 0 0))
-    (uuid 02243dd9-f6c4-4375-b714-6b65428a9d18)
+    (uuid 03b581d0-b9b9-4f8d-af5b-6ca3e1a98fa0)
   )
   (wire (pts (xy 66.04 138.43) (xy 72.39 138.43))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 0435a94e-2aa8-47b8-891a-1241a509fafb)
   )
-  (wire (pts (xy 179.07 66.04) (xy 191.77 66.04))
+  (wire (pts (xy 191.77 66.04) (xy 191.77 104.14))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 077276b5-655f-44cb-a972-557d650dacaa)
   )
-  (wire (pts (xy 191.77 66.04) (xy 191.77 104.14))
+  (wire (pts (xy 179.07 66.04) (xy 191.77 66.04))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 077276b5-655f-44cb-a972-557d650dacaa)
   )
@@ -1631,15 +1827,15 @@
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 08bb005d-8e01-4713-a11f-20a77539026a)
   )
-  (polyline (pts (xy 129.54 165.1) (xy 129.54 24.13))
+  (polyline (pts (xy 299.72 165.1) (xy 129.54 165.1))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 0bab81f5-6350-4637-85a2-e61778ab24c5)
   )
-  (polyline (pts (xy 299.72 165.1) (xy 129.54 165.1))
+  (polyline (pts (xy 129.54 24.13) (xy 299.72 24.13))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 0bab81f5-6350-4637-85a2-e61778ab24c5)
   )
-  (polyline (pts (xy 129.54 24.13) (xy 299.72 24.13))
+  (polyline (pts (xy 129.54 165.1) (xy 129.54 24.13))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 0bab81f5-6350-4637-85a2-e61778ab24c5)
   )
@@ -1652,11 +1848,11 @@
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 18ed6525-be83-46ad-b329-5ae257bb14e6)
   )
-  (wire (pts (xy 414.02 99.06) (xy 408.94 99.06))
+  (wire (pts (xy 411.48 99.06) (xy 411.48 124.46))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 1f7ea972-f5b2-414f-bdc6-e759c4c71838)
   )
-  (wire (pts (xy 414.02 101.6) (xy 414.02 99.06))
+  (wire (pts (xy 411.48 99.06) (xy 408.94 99.06))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 1f7ea972-f5b2-414f-bdc6-e759c4c71838)
   )
@@ -1680,6 +1876,14 @@
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 26581b8c-00d6-4c3f-9629-70ae5e22ffa6)
   )
+  (wire (pts (xy 421.64 106.68) (xy 421.64 73.66))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 2710538b-a448-4495-8b2d-0ad4161b6c1e)
+  )
+  (wire (pts (xy 429.26 106.68) (xy 421.64 106.68))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 2710538b-a448-4495-8b2d-0ad4161b6c1e)
+  )
   (polyline (pts (xy 340.36 33.02) (xy 340.36 146.05))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 273c443a-1937-4f97-bf1b-6e21d6431e6f)
@@ -1745,6 +1949,10 @@
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 422d6800-4202-463b-bbbf-2adfdb2685c7)
   )
+  (wire (pts (xy 414.02 124.46) (xy 414.02 125.73))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 43e75649-0cf9-4ad1-9154-46e5c57704dd)
+  )
   (wire (pts (xy 228.6 138.43) (xy 248.92 138.43))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 46029551-ead5-417b-856a-8ccfdec05981)
@@ -1765,6 +1973,10 @@
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 53ab8ef7-025d-4494-bc73-5650657b22e3)
   )
+  (wire (pts (xy 434.34 124.46) (xy 414.02 124.46))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 55c10d91-5b8f-4045-83a1-4f45ee98e39a)
+  )
   (polyline (pts (xy 125.73 123.19) (xy 54.61 123.19))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 59e933e9-4228-4d49-91cb-38ae5fb8e064)
@@ -1781,7 +1993,7 @@
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 59e933e9-4228-4d49-91cb-38ae5fb8e064)
   )
-  (polyline (pts (xy 303.53 13.97) (xy 303.53 213.36))
+  (polyline (pts (xy 40.64 13.97) (xy 303.53 13.97))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 5d6c7120-e092-4949-ae5f-513ec48d854b)
   )
@@ -1789,7 +2001,7 @@
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 5d6c7120-e092-4949-ae5f-513ec48d854b)
   )
-  (polyline (pts (xy 40.64 13.97) (xy 303.53 13.97))
+  (polyline (pts (xy 303.53 13.97) (xy 303.53 213.36))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 5d6c7120-e092-4949-ae5f-513ec48d854b)
   )
@@ -1814,6 +2026,10 @@
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 654d05ce-b2c5-4f98-9c55-75237b6c6ffa)
   )
+  (wire (pts (xy 476.25 106.68) (xy 480.06 106.68))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 65e4d25f-636c-46a0-bf62-3cb6bee3f35d)
+  )
   (wire (pts (xy 66.04 148.59) (xy 72.39 148.59))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 69762671-8423-4062-9f50-1fdeb8ed85f9)
@@ -1826,6 +2042,10 @@
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 6dc6dfc0-c6fc-42c1-9c43-264d9a783d7a)
   )
+  (wire (pts (xy 411.48 124.46) (xy 414.02 124.46))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 70551bb6-0da1-4039-b5e1-7cad4f138207)
+  )
   (wire (pts (xy 478.79 58.42) (xy 478.79 60.96))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 765cb8db-4bd7-4881-95ed-ac41c206b041)
@@ -1859,6 +2079,10 @@
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 8606ee68-1704-4ce2-806e-51d7953a8994)
   )
+  (wire (pts (xy 444.5 124.46) (xy 461.01 124.46))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid 8bf4204a-e868-4d04-8eb0-c378be0904fa)
+  )
   (wire (pts (xy 85.09 138.43) (xy 85.09 142.24))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid 90c12fae-5274-4396-9803-5abf3864dbee)
@@ -1891,15 +2115,15 @@
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid a1f6c1c0-6b88-4c32-9947-e454d453eea2)
   )
-  (polyline (pts (xy 184.15 167.64) (xy 184.15 208.28))
+  (polyline (pts (xy 184.15 208.28) (xy 129.54 208.28))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid a1f6c1c0-6b88-4c32-9947-e454d453eea2)
   )
-  (polyline (pts (xy 184.15 208.28) (xy 129.54 208.28))
+  (polyline (pts (xy 129.54 208.28) (xy 129.54 167.64))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid a1f6c1c0-6b88-4c32-9947-e454d453eea2)
   )
-  (polyline (pts (xy 129.54 208.28) (xy 129.54 167.64))
+  (polyline (pts (xy 184.15 167.64) (xy 184.15 208.28))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid a1f6c1c0-6b88-4c32-9947-e454d453eea2)
   )
@@ -1957,6 +2181,10 @@
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid b138ebca-4002-4b81-899d-8b94140e686a)
   )
+  (wire (pts (xy 466.09 106.68) (xy 468.63 106.68))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid b2d10431-dfc5-4b00-9192-9248e955d5fb)
+  )
   (wire (pts (xy 232.41 88.9) (xy 232.41 104.14))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid b34224d0-aaef-4788-8a9f-ff67fea661be)
@@ -1969,11 +2197,11 @@
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid b80bcd4b-cdd8-4ba3-a96e-6f169f4740cb)
   )
-  (wire (pts (xy 462.28 77.47) (xy 478.79 77.47))
+  (wire (pts (xy 462.28 68.58) (xy 462.28 77.47))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid b86e3ee7-9346-49ea-967a-ff6c537bf7df)
   )
-  (wire (pts (xy 462.28 68.58) (xy 462.28 77.47))
+  (wire (pts (xy 462.28 77.47) (xy 478.79 77.47))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid b86e3ee7-9346-49ea-967a-ff6c537bf7df)
   )
@@ -1985,6 +2213,10 @@
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid b9ed75b1-bb47-4fe1-9563-3b04fcb5ecae)
   )
+  (wire (pts (xy 490.22 106.68) (xy 495.3 106.68))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid c031ff76-1dc9-4643-9431-c76487fa7036)
+  )
   (wire (pts (xy 449.58 109.22) (xy 454.66 109.22))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid c6bdbf09-5b2b-4a34-a4ba-8e307e67def0)
@@ -1993,6 +2225,10 @@
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid c6bdbf09-5b2b-4a34-a4ba-8e307e67def0)
   )
+  (wire (pts (xy 461.01 121.92) (xy 461.01 119.38))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid c8e36da4-a7a9-455b-b5ea-7f27c483c119)
+  )
   (wire (pts (xy 232.41 135.89) (xy 232.41 119.38))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid cb39d935-1f52-4821-979c-b678d4b9a9ea)
@@ -2001,6 +2237,26 @@
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid d05f22ab-b518-4c61-acb2-489786b6d6de)
   )
+  (wire (pts (xy 461.01 124.46) (xy 461.01 127))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid d07406de-9642-413a-9798-ceccd9a3cff9)
+  )
+  (wire (pts (xy 408.94 96.52) (xy 414.02 96.52))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid d0f6bbb0-0204-48ec-be0d-6a7e193141a4)
+  )
+  (wire (pts (xy 414.02 96.52) (xy 414.02 121.92))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid d0f6bbb0-0204-48ec-be0d-6a7e193141a4)
+  )
+  (wire (pts (xy 414.02 121.92) (xy 434.34 121.92))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid d0f6bbb0-0204-48ec-be0d-6a7e193141a4)
+  )
+  (wire (pts (xy 444.5 121.92) (xy 461.01 121.92))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid d2b4acb6-1845-4eab-b4b3-499559cf67da)
+  )
   (wire (pts (xy 448.31 66.04) (xy 459.74 66.04))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid d3ad89ac-c2ce-42a1-9f44-d3b1654a3e1a)
@@ -2009,19 +2265,19 @@
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid d428e433-661c-4f6d-89a1-f1087fd1eb91)
   )
-  (wire (pts (xy 454.66 106.68) (xy 454.66 104.14))
+  (wire (pts (xy 449.58 106.68) (xy 454.66 106.68))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid d541a383-f345-4978-ac4f-35fce2e10e7a)
   )
-  (wire (pts (xy 449.58 106.68) (xy 454.66 106.68))
+  (wire (pts (xy 454.66 106.68) (xy 454.66 104.14))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid d541a383-f345-4978-ac4f-35fce2e10e7a)
   )
-  (wire (pts (xy 215.9 83.82) (xy 245.11 83.82))
+  (wire (pts (xy 215.9 99.06) (xy 215.9 83.82))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid d7438c68-adb5-4d31-844b-9f3f2ad193f6)
   )
-  (wire (pts (xy 215.9 99.06) (xy 215.9 83.82))
+  (wire (pts (xy 215.9 83.82) (xy 245.11 83.82))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid d7438c68-adb5-4d31-844b-9f3f2ad193f6)
   )
@@ -2037,11 +2293,11 @@
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid d9976a95-0999-4333-8b0e-f67f920ceed5)
   )
-  (wire (pts (xy 179.07 48.26) (xy 199.39 48.26))
+  (wire (pts (xy 199.39 48.26) (xy 199.39 60.96))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid dcf8e1f4-69a8-47ec-aa6d-02fc9856bd5d)
   )
-  (wire (pts (xy 199.39 48.26) (xy 199.39 60.96))
+  (wire (pts (xy 179.07 48.26) (xy 199.39 48.26))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid dcf8e1f4-69a8-47ec-aa6d-02fc9856bd5d)
   )
@@ -2069,23 +2325,27 @@
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid e99bc8c6-73e6-4251-bc6a-fe924f49c370)
   )
-  (wire (pts (xy 408.94 86.36) (xy 416.56 86.36))
+  (wire (pts (xy 454.66 106.68) (xy 458.47 106.68))
     (stroke (width 0) (type default) (color 0 0 0 0))
-    (uuid f2d33206-c79b-49b4-904f-04b3df7dc6f5)
+    (uuid e9e6c23c-c874-4815-94be-e46b335c4073)
   )
   (wire (pts (xy 416.56 111.76) (xy 429.26 111.76))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid f2d33206-c79b-49b4-904f-04b3df7dc6f5)
   )
+  (wire (pts (xy 408.94 86.36) (xy 416.56 86.36))
+    (stroke (width 0) (type default) (color 0 0 0 0))
+    (uuid f2d33206-c79b-49b4-904f-04b3df7dc6f5)
+  )
   (wire (pts (xy 416.56 86.36) (xy 416.56 111.76))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid f2d33206-c79b-49b4-904f-04b3df7dc6f5)
   )
-  (wire (pts (xy 232.41 58.42) (xy 232.41 73.66))
+  (wire (pts (xy 224.79 58.42) (xy 232.41 58.42))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid f334aed8-b214-46d1-a2cf-6cc4550ab06f)
   )
-  (wire (pts (xy 224.79 58.42) (xy 232.41 58.42))
+  (wire (pts (xy 232.41 58.42) (xy 232.41 73.66))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid f334aed8-b214-46d1-a2cf-6cc4550ab06f)
   )
@@ -2093,11 +2353,11 @@
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid f4f0fdf1-ee62-4031-96be-860d84d78051)
   )
-  (wire (pts (xy 179.07 68.58) (xy 187.96 68.58))
+  (wire (pts (xy 187.96 68.58) (xy 187.96 137.16))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid f4f0fdf1-ee62-4031-96be-860d84d78051)
   )
-  (wire (pts (xy 187.96 68.58) (xy 187.96 137.16))
+  (wire (pts (xy 179.07 68.58) (xy 187.96 68.58))
     (stroke (width 0) (type default) (color 0 0 0 0))
     (uuid f4f0fdf1-ee62-4031-96be-860d84d78051)
   )
@@ -2199,6 +2459,10 @@
     (effects (font (size 1.27 1.27)) (justify left bottom))
     (uuid e7596001-6855-40ae-972c-6dddcb4cdff6)
   )
+  (text "Debug Conn" (at 370.84 106.68 0)
+    (effects (font (size 1.27 1.27)) (justify left bottom))
+    (uuid f29c6260-fbf8-4d04-85a5-5152447cd224)
+  )
   (text "Temperature and humidity in special case\n\nNeeds to be close to cam due to I2C \ncable length limitation"
     (at 132.08 177.8 0)
     (effects (font (size 1.27 1.27)) (justify left bottom))
@@ -2257,7 +2521,7 @@
   (symbol (lib_id "power:+5V") (at 101.6 86.36 270) (unit 1)
     (in_bom yes) (on_board yes) (fields_autoplaced)
     (uuid 00190d1d-53b9-40f9-aa34-1801a57dda48)
-    (property "Reference" "#PWR?" (id 0) (at 97.79 86.36 0)
+    (property "Reference" "#PWR08" (id 0) (at 97.79 86.36 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "+5V" (id 1) (at 106.68 86.3599 90)
@@ -2272,10 +2536,25 @@
     (pin "1" (uuid 8163787d-6bdc-470e-a655-0a16bf3c3062))
   )
 
+  (symbol (lib_id "Jumper:Jumper_2_Open") (at 439.42 121.92 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 01be89a1-37ea-4c6b-ac8d-8c4c6f34d36d)
+    (property "Reference" "JP1" (id 0) (at 439.42 115.57 0))
+    (property "Value" "Jumper_2_Open" (id 1) (at 439.42 118.11 0))
+    (property "Footprint" "" (id 2) (at 439.42 121.92 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "~" (id 3) (at 439.42 121.92 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 31eb0d86-3014-4923-a3a2-fa73576e710e))
+    (pin "2" (uuid dd471d93-059d-4a54-aa5c-f196e359e51b))
+  )
+
   (symbol (lib_id "power:+12V") (at 248.92 133.35 90) (unit 1)
     (in_bom yes) (on_board yes) (fields_autoplaced)
     (uuid 02af4d56-fe07-4d90-8b24-022145c26c04)
-    (property "Reference" "#PWR?" (id 0) (at 252.73 133.35 0)
+    (property "Reference" "#PWR025" (id 0) (at 252.73 133.35 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "+12V" (id 1) (at 243.84 133.3499 90)
@@ -2293,7 +2572,7 @@
   (symbol (lib_id "power:GNDREF") (at 81.28 102.87 270) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 0e21d108-6018-45c5-96c0-db01df4cbffa)
-    (property "Reference" "#PWR?" (id 0) (at 74.93 102.87 0)
+    (property "Reference" "#PWR03" (id 0) (at 74.93 102.87 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "GNDREF" (id 1) (at 69.85 102.87 90)
@@ -2311,7 +2590,7 @@
   (symbol (lib_id "uibk:RS-485-Connector") (at 251.46 93.98 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 13824f77-72fd-45ed-bcb4-bbe829cbc3cc)
-    (property "Reference" "U?" (id 0) (at 264.16 101.6 0)
+    (property "Reference" "U11" (id 0) (at 264.16 101.6 0)
       (effects (font (size 1.27 1.27)) (justify left))
     )
     (property "Value" "RS-485-Connector Soil 2" (id 1) (at 264.16 104.14 0)
@@ -2329,10 +2608,26 @@
     (pin "4" (uuid b051729f-d31f-4d1f-82e0-0cfa24a5163f))
   )
 
+  (symbol (lib_id "Connector:Conn_01x03_Male") (at 378.46 101.6 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 14542937-daac-4f82-9c4b-a21fdc027506)
+    (property "Reference" "J1" (id 0) (at 374.65 107.95 0))
+    (property "Value" "Conn_01x03_Male" (id 1) (at 374.65 110.49 0))
+    (property "Footprint" "Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical" (id 2) (at 378.46 101.6 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "~" (id 3) (at 378.46 101.6 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid fd6c35d3-bb62-479f-ac25-39cf2824e5de))
+    (pin "2" (uuid cdc5bfde-33e3-407b-8b30-b10a223c7382))
+    (pin "3" (uuid 01a8d8e5-f512-4fb0-b9c5-dd4198ff63bc))
+  )
+
   (symbol (lib_id "Device:Battery_Cell") (at 424.18 162.56 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 16b3df30-0cf6-4075-98fa-998848f8569f)
-    (property "Reference" "BT?" (id 0) (at 407.67 160.02 0)
+    (property "Reference" "BT2" (id 0) (at 407.67 160.02 0)
       (effects (font (size 1.27 1.27)) (justify left))
     )
     (property "Value" "Battery_Cell" (id 1) (at 407.67 162.56 0)
@@ -2348,28 +2643,26 @@
     (pin "2" (uuid e1a61889-da99-4a44-8cad-d212a82720a2))
   )
 
-  (symbol (lib_id "power:GNDREF") (at 472.44 44.45 0) (unit 1)
+  (symbol (lib_id "power:GND") (at 495.3 106.68 0) (unit 1)
     (in_bom yes) (on_board yes)
-    (uuid 18ced1bb-6166-4fd3-aa19-baaef7259f49)
-    (property "Reference" "#PWR?" (id 0) (at 472.44 50.8 0)
+    (uuid 17571c60-6ac9-47db-be3d-d74dd7c6f66d)
+    (property "Reference" "#PWR044" (id 0) (at 495.3 113.03 0)
       (effects (font (size 1.27 1.27)) hide)
     )
-    (property "Value" "GNDREF" (id 1) (at 462.28 45.72 0)
-      (effects (font (size 1.27 1.27)) (justify left))
-    )
-    (property "Footprint" "" (id 2) (at 472.44 44.45 0)
+    (property "Value" "GND" (id 1) (at 495.3 111.76 0))
+    (property "Footprint" "" (id 2) (at 495.3 106.68 0)
       (effects (font (size 1.27 1.27)) hide)
     )
-    (property "Datasheet" "" (id 3) (at 472.44 44.45 0)
+    (property "Datasheet" "" (id 3) (at 495.3 106.68 0)
       (effects (font (size 1.27 1.27)) hide)
     )
-    (pin "1" (uuid c00793a4-64f2-4512-b46c-3626d95a919c))
+    (pin "1" (uuid 7afd5c11-00ea-4ecd-9afc-65829b3896c3))
   )
 
   (symbol (lib_id "power:+5V") (at 248.92 86.36 90) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 1b1232f5-beef-445f-9a3a-01beff52fddc)
-    (property "Reference" "#PWR?" (id 0) (at 252.73 86.36 0)
+    (property "Reference" "#PWR022" (id 0) (at 252.73 86.36 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "+5V" (id 1) (at 240.03 86.36 90)
@@ -2384,10 +2677,26 @@
     (pin "1" (uuid 649a9c71-b24f-4354-bcf5-b8180fa80d33))
   )
 
+  (symbol (lib_id "power:+5V") (at 461.01 119.38 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 1c4ed00e-8a97-49fe-ac31-e108190b9e0b)
+    (property "Reference" "#PWR034" (id 0) (at 461.01 123.19 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "+5V" (id 1) (at 461.01 115.57 0))
+    (property "Footprint" "" (id 2) (at 461.01 119.38 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 461.01 119.38 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 0d45a45e-ac78-45c8-b2d9-8d14617d3faf))
+  )
+
   (symbol (lib_id "uibk:dc_dc_converter") (at 95.25 137.16 0) (unit 1)
     (in_bom yes) (on_board yes) (fields_autoplaced)
     (uuid 23bfa2ab-da17-4ac0-951f-bdd17bf0b3bf)
-    (property "Reference" "U?" (id 0) (at 90.17 130.81 0))
+    (property "Reference" "U4" (id 0) (at 90.17 130.81 0))
     (property "Value" "dc_dc_converter" (id 1) (at 90.17 133.35 0))
     (property "Footprint" "" (id 2) (at 95.25 137.16 0)
       (effects (font (size 1.27 1.27)) hide)
@@ -2405,7 +2714,7 @@
   (symbol (lib_id "power:GNDREF") (at 172.72 194.31 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 23fd8b05-231f-4776-bc61-790fd53ae890)
-    (property "Reference" "#PWR?" (id 0) (at 172.72 200.66 0)
+    (property "Reference" "#PWR013" (id 0) (at 172.72 200.66 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "GNDREF" (id 1) (at 172.72 201.93 90))
@@ -2421,7 +2730,7 @@
   (symbol (lib_id "power:GNDREF") (at 429.26 109.22 270) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 2cadc8f5-387c-4e00-ab00-0869eab3428e)
-    (property "Reference" "#PWR?" (id 0) (at 422.91 109.22 0)
+    (property "Reference" "#PWR029" (id 0) (at 422.91 109.22 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "GNDREF" (id 1) (at 417.83 109.22 90)
@@ -2439,7 +2748,7 @@
   (symbol (lib_id "power:+5V") (at 153.67 83.82 90) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 2fc1deca-9f9a-4f72-ac1c-4c2026fe7399)
-    (property "Reference" "#PWR?" (id 0) (at 157.48 83.82 0)
+    (property "Reference" "#PWR011" (id 0) (at 157.48 83.82 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "+5V" (id 1) (at 146.05 83.82 90)
@@ -2457,7 +2766,7 @@
   (symbol (lib_name "dendrometer_1") (lib_id "uibk:dendrometer") (at 478.79 50.8 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 303de297-ec8f-4d1b-b904-aebd02d6d337)
-    (property "Reference" "U?" (id 0) (at 497.84 57.15 0)
+    (property "Reference" "U18" (id 0) (at 497.84 57.15 0)
       (effects (font (size 1.27 1.27)) (justify left))
     )
     (property "Value" "dendrometer" (id 1) (at 497.84 59.69 0)
@@ -2478,7 +2787,7 @@
   (symbol (lib_id "power:GNDREF") (at 226.06 199.39 90) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 32f0c209-6f00-4a46-9af3-2af48e423807)
-    (property "Reference" "#PWR?" (id 0) (at 232.41 199.39 0)
+    (property "Reference" "#PWR019" (id 0) (at 232.41 199.39 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "GNDREF" (id 1) (at 233.68 199.39 90))
@@ -2491,10 +2800,26 @@
     (pin "1" (uuid 739270eb-1386-4034-8a84-d495a6f373af))
   )
 
+  (symbol (lib_id "power:GND") (at 472.44 72.39 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 3310e8ca-e953-47fb-9c0c-7d418b852445)
+    (property "Reference" "#PWR038" (id 0) (at 472.44 78.74 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 467.36 73.66 0))
+    (property "Footprint" "" (id 2) (at 472.44 72.39 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 472.44 72.39 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid ccdee5f3-7d57-4840-b1df-d197ad9a140f))
+  )
+
   (symbol (lib_id "power:+5V") (at 478.79 41.91 90) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 34399edb-4b71-4492-bca6-5895104ae10b)
-    (property "Reference" "#PWR?" (id 0) (at 482.6 41.91 0)
+    (property "Reference" "#PWR040" (id 0) (at 482.6 41.91 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "+5V" (id 1) (at 471.17 41.91 90)
@@ -2512,7 +2837,7 @@
   (symbol (lib_id "power:GND") (at 72.39 148.59 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 34bff15f-7e52-40d2-9db6-768eff1b760c)
-    (property "Reference" "#PWR?" (id 0) (at 72.39 154.94 0)
+    (property "Reference" "#PWR02" (id 0) (at 72.39 154.94 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "GND" (id 1) (at 76.2 151.13 0))
@@ -2528,7 +2853,7 @@
   (symbol (lib_id "Interface_UART:MAX485E") (at 214.63 60.96 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 37741710-3dd7-4525-acd0-d399e978944e)
-    (property "Reference" "U?" (id 0) (at 208.28 44.45 0))
+    (property "Reference" "U8" (id 0) (at 208.28 44.45 0))
     (property "Value" "MAX485E" (id 1) (at 208.28 46.99 0))
     (property "Footprint" "" (id 2) (at 214.63 78.74 0)
       (effects (font (size 1.27 1.27)) hide)
@@ -2549,7 +2874,7 @@
   (symbol (lib_id "power:+5V") (at 248.92 116.84 90) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 3ae282d7-f1f4-4c26-b3fe-504b7fe5740a)
-    (property "Reference" "#PWR?" (id 0) (at 252.73 116.84 0)
+    (property "Reference" "#PWR024" (id 0) (at 252.73 116.84 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "+5V" (id 1) (at 240.03 116.84 90)
@@ -2567,7 +2892,7 @@
   (symbol (lib_id "Transistor_FET:IRLZ34N") (at 215.9 137.16 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 47d050c3-85da-45ce-8c1f-1b1d33b5f8f1)
-    (property "Reference" "Q?" (id 0) (at 214.63 125.73 0)
+    (property "Reference" "Q2" (id 0) (at 214.63 125.73 0)
       (effects (font (size 1.27 1.27)) (justify left))
     )
     (property "Value" "IRLZ34N" (id 1) (at 214.63 128.27 0)
@@ -2587,7 +2912,7 @@
   (symbol (lib_id "power:GNDREF") (at 179.07 86.36 90) (unit 1)
     (in_bom yes) (on_board yes) (fields_autoplaced)
     (uuid 4c0f9516-124a-44ee-9db4-21f965fd9f2f)
-    (property "Reference" "#PWR?" (id 0) (at 185.42 86.36 0)
+    (property "Reference" "#PWR014" (id 0) (at 185.42 86.36 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "GNDREF" (id 1) (at 184.15 86.3599 90)
@@ -2602,28 +2927,25 @@
     (pin "1" (uuid 7a04037e-1c1f-4d2b-939a-55a884408ccb))
   )
 
-  (symbol (lib_id "power:GNDREF") (at 454.66 111.76 0) (unit 1)
+  (symbol (lib_id "Jumper:Jumper_2_Open") (at 439.42 124.46 0) (unit 1)
     (in_bom yes) (on_board yes)
-    (uuid 4c234498-2b40-4e40-85d0-18daaac27094)
-    (property "Reference" "#PWR?" (id 0) (at 454.66 118.11 0)
-      (effects (font (size 1.27 1.27)) hide)
-    )
-    (property "Value" "GNDREF" (id 1) (at 450.85 118.11 0)
-      (effects (font (size 1.27 1.27)) (justify left))
-    )
-    (property "Footprint" "" (id 2) (at 454.66 111.76 0)
+    (uuid 4d081bae-a5e8-4e24-b5c3-23cdabc9b708)
+    (property "Reference" "JP2" (id 0) (at 439.42 128.27 0))
+    (property "Value" "Jumper_2_Open" (id 1) (at 439.42 130.81 0))
+    (property "Footprint" "" (id 2) (at 439.42 124.46 0)
       (effects (font (size 1.27 1.27)) hide)
     )
-    (property "Datasheet" "" (id 3) (at 454.66 111.76 0)
+    (property "Datasheet" "~" (id 3) (at 439.42 124.46 0)
       (effects (font (size 1.27 1.27)) hide)
     )
-    (pin "1" (uuid d7871395-1b51-4c0b-9b19-712fe0a66e02))
+    (pin "1" (uuid 1ad13431-c3d0-4ae7-ae1b-324aad1f188f))
+    (pin "2" (uuid 400eb16f-e3f7-4f37-a009-fe907b7ca66e))
   )
 
   (symbol (lib_id "power:+5V") (at 248.92 71.12 90) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 4d5035d5-9eae-47f2-9d22-50c056b6441a)
-    (property "Reference" "#PWR?" (id 0) (at 252.73 71.12 0)
+    (property "Reference" "#PWR021" (id 0) (at 252.73 71.12 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "+5V" (id 1) (at 240.03 71.12 90)
@@ -2641,7 +2963,7 @@
   (symbol (lib_id "power:+12V") (at 72.39 138.43 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 51813aeb-1a64-4ba7-8caf-61d78665d9ad)
-    (property "Reference" "#PWR?" (id 0) (at 72.39 142.24 0)
+    (property "Reference" "#PWR01" (id 0) (at 72.39 142.24 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "+12V" (id 1) (at 73.66 135.89 0)
@@ -2656,28 +2978,10 @@
     (pin "1" (uuid aaa3cae4-f2cd-48ed-96d2-f8b2209af81f))
   )
 
-  (symbol (lib_id "power:GNDREF") (at 472.44 86.36 0) (unit 1)
-    (in_bom yes) (on_board yes)
-    (uuid 51b028f5-9c04-4317-b9e4-36b0cf5377df)
-    (property "Reference" "#PWR?" (id 0) (at 472.44 92.71 0)
-      (effects (font (size 1.27 1.27)) hide)
-    )
-    (property "Value" "GNDREF" (id 1) (at 462.28 87.63 0)
-      (effects (font (size 1.27 1.27)) (justify left))
-    )
-    (property "Footprint" "" (id 2) (at 472.44 86.36 0)
-      (effects (font (size 1.27 1.27)) hide)
-    )
-    (property "Datasheet" "" (id 3) (at 472.44 86.36 0)
-      (effects (font (size 1.27 1.27)) hide)
-    )
-    (pin "1" (uuid 86d3fad3-02dc-4c5f-a078-1a181c550abd))
-  )
-
   (symbol (lib_id "forte:ESP32-CAM") (at 210.82 196.85 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 56bf9716-f112-4746-8dc9-7d19ee154c4c)
-    (property "Reference" "U?" (id 0) (at 210.82 177.8 0))
+    (property "Reference" "U7" (id 0) (at 210.82 177.8 0))
     (property "Value" "ESP32-CAM" (id 1) (at 210.82 196.85 0)
       (effects (font (size 1.27 1.27)) (justify left bottom) hide)
     )
@@ -2708,7 +3012,7 @@
   (symbol (lib_id "Device:R") (at 207.01 137.16 90) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 5944c386-6b3f-40ba-b611-b1acc3be5861)
-    (property "Reference" "R?" (id 0) (at 207.01 139.7 90))
+    (property "Reference" "R3" (id 0) (at 207.01 139.7 90))
     (property "Value" "330 Ohm" (id 1) (at 207.01 142.24 90))
     (property "Footprint" "" (id 2) (at 207.01 138.938 90)
       (effects (font (size 1.27 1.27)) hide)
@@ -2720,10 +3024,26 @@
     (pin "2" (uuid 2822687a-6f2f-4e25-a203-e042accf05dc))
   )
 
+  (symbol (lib_id "power:GND") (at 472.44 86.36 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 59f067db-4136-4174-9a80-eb93da2c2052)
+    (property "Reference" "#PWR039" (id 0) (at 472.44 92.71 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 467.36 87.63 0))
+    (property "Footprint" "" (id 2) (at 472.44 86.36 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 472.44 86.36 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid e7cf65b5-0ce4-4190-b2da-73383d765c3f))
+  )
+
   (symbol (lib_id "Device:R") (at 204.47 104.14 90) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 5b017eb2-e2c4-46c7-b421-9fd07701b866)
-    (property "Reference" "R?" (id 0) (at 204.47 106.68 90))
+    (property "Reference" "R2" (id 0) (at 204.47 106.68 90))
     (property "Value" "330 Ohm" (id 1) (at 204.47 109.22 90))
     (property "Footprint" "" (id 2) (at 204.47 105.918 90)
       (effects (font (size 1.27 1.27)) hide)
@@ -2738,7 +3058,7 @@
   (symbol (lib_id "forte:LilyGo_SIM7000G") (at 85.09 66.04 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 5bd09cbd-da98-43c3-a226-fa08aca96c43)
-    (property "Reference" "U?" (id 0) (at 85.09 39.37 0))
+    (property "Reference" "U2" (id 0) (at 85.09 39.37 0))
     (property "Value" "LilyGo_SIM7000G" (id 1) (at 85.09 41.91 0))
     (property "Footprint" "" (id 2) (at 85.09 73.66 0)
       (effects (font (size 1.27 1.27)) hide)
@@ -2783,7 +3103,7 @@
   (symbol (lib_id "Device:R") (at 66.04 154.94 0) (unit 1)
     (in_bom yes) (on_board yes) (fields_autoplaced)
     (uuid 5e9b4dad-0a0c-45fc-aebf-bbddb6aad4ad)
-    (property "Reference" "R?" (id 0) (at 69.85 153.6699 0)
+    (property "Reference" "R1" (id 0) (at 69.85 153.6699 0)
       (effects (font (size 1.27 1.27)) (justify left))
     )
     (property "Value" "1 MΩ" (id 1) (at 69.85 156.2099 0)
@@ -2802,7 +3122,7 @@
   (symbol (lib_name "dendrometer_1") (lib_id "uibk:dendrometer") (at 478.79 78.74 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 5ef9e275-183c-4f81-8247-01e7b56b4e0f)
-    (property "Reference" "U?" (id 0) (at 497.84 85.09 0)
+    (property "Reference" "U20" (id 0) (at 497.84 85.09 0)
       (effects (font (size 1.27 1.27)) (justify left))
     )
     (property "Value" "dendrometer" (id 1) (at 497.84 87.63 0)
@@ -2823,7 +3143,7 @@
   (symbol (lib_id "power:+5V") (at 438.15 81.28 180) (unit 1)
     (in_bom yes) (on_board yes) (fields_autoplaced)
     (uuid 5f589fa9-e065-4bce-86ef-70bcdbdf8916)
-    (property "Reference" "#PWR?" (id 0) (at 438.15 77.47 0)
+    (property "Reference" "#PWR031" (id 0) (at 438.15 77.47 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "+5V" (id 1) (at 435.61 82.5501 0)
@@ -2841,7 +3161,7 @@
   (symbol (lib_id "power:+5V") (at 172.72 191.77 270) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 6c2586a8-7088-4a46-a8a9-240840d402b8)
-    (property "Reference" "#PWR?" (id 0) (at 168.91 191.77 0)
+    (property "Reference" "#PWR012" (id 0) (at 168.91 191.77 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "+5V" (id 1) (at 177.8 194.31 90)
@@ -2859,7 +3179,7 @@
   (symbol (lib_id "uibk:RS-485-Connector") (at 251.46 63.5 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 6ff7c6d7-7caf-4d92-ba3b-24d77bed45e7)
-    (property "Reference" "U?" (id 0) (at 264.16 71.12 0)
+    (property "Reference" "U9" (id 0) (at 264.16 71.12 0)
       (effects (font (size 1.27 1.27)) (justify left))
     )
     (property "Value" "RS-485-Connector Rain" (id 1) (at 264.16 73.66 0)
@@ -2880,7 +3200,7 @@
   (symbol (lib_id "power:+5V") (at 454.66 104.14 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 71eec844-5177-496b-a359-c44cfef72e4f)
-    (property "Reference" "#PWR?" (id 0) (at 454.66 107.95 0)
+    (property "Reference" "#PWR032" (id 0) (at 454.66 107.95 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "+5V" (id 1) (at 454.66 100.33 0))
@@ -2896,7 +3216,7 @@
   (symbol (lib_id "Analog_ADC:INA219AxD") (at 85.09 171.45 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 7519f30a-3bea-4a77-90fb-36749b0a2197)
-    (property "Reference" "U?" (id 0) (at 74.93 182.88 0))
+    (property "Reference" "U3" (id 0) (at 74.93 182.88 0))
     (property "Value" "INA219AxD" (id 1) (at 74.93 185.42 0))
     (property "Footprint" "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm" (id 2) (at 105.41 180.34 0)
       (effects (font (size 1.27 1.27)) hide)
@@ -2917,7 +3237,7 @@
   (symbol (lib_id "uibk:RS-485-Connector") (at 251.46 125.73 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 79caa721-af3c-4c55-9bc8-06b1f893b5e6)
-    (property "Reference" "U?" (id 0) (at 264.16 133.35 0)
+    (property "Reference" "U13" (id 0) (at 264.16 133.35 0)
       (effects (font (size 1.27 1.27)) (justify left))
     )
     (property "Value" "RS-485-Connector Solar" (id 1) (at 264.16 135.89 0)
@@ -2938,7 +3258,7 @@
   (symbol (lib_id "power:+5V") (at 195.58 181.61 90) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 82041eba-df4e-45ad-9dce-847a81fc2f6e)
-    (property "Reference" "#PWR?" (id 0) (at 199.39 181.61 0)
+    (property "Reference" "#PWR015" (id 0) (at 199.39 181.61 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "+5V" (id 1) (at 191.77 179.07 90)
@@ -2956,7 +3276,7 @@
   (symbol (lib_name "dendrometer_1") (lib_id "uibk:dendrometer") (at 478.79 36.83 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 84bfec40-b85c-40f2-98e3-e48895324ed0)
-    (property "Reference" "U?" (id 0) (at 497.84 43.18 0)
+    (property "Reference" "U17" (id 0) (at 497.84 43.18 0)
       (effects (font (size 1.27 1.27)) (justify left))
     )
     (property "Value" "dendrometer" (id 1) (at 497.84 45.72 0)
@@ -2977,7 +3297,7 @@
   (symbol (lib_id "Analog_ADC:ADS1115IDGS") (at 438.15 68.58 180) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 84f58213-55bd-45f8-9b38-153ac396bcd6)
-    (property "Reference" "U?" (id 0) (at 438.15 88.9 0))
+    (property "Reference" "U15" (id 0) (at 438.15 88.9 0))
     (property "Value" "ADS1115IDGS" (id 1) (at 438.15 86.36 0))
     (property "Footprint" "Package_SO:TSSOP-10_3x3mm_P0.5mm" (id 2) (at 438.15 55.88 0)
       (effects (font (size 1.27 1.27)) hide)
@@ -2997,10 +3317,25 @@
     (pin "9" (uuid 7309c336-b4a2-4ece-b0c3-7f1859c41b62))
   )
 
+  (symbol (lib_id "Device:LED") (at 462.28 106.68 180) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 89a164f8-0153-4af9-9b77-dc04013e4798)
+    (property "Reference" "D1" (id 0) (at 462.28 100.33 0))
+    (property "Value" "LED" (id 1) (at 462.28 102.87 0))
+    (property "Footprint" "LED_THT:LED_D1.8mm_W3.3mm_H2.4mm" (id 2) (at 462.28 106.68 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "~" (id 3) (at 462.28 106.68 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 37f760b6-595a-4ca2-b5af-7be77bea06cc))
+    (pin "2" (uuid 2a69d18f-ccc9-4fc1-bc52-7d0bbb8c07d8))
+  )
+
   (symbol (lib_id "power:GNDREF") (at 424.18 165.1 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 8cefa787-c2d7-4898-8e28-d3d176a513be)
-    (property "Reference" "#PWR?" (id 0) (at 424.18 171.45 0)
+    (property "Reference" "#PWR028" (id 0) (at 424.18 171.45 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "GNDREF" (id 1) (at 425.45 170.18 0))
@@ -3016,7 +3351,7 @@
   (symbol (lib_id "power:+5V") (at 478.79 55.88 90) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 8d34ebc6-ab47-41a0-9b01-a9881cd5adda)
-    (property "Reference" "#PWR?" (id 0) (at 482.6 55.88 0)
+    (property "Reference" "#PWR041" (id 0) (at 482.6 55.88 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "+5V" (id 1) (at 471.17 55.88 90)
@@ -3034,7 +3369,7 @@
   (symbol (lib_id "power:+5V") (at 248.92 101.6 90) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 916883d7-2521-4bd5-986b-03629d5fad2d)
-    (property "Reference" "#PWR?" (id 0) (at 252.73 101.6 0)
+    (property "Reference" "#PWR023" (id 0) (at 252.73 101.6 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "+5V" (id 1) (at 240.03 101.6 90)
@@ -3052,7 +3387,7 @@
   (symbol (lib_id "power:+5V") (at 214.63 48.26 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 9301769d-bdea-47f1-87a7-73d3bd36296e)
-    (property "Reference" "#PWR?" (id 0) (at 214.63 52.07 0)
+    (property "Reference" "#PWR016" (id 0) (at 214.63 52.07 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "+5V" (id 1) (at 214.63 40.64 90)
@@ -3070,7 +3405,7 @@
   (symbol (lib_id "uibk:dc_dc_converter") (at 439.42 101.6 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 93249f01-26e8-407f-bf65-91f45b35593b)
-    (property "Reference" "U?" (id 0) (at 439.42 99.06 0))
+    (property "Reference" "U16" (id 0) (at 439.42 99.06 0))
     (property "Value" "dc_dc_converter" (id 1) (at 439.42 101.6 0))
     (property "Footprint" "" (id 2) (at 439.42 101.6 0)
       (effects (font (size 1.27 1.27)) hide)
@@ -3085,10 +3420,26 @@
     (pin "5" (uuid e3a28bac-a2d4-4e2f-aca7-beb80e5995a8))
   )
 
+  (symbol (lib_id "power:GND") (at 472.44 44.45 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 99d9ff17-57a8-4f06-af2b-e082626feae3)
+    (property "Reference" "#PWR036" (id 0) (at 472.44 50.8 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 467.36 45.72 0))
+    (property "Footprint" "" (id 2) (at 472.44 44.45 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 472.44 44.45 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid eee5717b-608e-4fa2-8af4-0fc3225034f8))
+  )
+
   (symbol (lib_id "power:+5V") (at 81.28 105.41 90) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid 9ccacef9-e6b1-44d0-a3d9-beef40245297)
-    (property "Reference" "#PWR?" (id 0) (at 85.09 105.41 0)
+    (property "Reference" "#PWR04" (id 0) (at 85.09 105.41 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "+5V" (id 1) (at 73.66 105.41 90)
@@ -3103,10 +3454,25 @@
     (pin "1" (uuid 82263057-eed5-4f20-a1e5-aa48556452fc))
   )
 
+  (symbol (lib_id "Jumper:Jumper_2_Open") (at 485.14 106.68 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid 9fda036f-6d43-433b-8a87-33b3bad03bd3)
+    (property "Reference" "JP3" (id 0) (at 485.14 110.49 0))
+    (property "Value" "Jumper_2_Open" (id 1) (at 485.14 113.03 0))
+    (property "Footprint" "" (id 2) (at 485.14 106.68 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "~" (id 3) (at 485.14 106.68 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 344aa596-7fa8-4cc9-b246-c4966c4dc4ac))
+    (pin "2" (uuid a32ebb66-ff3f-42d7-88c8-4d59a52edcc4))
+  )
+
   (symbol (lib_id "power:+5V") (at 478.79 69.85 90) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid a8511185-ee5e-4e7b-9d07-efd5235fae51)
-    (property "Reference" "#PWR?" (id 0) (at 482.6 69.85 0)
+    (property "Reference" "#PWR042" (id 0) (at 482.6 69.85 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "+5V" (id 1) (at 471.17 69.85 90)
@@ -3124,7 +3490,7 @@
   (symbol (lib_id "power:GNDREF") (at 215.9 116.84 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid ab44241f-5824-4aaf-909b-0b63e03f0101)
-    (property "Reference" "#PWR?" (id 0) (at 215.9 123.19 0)
+    (property "Reference" "#PWR017" (id 0) (at 215.9 123.19 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "GNDREF" (id 1) (at 215.9 121.92 0))
@@ -3140,7 +3506,7 @@
   (symbol (lib_id "uibk:RS-485-Connector") (at 251.46 109.22 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid ad93a4af-2a3c-4937-b84c-c0cd486dd054)
-    (property "Reference" "U?" (id 0) (at 264.16 116.84 0)
+    (property "Reference" "U12" (id 0) (at 264.16 116.84 0)
       (effects (font (size 1.27 1.27)) (justify left))
     )
     (property "Value" "RS-485-Connector Soil 3" (id 1) (at 264.16 119.38 0)
@@ -3158,28 +3524,10 @@
     (pin "4" (uuid d79220d1-467f-4380-a718-2dd5a209f2f2))
   )
 
-  (symbol (lib_id "power:GNDREF") (at 472.44 72.39 0) (unit 1)
-    (in_bom yes) (on_board yes)
-    (uuid ae3a240b-1f0c-4728-a149-1bc4edd27cf9)
-    (property "Reference" "#PWR?" (id 0) (at 472.44 78.74 0)
-      (effects (font (size 1.27 1.27)) hide)
-    )
-    (property "Value" "GNDREF" (id 1) (at 462.28 73.66 0)
-      (effects (font (size 1.27 1.27)) (justify left))
-    )
-    (property "Footprint" "" (id 2) (at 472.44 72.39 0)
-      (effects (font (size 1.27 1.27)) hide)
-    )
-    (property "Datasheet" "" (id 3) (at 472.44 72.39 0)
-      (effects (font (size 1.27 1.27)) hide)
-    )
-    (pin "1" (uuid 773fd2f7-a98f-4b03-a289-ecd85b1c285c))
-  )
-
   (symbol (lib_id "Device:Battery") (at 66.04 143.51 0) (unit 1)
     (in_bom yes) (on_board yes) (fields_autoplaced)
     (uuid b63c4589-d016-4f1c-a8b0-19ba9859e143)
-    (property "Reference" "BT?" (id 0) (at 71.12 142.2399 0)
+    (property "Reference" "BT1" (id 0) (at 71.12 142.2399 0)
       (effects (font (size 1.27 1.27)) (justify left))
     )
     (property "Value" "Battery" (id 1) (at 71.12 144.7799 0)
@@ -3198,7 +3546,7 @@
   (symbol (lib_id "forte:ESP32_Bat_Pro_EzSBC") (at 166.37 63.5 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid b64f0e94-d22d-41c4-93a4-689734514723)
-    (property "Reference" "U?" (id 0) (at 166.37 30.48 0))
+    (property "Reference" "U5" (id 0) (at 166.37 30.48 0))
     (property "Value" "ESP32_Bat_Pro_EzSBC" (id 1) (at 166.37 33.02 0))
     (property "Footprint" "" (id 2) (at 166.37 63.5 0)
       (effects (font (size 1.27 1.27)) hide)
@@ -3251,7 +3599,7 @@
   (symbol (lib_id "power:GNDREF") (at 85.09 181.61 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid b8037a8d-bac4-44a6-9a3b-e193829d51c0)
-    (property "Reference" "#PWR?" (id 0) (at 85.09 187.96 0)
+    (property "Reference" "#PWR06" (id 0) (at 85.09 187.96 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "GNDREF" (id 1) (at 85.09 186.69 0))
@@ -3267,7 +3615,7 @@
   (symbol (lib_id "uibk:I2C-Connector") (at 170.18 199.39 180) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid b88a3a7d-57cf-4bf5-85af-32759e882807)
-    (property "Reference" "U?" (id 0) (at 158.75 191.77 0)
+    (property "Reference" "U6" (id 0) (at 158.75 191.77 0)
       (effects (font (size 1.27 1.27)) (justify left))
     )
     (property "Value" "I2C-Connector SHT85 " (id 1) (at 158.75 189.23 0)
@@ -3288,7 +3636,7 @@
   (symbol (lib_id "power:+5V") (at 105.41 142.24 270) (unit 1)
     (in_bom yes) (on_board yes) (fields_autoplaced)
     (uuid b8aaefd6-ea26-4ef0-879a-9a42156f6e3f)
-    (property "Reference" "#PWR?" (id 0) (at 101.6 142.24 0)
+    (property "Reference" "#PWR09" (id 0) (at 101.6 142.24 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "+5V" (id 1) (at 110.49 142.2399 90)
@@ -3306,7 +3654,7 @@
   (symbol (lib_id "power:GNDREF") (at 97.79 83.82 90) (unit 1)
     (in_bom yes) (on_board yes) (fields_autoplaced)
     (uuid ba70e72e-ead1-456a-99a3-7565dcaba70f)
-    (property "Reference" "#PWR?" (id 0) (at 104.14 83.82 0)
+    (property "Reference" "#PWR07" (id 0) (at 104.14 83.82 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "GNDREF" (id 1) (at 102.87 83.8199 90)
@@ -3324,7 +3672,7 @@
   (symbol (lib_id "uibk:RS-485-Connector") (at 251.46 78.74 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid bf1148db-dc12-4f43-83bc-cf782b3a5d0b)
-    (property "Reference" "U?" (id 0) (at 264.16 86.36 0)
+    (property "Reference" "U10" (id 0) (at 264.16 86.36 0)
       (effects (font (size 1.27 1.27)) (justify left))
     )
     (property "Value" "RS-485-Connector Soil 1" (id 1) (at 264.16 88.9 0)
@@ -3342,28 +3690,10 @@
     (pin "4" (uuid c0bc4713-4798-4b45-80d1-73ce8458cdf3))
   )
 
-  (symbol (lib_id "power:GNDREF") (at 438.15 58.42 180) (unit 1)
-    (in_bom yes) (on_board yes)
-    (uuid bfaf665d-acf4-4727-a23b-b9d092f899ca)
-    (property "Reference" "#PWR?" (id 0) (at 438.15 52.07 0)
-      (effects (font (size 1.27 1.27)) hide)
-    )
-    (property "Value" "GNDREF" (id 1) (at 438.15 46.99 90)
-      (effects (font (size 1.27 1.27)) (justify left))
-    )
-    (property "Footprint" "" (id 2) (at 438.15 58.42 0)
-      (effects (font (size 1.27 1.27)) hide)
-    )
-    (property "Datasheet" "" (id 3) (at 438.15 58.42 0)
-      (effects (font (size 1.27 1.27)) hide)
-    )
-    (pin "1" (uuid 9ab3d875-b933-43ef-9e34-927f54908e36))
-  )
-
   (symbol (lib_id "power:+5V") (at 85.09 161.29 0) (unit 1)
     (in_bom yes) (on_board yes) (fields_autoplaced)
     (uuid c2dcb0b6-a9a1-47ea-9882-8a83c6e32b2a)
-    (property "Reference" "#PWR?" (id 0) (at 85.09 165.1 0)
+    (property "Reference" "#PWR05" (id 0) (at 85.09 165.1 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "+5V" (id 1) (at 87.63 160.0199 0)
@@ -3381,7 +3711,7 @@
   (symbol (lib_name "dendrometer_1") (lib_id "uibk:dendrometer") (at 478.79 64.77 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid c5a20e29-ebe3-4c4d-aa68-c92505978acb)
-    (property "Reference" "U?" (id 0) (at 497.84 71.12 0)
+    (property "Reference" "U19" (id 0) (at 497.84 71.12 0)
       (effects (font (size 1.27 1.27)) (justify left))
     )
     (property "Value" "dendrometer" (id 1) (at 497.84 73.66 0)
@@ -3402,7 +3732,7 @@
   (symbol (lib_id "Transistor_FET:IRLZ34N") (at 213.36 104.14 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid c6fef39e-1b05-49fe-9955-0979381cccaa)
-    (property "Reference" "Q?" (id 0) (at 205.74 95.25 0)
+    (property "Reference" "Q1" (id 0) (at 205.74 95.25 0)
       (effects (font (size 1.27 1.27)) (justify left))
     )
     (property "Value" "IRLZ34N" (id 1) (at 205.74 97.79 0)
@@ -3419,28 +3749,10 @@
     (pin "3" (uuid 3f3ffda4-0ebb-4c52-bfe9-e548eaf2467e))
   )
 
-  (symbol (lib_id "power:GNDREF") (at 472.44 58.42 0) (unit 1)
-    (in_bom yes) (on_board yes)
-    (uuid c71455f4-696f-4e07-9192-af54f81586a2)
-    (property "Reference" "#PWR?" (id 0) (at 472.44 64.77 0)
-      (effects (font (size 1.27 1.27)) hide)
-    )
-    (property "Value" "GNDREF" (id 1) (at 462.28 59.69 0)
-      (effects (font (size 1.27 1.27)) (justify left))
-    )
-    (property "Footprint" "" (id 2) (at 472.44 58.42 0)
-      (effects (font (size 1.27 1.27)) hide)
-    )
-    (property "Datasheet" "" (id 3) (at 472.44 58.42 0)
-      (effects (font (size 1.27 1.27)) hide)
-    )
-    (pin "1" (uuid 72c41cde-b5b0-4aa6-8c1d-7195f89b2aa9))
-  )
-
   (symbol (lib_id "power:GNDREF") (at 105.41 144.78 90) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid cfc9bdc1-2672-4e24-a0c7-bbfab43286b0)
-    (property "Reference" "#PWR?" (id 0) (at 111.76 144.78 0)
+    (property "Reference" "#PWR010" (id 0) (at 111.76 144.78 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "GNDREF" (id 1) (at 116.84 144.78 90)
@@ -3458,7 +3770,7 @@
   (symbol (lib_id "uibk:I2C-Connector") (at 83.82 97.79 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid d6b191bd-961f-405f-8824-02ac3b8e1878)
-    (property "Reference" "U?" (id 0) (at 95.25 105.41 0)
+    (property "Reference" "U1" (id 0) (at 95.25 105.41 0)
       (effects (font (size 1.27 1.27)) (justify left))
     )
     (property "Value" "I2C-Connector DS3231" (id 1) (at 95.25 107.95 0)
@@ -3476,10 +3788,26 @@
     (pin "4" (uuid 8a299b84-2bc7-4288-8873-3856f52f442b))
   )
 
+  (symbol (lib_id "power:GND") (at 472.44 58.42 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid da123322-e080-4c39-b785-101c21ab5d6d)
+    (property "Reference" "#PWR037" (id 0) (at 472.44 64.77 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 467.36 59.69 0))
+    (property "Footprint" "" (id 2) (at 472.44 58.42 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 472.44 58.42 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 32648f79-5891-4ff3-a12c-671c7fb07136))
+  )
+
   (symbol (lib_id "power:+BATT") (at 424.18 157.48 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid dd79edbb-9b91-45a6-ad72-99b568442ebb)
-    (property "Reference" "#PWR?" (id 0) (at 424.18 161.29 0)
+    (property "Reference" "#PWR027" (id 0) (at 424.18 161.29 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "+BATT" (id 1) (at 424.18 152.4 0))
@@ -3492,26 +3820,26 @@
     (pin "1" (uuid aae3832a-728d-49ae-90fe-f5c52cd90d6c))
   )
 
-  (symbol (lib_id "power:+BATT") (at 426.72 104.14 0) (unit 1)
+  (symbol (lib_id "power:GND") (at 461.01 127 0) (unit 1)
     (in_bom yes) (on_board yes)
-    (uuid e72495a1-18bd-4448-91ec-907aa5acb7d0)
-    (property "Reference" "#PWR?" (id 0) (at 426.72 107.95 0)
+    (uuid e7db5864-b303-4e42-886b-829282675dc1)
+    (property "Reference" "#PWR035" (id 0) (at 461.01 133.35 0)
       (effects (font (size 1.27 1.27)) hide)
     )
-    (property "Value" "+BATT" (id 1) (at 425.45 99.06 0))
-    (property "Footprint" "" (id 2) (at 426.72 104.14 0)
+    (property "Value" "GND" (id 1) (at 461.01 132.08 0))
+    (property "Footprint" "" (id 2) (at 461.01 127 0)
       (effects (font (size 1.27 1.27)) hide)
     )
-    (property "Datasheet" "" (id 3) (at 426.72 104.14 0)
+    (property "Datasheet" "" (id 3) (at 461.01 127 0)
       (effects (font (size 1.27 1.27)) hide)
     )
-    (pin "1" (uuid d9882e77-19c6-49b1-8124-1742ec92af37))
+    (pin "1" (uuid a588a141-3721-4730-b388-8da755691174))
   )
 
   (symbol (lib_id "power:GND") (at 248.92 68.58 270) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid ecd04624-5b8c-4511-8d89-c2842620b8b9)
-    (property "Reference" "#PWR?" (id 0) (at 242.57 68.58 0)
+    (property "Reference" "#PWR020" (id 0) (at 242.57 68.58 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "GND" (id 1) (at 242.57 68.58 90))
@@ -3527,7 +3855,7 @@
   (symbol (lib_id "power:+5V") (at 478.79 83.82 90) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid ecf1bede-0f2d-4c37-a5b2-e5e5785de13c)
-    (property "Reference" "#PWR?" (id 0) (at 482.6 83.82 0)
+    (property "Reference" "#PWR043" (id 0) (at 482.6 83.82 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "+5V" (id 1) (at 471.17 83.82 90)
@@ -3545,7 +3873,7 @@
   (symbol (lib_id "power:GNDREF") (at 218.44 142.24 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid ee827eec-119b-46d5-a141-b829001bdcd5)
-    (property "Reference" "#PWR?" (id 0) (at 218.44 148.59 0)
+    (property "Reference" "#PWR018" (id 0) (at 218.44 148.59 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (property "Value" "GNDREF" (id 1) (at 218.44 147.32 0))
@@ -3558,10 +3886,26 @@
     (pin "1" (uuid de764299-4ed0-4035-b2ec-615803dd6a29))
   )
 
+  (symbol (lib_id "power:GND") (at 438.15 58.42 180) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid ee873aec-37cd-4a29-b815-8ade9daa1730)
+    (property "Reference" "#PWR030" (id 0) (at 438.15 52.07 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 443.23 57.15 0))
+    (property "Footprint" "" (id 2) (at 438.15 58.42 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 438.15 58.42 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid 9730aec8-f625-44f3-a315-6c553b29e254))
+  )
+
   (symbol (lib_id "forte:ESP32_Bat_Pro_EzSBC") (at 396.24 78.74 180) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid f5ee0858-3ef0-497c-9c68-1b6b53d34328)
-    (property "Reference" "U?" (id 0) (at 396.24 45.72 0))
+    (property "Reference" "U14" (id 0) (at 396.24 45.72 0))
     (property "Value" "ESP32_Bat_Pro_EzSBC" (id 1) (at 396.24 49.53 0))
     (property "Footprint" "" (id 2) (at 396.24 78.74 0)
       (effects (font (size 1.27 1.27)) hide)
@@ -3611,233 +3955,288 @@
     (pin "9" (uuid 948d3685-d9f1-4322-a112-6b58d30c06ac))
   )
 
-  (symbol (lib_id "power:GNDREF") (at 414.02 101.6 0) (unit 1)
+  (symbol (lib_id "power:GNDREF") (at 414.02 125.73 0) (unit 1)
     (in_bom yes) (on_board yes)
     (uuid fb7a9901-48af-4b0a-ac38-c76ef928aec9)
-    (property "Reference" "#PWR?" (id 0) (at 414.02 107.95 0)
+    (property "Reference" "#PWR026" (id 0) (at 414.02 132.08 0)
       (effects (font (size 1.27 1.27)) hide)
     )
-    (property "Value" "GNDREF" (id 1) (at 414.02 109.22 90))
-    (property "Footprint" "" (id 2) (at 414.02 101.6 0)
+    (property "Value" "GNDREF" (id 1) (at 414.02 133.35 90))
+    (property "Footprint" "" (id 2) (at 414.02 125.73 0)
       (effects (font (size 1.27 1.27)) hide)
     )
-    (property "Datasheet" "" (id 3) (at 414.02 101.6 0)
+    (property "Datasheet" "" (id 3) (at 414.02 125.73 0)
       (effects (font (size 1.27 1.27)) hide)
     )
     (pin "1" (uuid 6ab5a543-d61e-4542-a475-b0225e67104c))
   )
 
+  (symbol (lib_id "power:GND") (at 454.66 111.76 0) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid fd45c5ad-60eb-4091-b9fa-11c71c07400d)
+    (property "Reference" "#PWR033" (id 0) (at 454.66 118.11 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Value" "GND" (id 1) (at 454.66 116.84 0))
+    (property "Footprint" "" (id 2) (at 454.66 111.76 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "" (id 3) (at 454.66 111.76 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid f65e305d-c762-466b-877e-563c2f882ace))
+  )
+
+  (symbol (lib_id "Device:R") (at 472.44 106.68 90) (unit 1)
+    (in_bom yes) (on_board yes)
+    (uuid ff510457-9bdb-4f88-9162-9245dfc857a7)
+    (property "Reference" "R4" (id 0) (at 472.44 100.33 90))
+    (property "Value" "640 Ohm" (id 1) (at 472.44 102.87 90))
+    (property "Footprint" "" (id 2) (at 472.44 108.458 90)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (property "Datasheet" "~" (id 3) (at 472.44 106.68 0)
+      (effects (font (size 1.27 1.27)) hide)
+    )
+    (pin "1" (uuid c0249a04-724b-46e3-8552-1a8629f7300f))
+    (pin "2" (uuid 55f6c015-de9d-4c46-81ac-ff2a741c6073))
+  )
+
   (sheet_instances
     (path "/" (page "1"))
   )
 
   (symbol_instances
-    (path "/00190d1d-53b9-40f9-aa34-1801a57dda48"
-      (reference "#PWR?") (unit 1) (value "+5V") (footprint "")
+    (path "/51813aeb-1a64-4ba7-8caf-61d78665d9ad"
+      (reference "#PWR01") (unit 1) (value "+12V") (footprint "")
     )
-    (path "/02af4d56-fe07-4d90-8b24-022145c26c04"
-      (reference "#PWR?") (unit 1) (value "+12V") (footprint "")
+    (path "/34bff15f-7e52-40d2-9db6-768eff1b760c"
+      (reference "#PWR02") (unit 1) (value "GND") (footprint "")
     )
     (path "/0e21d108-6018-45c5-96c0-db01df4cbffa"
-      (reference "#PWR?") (unit 1) (value "GNDREF") (footprint "")
+      (reference "#PWR03") (unit 1) (value "GNDREF") (footprint "")
     )
-    (path "/18ced1bb-6166-4fd3-aa19-baaef7259f49"
-      (reference "#PWR?") (unit 1) (value "GNDREF") (footprint "")
+    (path "/9ccacef9-e6b1-44d0-a3d9-beef40245297"
+      (reference "#PWR04") (unit 1) (value "+5V") (footprint "")
     )
-    (path "/1b1232f5-beef-445f-9a3a-01beff52fddc"
-      (reference "#PWR?") (unit 1) (value "+5V") (footprint "")
+    (path "/c2dcb0b6-a9a1-47ea-9882-8a83c6e32b2a"
+      (reference "#PWR05") (unit 1) (value "+5V") (footprint "")
     )
-    (path "/23fd8b05-231f-4776-bc61-790fd53ae890"
-      (reference "#PWR?") (unit 1) (value "GNDREF") (footprint "")
+    (path "/b8037a8d-bac4-44a6-9a3b-e193829d51c0"
+      (reference "#PWR06") (unit 1) (value "GNDREF") (footprint "")
     )
-    (path "/2cadc8f5-387c-4e00-ab00-0869eab3428e"
-      (reference "#PWR?") (unit 1) (value "GNDREF") (footprint "")
+    (path "/ba70e72e-ead1-456a-99a3-7565dcaba70f"
+      (reference "#PWR07") (unit 1) (value "GNDREF") (footprint "")
     )
-    (path "/2fc1deca-9f9a-4f72-ac1c-4c2026fe7399"
-      (reference "#PWR?") (unit 1) (value "+5V") (footprint "")
+    (path "/00190d1d-53b9-40f9-aa34-1801a57dda48"
+      (reference "#PWR08") (unit 1) (value "+5V") (footprint "")
     )
-    (path "/32f0c209-6f00-4a46-9af3-2af48e423807"
-      (reference "#PWR?") (unit 1) (value "GNDREF") (footprint "")
+    (path "/b8aaefd6-ea26-4ef0-879a-9a42156f6e3f"
+      (reference "#PWR09") (unit 1) (value "+5V") (footprint "")
     )
-    (path "/34399edb-4b71-4492-bca6-5895104ae10b"
-      (reference "#PWR?") (unit 1) (value "+5V") (footprint "")
+    (path "/cfc9bdc1-2672-4e24-a0c7-bbfab43286b0"
+      (reference "#PWR010") (unit 1) (value "GNDREF") (footprint "")
     )
-    (path "/34bff15f-7e52-40d2-9db6-768eff1b760c"
-      (reference "#PWR?") (unit 1) (value "GND") (footprint "")
+    (path "/2fc1deca-9f9a-4f72-ac1c-4c2026fe7399"
+      (reference "#PWR011") (unit 1) (value "+5V") (footprint "")
     )
-    (path "/3ae282d7-f1f4-4c26-b3fe-504b7fe5740a"
-      (reference "#PWR?") (unit 1) (value "+5V") (footprint "")
+    (path "/6c2586a8-7088-4a46-a8a9-240840d402b8"
+      (reference "#PWR012") (unit 1) (value "+5V") (footprint "")
+    )
+    (path "/23fd8b05-231f-4776-bc61-790fd53ae890"
+      (reference "#PWR013") (unit 1) (value "GNDREF") (footprint "")
     )
     (path "/4c0f9516-124a-44ee-9db4-21f965fd9f2f"
-      (reference "#PWR?") (unit 1) (value "GNDREF") (footprint "")
+      (reference "#PWR014") (unit 1) (value "GNDREF") (footprint "")
     )
-    (path "/4c234498-2b40-4e40-85d0-18daaac27094"
-      (reference "#PWR?") (unit 1) (value "GNDREF") (footprint "")
+    (path "/82041eba-df4e-45ad-9dce-847a81fc2f6e"
+      (reference "#PWR015") (unit 1) (value "+5V") (footprint "")
     )
-    (path "/4d5035d5-9eae-47f2-9d22-50c056b6441a"
-      (reference "#PWR?") (unit 1) (value "+5V") (footprint "")
+    (path "/9301769d-bdea-47f1-87a7-73d3bd36296e"
+      (reference "#PWR016") (unit 1) (value "+5V") (footprint "")
     )
-    (path "/51813aeb-1a64-4ba7-8caf-61d78665d9ad"
-      (reference "#PWR?") (unit 1) (value "+12V") (footprint "")
+    (path "/ab44241f-5824-4aaf-909b-0b63e03f0101"
+      (reference "#PWR017") (unit 1) (value "GNDREF") (footprint "")
     )
-    (path "/51b028f5-9c04-4317-b9e4-36b0cf5377df"
-      (reference "#PWR?") (unit 1) (value "GNDREF") (footprint "")
+    (path "/ee827eec-119b-46d5-a141-b829001bdcd5"
+      (reference "#PWR018") (unit 1) (value "GNDREF") (footprint "")
     )
-    (path "/5f589fa9-e065-4bce-86ef-70bcdbdf8916"
-      (reference "#PWR?") (unit 1) (value "+5V") (footprint "")
+    (path "/32f0c209-6f00-4a46-9af3-2af48e423807"
+      (reference "#PWR019") (unit 1) (value "GNDREF") (footprint "")
     )
-    (path "/6c2586a8-7088-4a46-a8a9-240840d402b8"
-      (reference "#PWR?") (unit 1) (value "+5V") (footprint "")
+    (path "/ecd04624-5b8c-4511-8d89-c2842620b8b9"
+      (reference "#PWR020") (unit 1) (value "GND") (footprint "")
     )
-    (path "/71eec844-5177-496b-a359-c44cfef72e4f"
-      (reference "#PWR?") (unit 1) (value "+5V") (footprint "")
+    (path "/4d5035d5-9eae-47f2-9d22-50c056b6441a"
+      (reference "#PWR021") (unit 1) (value "+5V") (footprint "")
     )
-    (path "/82041eba-df4e-45ad-9dce-847a81fc2f6e"
-      (reference "#PWR?") (unit 1) (value "+5V") (footprint "")
+    (path "/1b1232f5-beef-445f-9a3a-01beff52fddc"
+      (reference "#PWR022") (unit 1) (value "+5V") (footprint "")
     )
-    (path "/8cefa787-c2d7-4898-8e28-d3d176a513be"
-      (reference "#PWR?") (unit 1) (value "GNDREF") (footprint "")
+    (path "/916883d7-2521-4bd5-986b-03629d5fad2d"
+      (reference "#PWR023") (unit 1) (value "+5V") (footprint "")
     )
-    (path "/8d34ebc6-ab47-41a0-9b01-a9881cd5adda"
-      (reference "#PWR?") (unit 1) (value "+5V") (footprint "")
+    (path "/3ae282d7-f1f4-4c26-b3fe-504b7fe5740a"
+      (reference "#PWR024") (unit 1) (value "+5V") (footprint "")
     )
-    (path "/916883d7-2521-4bd5-986b-03629d5fad2d"
-      (reference "#PWR?") (unit 1) (value "+5V") (footprint "")
+    (path "/02af4d56-fe07-4d90-8b24-022145c26c04"
+      (reference "#PWR025") (unit 1) (value "+12V") (footprint "")
     )
-    (path "/9301769d-bdea-47f1-87a7-73d3bd36296e"
-      (reference "#PWR?") (unit 1) (value "+5V") (footprint "")
+    (path "/fb7a9901-48af-4b0a-ac38-c76ef928aec9"
+      (reference "#PWR026") (unit 1) (value "GNDREF") (footprint "")
     )
-    (path "/9ccacef9-e6b1-44d0-a3d9-beef40245297"
-      (reference "#PWR?") (unit 1) (value "+5V") (footprint "")
+    (path "/dd79edbb-9b91-45a6-ad72-99b568442ebb"
+      (reference "#PWR027") (unit 1) (value "+BATT") (footprint "")
     )
-    (path "/a8511185-ee5e-4e7b-9d07-efd5235fae51"
-      (reference "#PWR?") (unit 1) (value "+5V") (footprint "")
+    (path "/8cefa787-c2d7-4898-8e28-d3d176a513be"
+      (reference "#PWR028") (unit 1) (value "GNDREF") (footprint "")
     )
-    (path "/ab44241f-5824-4aaf-909b-0b63e03f0101"
-      (reference "#PWR?") (unit 1) (value "GNDREF") (footprint "")
+    (path "/2cadc8f5-387c-4e00-ab00-0869eab3428e"
+      (reference "#PWR029") (unit 1) (value "GNDREF") (footprint "")
     )
-    (path "/ae3a240b-1f0c-4728-a149-1bc4edd27cf9"
-      (reference "#PWR?") (unit 1) (value "GNDREF") (footprint "")
+    (path "/ee873aec-37cd-4a29-b815-8ade9daa1730"
+      (reference "#PWR030") (unit 1) (value "GND") (footprint "")
     )
-    (path "/b8037a8d-bac4-44a6-9a3b-e193829d51c0"
-      (reference "#PWR?") (unit 1) (value "GNDREF") (footprint "")
+    (path "/5f589fa9-e065-4bce-86ef-70bcdbdf8916"
+      (reference "#PWR031") (unit 1) (value "+5V") (footprint "")
     )
-    (path "/b8aaefd6-ea26-4ef0-879a-9a42156f6e3f"
-      (reference "#PWR?") (unit 1) (value "+5V") (footprint "")
+    (path "/71eec844-5177-496b-a359-c44cfef72e4f"
+      (reference "#PWR032") (unit 1) (value "+5V") (footprint "")
     )
-    (path "/ba70e72e-ead1-456a-99a3-7565dcaba70f"
-      (reference "#PWR?") (unit 1) (value "GNDREF") (footprint "")
+    (path "/fd45c5ad-60eb-4091-b9fa-11c71c07400d"
+      (reference "#PWR033") (unit 1) (value "GND") (footprint "")
     )
-    (path "/bfaf665d-acf4-4727-a23b-b9d092f899ca"
-      (reference "#PWR?") (unit 1) (value "GNDREF") (footprint "")
+    (path "/1c4ed00e-8a97-49fe-ac31-e108190b9e0b"
+      (reference "#PWR034") (unit 1) (value "+5V") (footprint "")
     )
-    (path "/c2dcb0b6-a9a1-47ea-9882-8a83c6e32b2a"
-      (reference "#PWR?") (unit 1) (value "+5V") (footprint "")
+    (path "/e7db5864-b303-4e42-886b-829282675dc1"
+      (reference "#PWR035") (unit 1) (value "GND") (footprint "")
     )
-    (path "/c71455f4-696f-4e07-9192-af54f81586a2"
-      (reference "#PWR?") (unit 1) (value "GNDREF") (footprint "")
+    (path "/99d9ff17-57a8-4f06-af2b-e082626feae3"
+      (reference "#PWR036") (unit 1) (value "GND") (footprint "")
     )
-    (path "/cfc9bdc1-2672-4e24-a0c7-bbfab43286b0"
-      (reference "#PWR?") (unit 1) (value "GNDREF") (footprint "")
+    (path "/da123322-e080-4c39-b785-101c21ab5d6d"
+      (reference "#PWR037") (unit 1) (value "GND") (footprint "")
     )
-    (path "/dd79edbb-9b91-45a6-ad72-99b568442ebb"
-      (reference "#PWR?") (unit 1) (value "+BATT") (footprint "")
+    (path "/3310e8ca-e953-47fb-9c0c-7d418b852445"
+      (reference "#PWR038") (unit 1) (value "GND") (footprint "")
     )
-    (path "/e72495a1-18bd-4448-91ec-907aa5acb7d0"
-      (reference "#PWR?") (unit 1) (value "+BATT") (footprint "")
+    (path "/59f067db-4136-4174-9a80-eb93da2c2052"
+      (reference "#PWR039") (unit 1) (value "GND") (footprint "")
     )
-    (path "/ecd04624-5b8c-4511-8d89-c2842620b8b9"
-      (reference "#PWR?") (unit 1) (value "GND") (footprint "")
+    (path "/34399edb-4b71-4492-bca6-5895104ae10b"
+      (reference "#PWR040") (unit 1) (value "+5V") (footprint "")
+    )
+    (path "/8d34ebc6-ab47-41a0-9b01-a9881cd5adda"
+      (reference "#PWR041") (unit 1) (value "+5V") (footprint "")
+    )
+    (path "/a8511185-ee5e-4e7b-9d07-efd5235fae51"
+      (reference "#PWR042") (unit 1) (value "+5V") (footprint "")
     )
     (path "/ecf1bede-0f2d-4c37-a5b2-e5e5785de13c"
-      (reference "#PWR?") (unit 1) (value "+5V") (footprint "")
+      (reference "#PWR043") (unit 1) (value "+5V") (footprint "")
     )
-    (path "/ee827eec-119b-46d5-a141-b829001bdcd5"
-      (reference "#PWR?") (unit 1) (value "GNDREF") (footprint "")
+    (path "/17571c60-6ac9-47db-be3d-d74dd7c6f66d"
+      (reference "#PWR044") (unit 1) (value "GND") (footprint "")
     )
-    (path "/fb7a9901-48af-4b0a-ac38-c76ef928aec9"
-      (reference "#PWR?") (unit 1) (value "GNDREF") (footprint "")
+    (path "/b63c4589-d016-4f1c-a8b0-19ba9859e143"
+      (reference "BT1") (unit 1) (value "Battery") (footprint "")
     )
     (path "/16b3df30-0cf6-4075-98fa-998848f8569f"
-      (reference "BT?") (unit 1) (value "Battery_Cell") (footprint "")
+      (reference "BT2") (unit 1) (value "Battery_Cell") (footprint "")
     )
-    (path "/b63c4589-d016-4f1c-a8b0-19ba9859e143"
-      (reference "BT?") (unit 1) (value "Battery") (footprint "")
+    (path "/89a164f8-0153-4af9-9b77-dc04013e4798"
+      (reference "D1") (unit 1) (value "LED") (footprint "LED_THT:LED_D1.8mm_W3.3mm_H2.4mm")
     )
-    (path "/47d050c3-85da-45ce-8c1f-1b1d33b5f8f1"
-      (reference "Q?") (unit 1) (value "IRLZ34N") (footprint "Package_TO_SOT_THT:TO-220-3_Vertical")
+    (path "/14542937-daac-4f82-9c4b-a21fdc027506"
+      (reference "J1") (unit 1) (value "Conn_01x03_Male") (footprint "Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical")
+    )
+    (path "/01be89a1-37ea-4c6b-ac8d-8c4c6f34d36d"
+      (reference "JP1") (unit 1) (value "Jumper_2_Open") (footprint "")
+    )
+    (path "/4d081bae-a5e8-4e24-b5c3-23cdabc9b708"
+      (reference "JP2") (unit 1) (value "Jumper_2_Open") (footprint "")
+    )
+    (path "/9fda036f-6d43-433b-8a87-33b3bad03bd3"
+      (reference "JP3") (unit 1) (value "Jumper_2_Open") (footprint "")
     )
     (path "/c6fef39e-1b05-49fe-9955-0979381cccaa"
-      (reference "Q?") (unit 1) (value "IRLZ34N") (footprint "Package_TO_SOT_THT:TO-220-3_Vertical")
+      (reference "Q1") (unit 1) (value "IRLZ34N") (footprint "Package_TO_SOT_THT:TO-220-3_Vertical")
     )
-    (path "/5944c386-6b3f-40ba-b611-b1acc3be5861"
-      (reference "R?") (unit 1) (value "330 Ohm") (footprint "")
+    (path "/47d050c3-85da-45ce-8c1f-1b1d33b5f8f1"
+      (reference "Q2") (unit 1) (value "IRLZ34N") (footprint "Package_TO_SOT_THT:TO-220-3_Vertical")
+    )
+    (path "/5e9b4dad-0a0c-45fc-aebf-bbddb6aad4ad"
+      (reference "R1") (unit 1) (value "1 MΩ") (footprint "Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal")
     )
     (path "/5b017eb2-e2c4-46c7-b421-9fd07701b866"
-      (reference "R?") (unit 1) (value "330 Ohm") (footprint "")
+      (reference "R2") (unit 1) (value "330 Ohm") (footprint "")
     )
-    (path "/5e9b4dad-0a0c-45fc-aebf-bbddb6aad4ad"
-      (reference "R?") (unit 1) (value "1 MΩ") (footprint "Resistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_Horizontal")
+    (path "/5944c386-6b3f-40ba-b611-b1acc3be5861"
+      (reference "R3") (unit 1) (value "330 Ohm") (footprint "")
     )
-    (path "/13824f77-72fd-45ed-bcb4-bbe829cbc3cc"
-      (reference "U?") (unit 1) (value "RS-485-Connector Soil 2") (footprint "Connector_JST:JST_XH_B4B-XH-AM_1x04_P2.50mm_Vertical")
+    (path "/ff510457-9bdb-4f88-9162-9245dfc857a7"
+      (reference "R4") (unit 1) (value "640 Ohm") (footprint "")
+    )
+    (path "/d6b191bd-961f-405f-8824-02ac3b8e1878"
+      (reference "U1") (unit 1) (value "I2C-Connector DS3231") (footprint "Connector_JST:JST_XH_B4B-XH-AM_1x04_P2.50mm_Vertical")
+    )
+    (path "/5bd09cbd-da98-43c3-a226-fa08aca96c43"
+      (reference "U2") (unit 1) (value "LilyGo_SIM7000G") (footprint "")
+    )
+    (path "/7519f30a-3bea-4a77-90fb-36749b0a2197"
+      (reference "U3") (unit 1) (value "INA219AxD") (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm")
     )
     (path "/23bfa2ab-da17-4ac0-951f-bdd17bf0b3bf"
-      (reference "U?") (unit 1) (value "dc_dc_converter") (footprint "")
+      (reference "U4") (unit 1) (value "dc_dc_converter") (footprint "")
     )
-    (path "/303de297-ec8f-4d1b-b904-aebd02d6d337"
-      (reference "U?") (unit 1) (value "dendrometer") (footprint "Connector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical")
+    (path "/b64f0e94-d22d-41c4-93a4-689734514723"
+      (reference "U5") (unit 1) (value "ESP32_Bat_Pro_EzSBC") (footprint "")
     )
-    (path "/37741710-3dd7-4525-acd0-d399e978944e"
-      (reference "U?") (unit 1) (value "MAX485E") (footprint "")
+    (path "/b88a3a7d-57cf-4bf5-85af-32759e882807"
+      (reference "U6") (unit 1) (value "I2C-Connector SHT85 ") (footprint "Connector_JST:JST_XH_B4B-XH-AM_1x04_P2.50mm_Vertical")
     )
     (path "/56bf9716-f112-4746-8dc9-7d19ee154c4c"
-      (reference "U?") (unit 1) (value "ESP32-CAM") (footprint "forte:ESP32-CAM")
-    )
-    (path "/5bd09cbd-da98-43c3-a226-fa08aca96c43"
-      (reference "U?") (unit 1) (value "LilyGo_SIM7000G") (footprint "")
+      (reference "U7") (unit 1) (value "ESP32-CAM") (footprint "forte:ESP32-CAM")
     )
-    (path "/5ef9e275-183c-4f81-8247-01e7b56b4e0f"
-      (reference "U?") (unit 1) (value "dendrometer") (footprint "Connector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical")
+    (path "/37741710-3dd7-4525-acd0-d399e978944e"
+      (reference "U8") (unit 1) (value "MAX485E") (footprint "")
     )
     (path "/6ff7c6d7-7caf-4d92-ba3b-24d77bed45e7"
-      (reference "U?") (unit 1) (value "RS-485-Connector Rain") (footprint "Connector_JST:JST_XH_B4B-XH-AM_1x04_P2.50mm_Vertical")
+      (reference "U9") (unit 1) (value "RS-485-Connector Rain") (footprint "Connector_JST:JST_XH_B4B-XH-AM_1x04_P2.50mm_Vertical")
     )
-    (path "/7519f30a-3bea-4a77-90fb-36749b0a2197"
-      (reference "U?") (unit 1) (value "INA219AxD") (footprint "Package_SO:SOIC-8_3.9x4.9mm_P1.27mm")
+    (path "/bf1148db-dc12-4f43-83bc-cf782b3a5d0b"
+      (reference "U10") (unit 1) (value "RS-485-Connector Soil 1") (footprint "Connector_JST:JST_XH_B4B-XH-AM_1x04_P2.50mm_Vertical")
+    )
+    (path "/13824f77-72fd-45ed-bcb4-bbe829cbc3cc"
+      (reference "U11") (unit 1) (value "RS-485-Connector Soil 2") (footprint "Connector_JST:JST_XH_B4B-XH-AM_1x04_P2.50mm_Vertical")
+    )
+    (path "/ad93a4af-2a3c-4937-b84c-c0cd486dd054"
+      (reference "U12") (unit 1) (value "RS-485-Connector Soil 3") (footprint "Connector_JST:JST_XH_B4B-XH-AM_1x04_P2.50mm_Vertical")
     )
     (path "/79caa721-af3c-4c55-9bc8-06b1f893b5e6"
-      (reference "U?") (unit 1) (value "RS-485-Connector Solar") (footprint "Connector_JST:JST_XH_B4B-XH-AM_1x04_P2.50mm_Vertical")
+      (reference "U13") (unit 1) (value "RS-485-Connector Solar") (footprint "Connector_JST:JST_XH_B4B-XH-AM_1x04_P2.50mm_Vertical")
     )
-    (path "/84bfec40-b85c-40f2-98e3-e48895324ed0"
-      (reference "U?") (unit 1) (value "dendrometer") (footprint "Connector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical")
+    (path "/f5ee0858-3ef0-497c-9c68-1b6b53d34328"
+      (reference "U14") (unit 1) (value "ESP32_Bat_Pro_EzSBC") (footprint "")
     )
     (path "/84f58213-55bd-45f8-9b38-153ac396bcd6"
-      (reference "U?") (unit 1) (value "ADS1115IDGS") (footprint "Package_SO:TSSOP-10_3x3mm_P0.5mm")
+      (reference "U15") (unit 1) (value "ADS1115IDGS") (footprint "Package_SO:TSSOP-10_3x3mm_P0.5mm")
     )
     (path "/93249f01-26e8-407f-bf65-91f45b35593b"
-      (reference "U?") (unit 1) (value "dc_dc_converter") (footprint "")
-    )
-    (path "/ad93a4af-2a3c-4937-b84c-c0cd486dd054"
-      (reference "U?") (unit 1) (value "RS-485-Connector Soil 3") (footprint "Connector_JST:JST_XH_B4B-XH-AM_1x04_P2.50mm_Vertical")
-    )
-    (path "/b64f0e94-d22d-41c4-93a4-689734514723"
-      (reference "U?") (unit 1) (value "ESP32_Bat_Pro_EzSBC") (footprint "")
+      (reference "U16") (unit 1) (value "dc_dc_converter") (footprint "")
     )
-    (path "/b88a3a7d-57cf-4bf5-85af-32759e882807"
-      (reference "U?") (unit 1) (value "I2C-Connector SHT85 ") (footprint "Connector_JST:JST_XH_B4B-XH-AM_1x04_P2.50mm_Vertical")
+    (path "/84bfec40-b85c-40f2-98e3-e48895324ed0"
+      (reference "U17") (unit 1) (value "dendrometer") (footprint "Connector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical")
     )
-    (path "/bf1148db-dc12-4f43-83bc-cf782b3a5d0b"
-      (reference "U?") (unit 1) (value "RS-485-Connector Soil 1") (footprint "Connector_JST:JST_XH_B4B-XH-AM_1x04_P2.50mm_Vertical")
+    (path "/303de297-ec8f-4d1b-b904-aebd02d6d337"
+      (reference "U18") (unit 1) (value "dendrometer") (footprint "Connector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical")
     )
     (path "/c5a20e29-ebe3-4c4d-aa68-c92505978acb"
-      (reference "U?") (unit 1) (value "dendrometer") (footprint "Connector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical")
+      (reference "U19") (unit 1) (value "dendrometer") (footprint "Connector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical")
     )
-    (path "/d6b191bd-961f-405f-8824-02ac3b8e1878"
-      (reference "U?") (unit 1) (value "I2C-Connector DS3231") (footprint "Connector_JST:JST_XH_B4B-XH-AM_1x04_P2.50mm_Vertical")
-    )
-    (path "/f5ee0858-3ef0-497c-9c68-1b6b53d34328"
-      (reference "U?") (unit 1) (value "ESP32_Bat_Pro_EzSBC") (footprint "")
+    (path "/5ef9e275-183c-4f81-8247-01e7b56b4e0f"
+      (reference "U20") (unit 1) (value "dendrometer") (footprint "Connector_JST:JST_XH_B4B-XH-A_1x04_P2.50mm_Vertical")
     )
   )
 )