Skip to content
Manos1966 edited this page Sep 11, 2024 · 38 revisions

Moved

The device profile documentation moved to https://opendtu-onbattery.net.

Information on GPIO Pins on ESP32-S3 Boards

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.

ESP32-S3 Not use GPIO 35-36-37

Example ESP32 Board configuration with most options (not ESP32-S3 Board)

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).

Wiring_ESP32_Symbol - Victr1Victr2PylontechHuaweiRelaisCMT2300upd

ESP32 IO - Copy

Other Information

SPI Bus

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.

Input Only Pins

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.

Clone this wiki locally