Compare commits

...

2 commits

View file

@ -13,9 +13,12 @@ This repository contains the code running on the ESP32, as well as the PCB and c
## Dependencies
The [esp32-idf](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/index.html#installation-step-by-step) is needed to compile software for the ESP32.
The following sections will install to `~/Development/esp32` as an example.
Prepare toolchain (macOS):
```
cd ~/JBeyerstedt-Projekte/
cd ~/Development/
mkdir ./esp32
cd esp32
curl https://dl.espressif.com/dl/xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz -o xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz
@ -23,7 +26,7 @@ tar -xzf xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz
rm xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz
```
Prepare toolchain (Debian, Ubuntu) (ubuntu devel vm):
Prepare toolchain (Debian, Ubuntu):
```
sudo apt-get install git wget make libncurses-dev flex bison gperf python python-serial
@ -37,17 +40,13 @@ rm xtensa-esp32-elf-linux64-1.22.0-73-ge28a011-5.2.0.tar.gz
Add to your bash profile, zshrc or other:
```
export PATH=$PATH:$HOME/JBeyerstedt-Projekte/esp32/xtensa-esp32-elf/bin
export IDF_PATH = $HOME/JBeyerstedt-Projekte/esp32/esp-idf
```
or for ubuntu devel vm:
```
export PATH=$PATH:$HOME/Development/esp32/xtensa-esp32-elf/bin
export IDF_PATH = $HOME/Development/esp32/esp-idf
```
Install esp-idf:
```
cd ~/Development/esp32
git clone --recursive https://github.com/espressif/esp-idf.git
```
@ -55,13 +54,9 @@ git clone --recursive https://github.com/espressif/esp-idf.git
## Checkout this project and configure arduino-esp32 with esp-idf:
```
TODO!!
mkdir -p components && \
cd components && \
git clone https://github.com/espressif/arduino-esp32.git arduino && \
cd arduino && \
git submodule update --init --recursive && \
mkdir -p components && cd components
git clone https://github.com/espressif/arduino-esp32.git arduino && cd arduino
git submodule update --init --recursive
cd ../..
```
@ -87,8 +82,9 @@ You would probably have to adapt the `UPLOAD_PORT` in the `Makefile` or set it v
## Battery Life
The hardware was designed with two options to drop the battery voltage to a level, which can be fed to the ESP32: A voltage regulator or a simple diode.
A test with increased data rate (for a shorter test duration) showed, that the voltage regulator leads to a slight battery life benefit.
A test with increased data rate (for a shorter test duration) resulted in a slightly better battery life using the voltage regulator.
Using a measurement interval of 30 seconds and a WiFi connection interval of 3 minutes, the 2500mAh LiIon (3.7V) battery lasted 30 days with the diode and 36 days using the voltage regulator.
In real-world application, a battery life of about 9 months can be expected (with good WLAN reception).
The selected voltage regulator has a quite low drop-out voltage and more importantly a low leaking current during the deep-sleep phases, which have a very low current needed by the ESP32.
In comparison a diode has no leaking current at all, but a more or less fixed voltage drop.