🔹 Почему 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]