Это исходный код для Ардуины IDE. Проверял да, на ESP32. Для DEBUG режима надо соединить с какой USB-TTL платой способной работать на высоких скоростях. Годится дешевый программатор на CH341A. Далее запускаем терминал где можно отправлять файлы и выставить соответствующую скорость. Cгодится minicom на передачу и Putty для приема. Не забываем и про блютуз. Для передачи файла на блютуз готового решения не нашел, пришлось свой скрипт на питоне сварганить. По поводу размера буфера. 128 должно было в теории хватать для устойчивой работы. Но при длительной передаче заметил что буфер FIFO постепенно заполняется под завязку что чревато потерей данных. При 256 такой проблемы не заметил. Увеличивать до 512 смысла не вижу. Будет страдать отзывчивость системы. Все-таки у нас один поток и все операции выполняются последовательно.
Прошивка энергосберегающая. Применяется динамическая задержка от 1 до 1024 миллисекунд в зависимости от загрузки системы. В результате потребление системы снижается до 45 - 55 ма в состоянии покоя. Переход от максимальной задержки к минимальной в пределах значения максимальной задержки. При загрузке буферов FIFO больше половины задержка не применяется.