Lilygo T-Beam-Supreme support?

Does anyone have a platformio.ini file for the t-beam-supreme (ESP32 S3)? Seems to be a popular board but there doesn’t appear to be a ‘boards’ option for it.

I can get the basics to work using board=ttgo-t-beam and board_build.mcu.mcu = esp32s3, but I’m sure I’m missing some of the details for the board.

With the schematics being https://github.com/Xinyuan-LilyGO/LilyGo-LoRa-Series/blob/master/schematic/LilyGo_T-BeamS3Supreme.pdf, it shows that it has a ESP32-S3FN8 chip.

Per https://www.mouser.de/datasheet/2/891/esp32_s3_datasheet_en-2946743.pdf

the T-Beam-S3-SUPREME should have 8MB quad-spi flash and no on-chip PSRAM. The schematics are a bit weird there, specfying the U0 chip as either PSRAM or Flash, but not telling how it’s actually populated…

grafik

The ESP32 based ttgo-t-beam had 4MB flash in DIO mode and on-board (external) PSRAM. So, something more appropriate would be to base it off a close ESP32S3 based board, such as a lolin_s3.

[env:t-beam-s3-supreme]
platform = espressif32
board = lolin_s3
framework = arduino
; already set: esp32s3 MCU, QIO mode, 80MHz flash
; but only 8 instead of 16MB flash
board_upload.flash_size = 8MB
; internal QSPI flash and (likely) external QSPI PSRAM
board_build.arduino.memory_type = qio_qspi
; default partition table with 8MB
board_build.arduino.partitions = default_8MB.csv
; build flags already set for "USB CDC start on bootup", hardware IDs etc.
; use pin mappings from T-Beam (ESP32) based. MAY NOT WORK or be the same.
board_build.variant = tbeam
; regular esp32s3 pin mapping
; board_build.variant = esp32s3

Thanks so much for that. Really helpful.

I think there is PSRAM on the board. It’s not obvious from the documentation but I found this:

specifically:

"name": "LilyGo T-Beam supreme (8MB Flash 8MB PSRAM)",

Oh my, I should have seen that file too. It is exactly a PlatformIO board definition. If you just download that file and put in the project as boards/t-beams3-supreme.json, then the entire platformio.ini simplifies to

[env:t-beams3-supreme]
platform = espressif32
board = t-beams3-supreme
framework = arduino
1 Like

I thought it was working but I’ve suddenly got the following error:

PIO Core Call Error: “InvalidBoardManifest: Invalid board JSON manifest ‘C:\Users\robert\.platformio\platforms\espressif32\boards\t-beams3-supreme.json’”

I’ve checked the filename is correct. It looks similar to other boards. Any idea what might be wrong? Or if not, how should I go about debugging it?