🔹 Почему ESP32-C3-Zero не появляется как USB-диск?
1. Отсутствие встроенного USB-UART чипа (как CP2102/CH340 у других плат).
2. CircuitPython требует USB-масс-хранилища (MSC), но на ESP32-C3 это не всегда работает "из коробки".
3. Прошивка может не включать поддержку MSC (Mass Storage Class) по умолчанию.
---
🔹 Способы заливки файлов без ampy/rshell
1. Включение USB-MSC в CircuitPython (если поддерживается)
Некоторые сборки CircuitPython для ESP32-C3 позволяют включить режим USB-диска вручную. Попробуй:
1. Подключи плату по USB.
2. Открой REPL (через screen /dev/ttyACM0 или Thonny).
3. Выполни в REPL:
import storage
storage.enable_usb_drive() # Активирует USB-диск (если функция есть)
4. Перезагрузи плату (возможно, появится диск).
2. Использование Web Workflow (самый удобный способ!)
CircuitPython 8.0+ поддерживает загрузку файлов через браузер по Wi-Fi!
1. Обнови прошивку до новой версии CircuitPython (скачай с [оф. сайта](https://circuitpython.org/board/espressif_esp32c3_devkitm_1/)).
2. В файле boot.py или code.py добавь:
import wifi
from supervisor import set_usb_identification
# Настрой Wi-Fi (указать свои SSID и пароль)
wifi.radio.connect("SSID", "PASSWORD")
# Включи Web Workflow
import socketpool
import microcontroller
microcontroller.on_next_reset(microcontroller.RunMode.NORMAL)
3. После перезагрузки в REPL появится IP-адрес.
4. Введи этот IP в браузере — откроется веб-интерфейс для загрузки файлов!
3. Альтернатива: UART + circup или mpfshell
Если USB-диск не работает, можно заливать файлы через UART:
1. Установи circup (менеджер пакетов для CircuitPython):
pip install circup
circup install --auto
2. Или используй mpfshell (аналог ampy, но удобнее):
pip install mpfshell
mpfshell -o ttyUSB0
Команды в mpfshell:
put main.py– загрузить файл.get main.py– скачать файл.ls– список файлов.
4. Ручная прошивка с поддержкой USB-MSC
Если твоя сборка CircuitPython не поддерживает USB-диск, попробуй кастомную прошивку:
1. Скачай прошивку с поддержкой MSC (например, [здесь](https://circuitpython.org)).
2. Прошей через esptool.py:
esptool.py --chip esp32c3 --port /dev/ttyACM0 write_flash 0x0 firmware.bin
---
🔹 Совет для будущих проектов
Если хочешь "автоматический" USB-диск, выбирай платы с чипом USB-UART (например, ESP32-C3-DevKitM-1 или Seeed XIAO ESP32-C3). У них CircuitPython работает как флешка "из коробки".
---
Вывод
- Лучший вариант → Web Workflow (заливка по Wi-Fi).
- Если не работает →
circup/mpfshellчерез UART. - Экспериментально → кастомная прошивка с USB-MSC.
Попробуй и расскажи, какой способ сработал! Если остались вопросы — помогу разобраться. 😉🚀
P.S. Если хочешь, могу подсказать, как настроить автоматическую синхронизацию файлов через VS Code!
[file-name 000131_2025-05-02_15-13-04.txt]