Streaming library doesn't work on Qt Py ESP32-C3

I’ve been using Streaming by Mikal Hart library on PlatformIO with other microcontrollers, and it worked as expected. No luck with Qt Py ESP32-C3, though. Standard Arduino Serial worked for a while. I was trying to prepare a test program illustrating my problem, and now neither outputs anything with serial monitor. Here is my ini file:

[env:adafruit_qtpy_esp32c3]
platform = espressif32
board = adafruit_qtpy_esp32c3
framework = arduino
monitor_speed = 115200
; monitor_rts = 0
; monitor_dtr = 0
build_unflags = -std=gnu++11
build_flags = 
  -std=gnu++2a
  -DARDUINO_ADAFRUIT_QTPY_ESP32C3
  -DARDUINO_USB_CDC_ON_BOOT=1
  -DARDUINO_USB_MODE=1
lib_deps = 
	adafruit/Adafruit NeoPixel@^1.10.5
	mikalhart/Streaming@^1.0.0
	paulstoffregen/Encoder@^1.4.2

Is there any magic I’m missing? Uncommenting:

; monitor_rts = 0
; monitor_dtr = 0

produces:

Executing task: platformio device monitor 

--- forcing DTR inactive
--- forcing RTS inactive
--- Terminal on /dev/ttyACM0 | 115200 8-N-1
--- Available filters and text transformations: colorize, debug, default, direct, esp32_exception_decoder, hexlify, log2file, nocontrol, printable, send_on_enter, time
--- More details at https://bit.ly/pio-monitor-filters
--- Quit: Ctrl+C | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H
ESP-ROM:esp32c3-api1-20210207
Build:Feb  7 2021
rst:0x15 (USB_UART_CHIP_RESET),boot:0xd (SPI_FAST_FLASH_BOOT)
Saved PC:0x4200e78a
SPIWP:0xee
mode:DOUT, clock div:1
load:0x3fcd6100,len:0x38c
load:0x403ce000,len:0x6a8
load:0x403d0000,len:0x2358
SHA-256 comparison failed:
Calculated: 81622325b5b3d82bf48506f210cd42cc4a45185255565a883ae891633570c8f5
Expected: bef5af017887fc9f8b85cdc8d157e714dd15305a39a5b8a4fc8312b760075a67
Attempting to boot anyway...
entry 0x403ce000

when starting serial monitor.

I think I found the problem. When using Streaming library on ESP32, RP2040 and SAMD, calling Serial.begin() was optional. It is required with ESP32-C3. Adding mysterious flags to my ini files is not needed. This is what I have now:

[env:adafruit_qtpy_esp32c3]
platform = espressif32
board = adafruit_qtpy_esp32c3
framework = arduino
monitor_speed = 115200
build_unflags = -std=gnu++11
build_flags = 
  -std=gnu++2a
lib_deps = 
	adafruit/Adafruit NeoPixel@^1.10.5
	mikalhart/Streaming@^1.0.0
	paulstoffregen/Encoder@^1.4.2
1 Like