Device Profiles - hoylabs/OpenDTU-OnBattery GitHub Wiki
The device profile documentation moved to https://opendtu-onbattery.net.
Since the second quarter of 2024 we strongly recommend to new users to procure the new version ESP32-S3 which has 8/16/32 MB Flash (many models available) because soon the OpenDTU-OnBattery Firmware will exceed the memory capacity of the normal ESP32 4MB boards.
IF you allocate GPIO Pins that are not available on your ESP32-S3, your board will FREEZE when you activate the corresponding option
On some ESP32-S3 boards, GPIO 22 and 27 are not available (or used internally).
On ESP32-S3 boards with Octal SPI flash/PSRAM memory embedded, the pins GPIO35, GPIO36 and GPIO37 are used for the internal communication between ESP32-S3 and SPI flash/PSRAM memory, thus not available for external use.
IMPORTANT: The example below shows an older ESP32 Version with 4MB Flash memory. Since the second quarter of 2024 we strongly recommend to new users to procure the new version ESP32-S3 which has 8/16/32 MB Flash (many models available) because soon the OpenDTU-OnBattery Firmware will exceed the memory capacity of the normal ESP32 4MB boards. The GPIOs of ESP32-S3 boards can have differences compared to the ESP32 board graphic below. For example, on some ESP32-S3 boards, GPIO 22 and 27 are not available (or used internally). IF you allocate Pins that are not available on your ESP32-S3, your board will *FREEZE* when you activate the corresponding option
Be aware that some combinations are not possible (more Information below)
VE.Direct cable connection (red/white cables) is shown as "Direct" cable, instead of "Crossover" cable (for more information look at the VE.Direct docs).
Using an ESP32 board is not a "free card" to add any and every Add-On, without previous consideration. Actually, in most cases it actually is... however, do not expect you can add all modules at the same time.
CaCu15 gives some background explanations:
SPI Bus (Serial Peripheral Interface bus) A four-line, synchronous, serial bus from Motorola that is widely used to connect a microcontroller to peripheral chips on a circuit board.
The ESP32 has 2 SPI buses available.
Several modules used by the OpenDTU, for example
- MCP2515 CAN bus module for the Huawei AC charger
- LRF24L01 Radio Board for HM- Inverters
- CMT2300A Radio Board for HMT-/HMS- Inverters
- various LCD Displays
use "SPI bus" for the connection.
The SPI supports in principle several SPI clients on the same bus, but this must be coded accordingly in the Software.
Before Firmware Version 2024.09.11, many modules were "hardcoded" to one of the SPI buses thus, some combinations of controllers (for example, MC2515 and CMT2300A) and displays were not supported.
As of Firmware Version 2024.09.11 most combinations are allowed, keep in mind however you still have only 2 SPI buses available.
The picture above and the Pinout examples are illustrative. You can choose which ESP32 PINs you want to use as you like.
Please be aware, however, that you have to take care not to use the input-only pins for output tasks (ESP32 "input-only" pins are: GPIO 34/35/36/39, see picture). ESP32-S3 has no input-only pins.
U0 TX/RX and U2 TX/RX may require some attention, too:
Only on ESP32-S3 with USB CDC enabled (generic-esp32s3_usb
): U0 TX (UART0 transmit) might be used as output PIN for example but, while booting, there is output on the pin by the bootloader.
Subsequently, a peripheral connected to that PIN may receive unwanted or erroneous data during boot.
If you use ESP32-S3 with a V at the end, they have 1,8V SPI
This means that the GPIO47 and GPIO48 work on 1.8 V level. Avoid using these GPIO in your configuration as most additional HW requires at least 3,3V - 5V in order to operate!