diff --git a/README.md b/README.md index fdc0a1e..8d593d8 100644 --- a/README.md +++ b/README.md @@ -2,14 +2,20 @@ ## Microcontroller -D1 Mini ESP32 -Due to mp3 playback it needs a multicore esp 32: +We are using an ESP-WROOM-32 module. For the mp3 decoding we need a multicore CPU, be careful, there are some ESP32 with only one core. -This library only works on multi-core ESP32 chips like the ESP32-S3. It does not work on the ESP32-S2 or the ESP32-C3 warning +![](images/ESP32-wroom-32-pinout.png) ## Pins +The plain number refers to the GPIO pin. + ### Amplifier + +MAX98357A I2S 3W DAC Class D Amplifier Module + +![](images/amp.png) + ``` 26 -> DIN 27 -> BCLK @@ -18,7 +24,9 @@ This library only works on multi-core ESP32 chips like the ESP32-S3. It does not GND -> GND ``` -### SD Card +### SD Card Reader + +SD Card Reader Adapter Modul ``` CS -> 22 (D1) @@ -29,6 +37,8 @@ MISO -> 19 (D6) ### RFID Reader +NFC RFID module RC522 + ``` SOA -> 32 SCK -> 18 @@ -48,7 +58,7 @@ Interrupt method was not working because it seems reading a card does not trigge See https://arduino.stackexchange.com/a/76285 and https://github.com/miguelbalboa/rfid/blob/master/examples/MinimalInterrupt/MinimalInterrupt.ino -## Buttons +### Buttons ``` Start / Stop -> 17 and GND @@ -56,6 +66,18 @@ Wake up / Next -> 04 and GND Previous -> 16 and GND ``` + +## Battery Voltage + +The battery voltage is measured by the ADC of pin 35. A voltage divider halves the voltage so that the pin can not be overloaded (max 3.3V). +The voltage divider consists of two 100kOHM resistors, the voltage is measured between them. One side is connected to the battery and the other to ground. +There are 2 ADCs, make sure to not use the one which is not usable during WIFI! + +## Power + +We use the voltage regulator of the SD Card module. We also can use a LDL1117S33R Low Dropout Voltage regulator. For Loading the LiIon we can use a LTC4054 or a dedicated module. + + ## System sounds Place these sounds in the folder `system` on the SD card: @@ -65,20 +87,8 @@ Place these sounds in the folder `system` on the SD card: sleep.mp3 will be played just before the timed shutdown, start.mp3 will be played if the box started and initialized successfully. - -## Battery Voltage - -The battery voltage is measured by the ADC of pin 13. A voltage divider halves the voltage so that the pin can not be overloaded (max 3.3V). -The voltage divider consists of two 100kOHM resistors, the voltage is measured between them. One side is connected to the battery and the other to ground. -Pin 13s ADC (ADC2) can not be used while WIFI is on... damn. - ## TODOs -* Card Reader with SPI. Configure hspi, second SPI channel? Or does SD Card + RFID run at the same channel? - -![](images/wemos-d1-mini-esp32.png) - - ## Schematic without modules ### Charging circuit @@ -86,8 +96,6 @@ Pin 13s ADC (ADC2) can not be used while WIFI is on... damn. https://ww1.microchip.com/downloads/en/AppNotes/01149c.pdf MCP73837 ? - - ## Links https://github.com/earlephilhower/ESP8266Audio diff --git a/images/ESP32-wroom-32-pinout.png b/images/ESP32-wroom-32-pinout.png new file mode 100644 index 0000000..969ee9d Binary files /dev/null and b/images/ESP32-wroom-32-pinout.png differ diff --git a/images/amp.png b/images/amp.png new file mode 100644 index 0000000..6f7b121 Binary files /dev/null and b/images/amp.png differ diff --git a/src/main.cpp b/src/main.cpp index 0b1bb5f..0b861ec 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -422,6 +422,7 @@ void setup() rootNode.printDirectoryTree(); readDataFromFile(mapping_file.c_str()); + String progressPath = "/"+sys_dir+"/"+progress_file; continuePlaying = readSongProgress(progressPath.c_str());