Прошивка реального оборудования из браузера
Когда ваш проект работает в симуляторе, вы можете загрузить его на реальную плату без установки чего-либо: Velxio прошивает скомпилированную прошивку через USB прямо из браузера.
Требования
Заголовок раздела «Требования»- Браузер на основе Chromium (Chrome или Edge). Программатор использует API Web Serial и WebUSB браузера, которых нет в Firefox и Safari. Для плат семейства Pico там всё равно доступна кнопка Download .uf2 (см. ниже).
- USB-кабель с поддержкой передачи данных для вашей платы.
- Закройте всё остальное, что использует порт (мониторы портов, IDE, picotool): браузеру нужен монопольный доступ.

Прошивка
Заголовок раздела «Прошивка»- Щелкните правой кнопкой мыши по плате на холсте и выберите Flash to real board (Прошить на реальную плату).
- Нажмите Connect & flash (Подключить и прошить). Браузер спросит, какому USB-устройству предоставить доступ; выберите вашу плату.
- Velxio использует сборку, уже созданную для этой платы (тот же бинарный файл, который запускал симулятор). Если код изменился с тех пор, он сначала перекомпилируется, и вывод компилятора будет транслироваться в диалог.
- Следите за индикатором выполнения; когда он завершится, плата перезагрузится в ваш проект.
Диалог выбирает протокол для целевого устройства:
| Семейство | Как записывается | Плата должна быть |
|---|---|---|
| ESP32, S3, C3, C6 | esptool через последовательный порт, объединенный .bin |
подключена; удерживайте BOOT, если она не отвечает |
| Arduino Uno, Nano, Mega, ATtiny85 | STK500 через загрузчик платы, файл .hex |
подключена (ATtiny85: через Arduino с прошивкой ArduinoISP) |
| Raspberry Pi Pico, Pico W, Pico 2, платы Pimoroni RP2040 / RP2350 | PICOBOOT через WebUSB, файл .uf2, созданный picotool |
в режиме BOOTSEL (следующий раздел) |
Платы семейства Pico: сначала BOOTSEL
Заголовок раздела «Платы семейства Pico: сначала BOOTSEL»RP2040 или RP2350 программируется через свой загрузчик, отдельную USB-подсистему, которую чип показывает только в режиме BOOTSEL. Два способа туда попасть:
- Вручную: удерживайте кнопку BOOTSEL при подключении платы, затем отпустите ее. Плата смонтируется как USB-накопитель с именем
RPI-RP2(RP2040) илиRP2350. - Из диалога: в диалоге прошивки для этих плат есть кнопка Reboot into bootloader over USB (Перезагрузиться в загрузчик через USB). Она работает, когда на плате запущен скетч, созданный Velxio (ядро Arduino перезагружается при открытии порта на скорости 1200 бод) или MicroPython (REPL выполняет
machine.bootloader()). Браузер запросит последовательный порт платы, плата отключится и вернется как загрузчик. Затем нажмите Connect & flash и выберите устройствоRP2 Boot/RP2350 Boot.
Два щелчка, два запроса разрешений: последовательный порт для перезагрузки и USB-устройство для записи. После того как плата находится в режиме BOOTSEL, для последующих прошивок нужен только второй запрос.
Две ревизии одной и той же платы
Заголовок раздела «Две ревизии одной и той же платы»Pimoroni продавала Stellar и Galactic Unicorn с Pico W (RP2040) до января 2025 года и с Pico 2 W (RP2350) с тех пор. Симулятор запускает текущую версию; в диалоге прошивки для этих плат есть выбор Real board revision (Реальная ревизия платы). Выберите «Pico W aboard» для более старого устройства: диалог создаст второй образ для этого чипа, прошьет или загрузит его, а симулятор продолжит использовать свою собственную сборку. Выбор запоминается для каждой платы. Наклейка на обратной стороне платы (или имя диска в BOOTSEL, RPI-RP2 против RP2350) подскажет вам, какая у вас версия.
Диалог отказывается записывать образ, не соответствующий чипу, который ответил (сборка для RP2350 на RP2040, сборка для RISC-V на конфигурации ARM), до того, как что-либо будет стерто, проверяет каждый байт после записи и перезагружает плату в программу.
Windows и RP2040: установите WinUSB один раз
Заголовок раздела «Windows и RP2040: установите WinUSB один раз»Загрузчик RP2040 не содержит дескриптора драйвера Windows, поэтому браузер не может получить к нему доступ, пока не будет привязан WinUSB. Настройка выполняется один раз:
- Переведите плату в режим BOOTSEL и подключите ее.
- Загрузите и запустите Zadig.
- Выберите
RP2 Boot (Interface 1)из списка (Options, List All Devices, если он скрыт), выберите WinUSB в качестве драйвера и нажмите Install Driver (Установить драйвер).
Платы на RP2350 (Pico 2, Pico 2 W, «Pico 2 W Aboard» Unicorn от Pimoroni, Badger 2350) не требуют ничего: их загрузчик содержит дескриптор, и Windows сама привязывает WinUSB. На macOS ничего не требуется для обоих чипов.
Linux: правило udev
Заголовок раздела «Linux: правило udev»Linux по умолчанию предоставляет USB-устройства root. Создайте /etc/udev/rules.d/99-velxio-rp2.rules со следующим содержимым:
SUBSYSTEM=="usb", ATTRS{idVendor}=="2e8a", MODE="0666", TAG+="uaccess"затем выполните sudo udevadm control --reload-rules && sudo udevadm trigger и переподключите плату. Для последовательного порта, используемого на этапе перезагрузки, также требуется обычное членство в группе dialout.
Любой браузер: загрузите .uf2 или скопируйте его на диск
Заголовок раздела «Любой браузер: загрузите .uf2 или скопируйте его на диск»В диалоге прошивки для платы семейства Pico всегда есть кнопка Download .uf2 (Скачать .uf2) (в Firefox и Safari, где браузер не может прошивать, это весь диалог). Сохраните файл, переведите плату в режим BOOTSEL и перетащите файл на диск RPI-RP2 / RP2350: плата перезагрузится в ваш скетч, как только копирование завершится.
В Chrome и Edge также есть кнопка Copy to the board’s drive (Скопировать на диск платы): браузер попросит вас выбрать диск и сам запишет туда файл. Драйвер не требуется, поэтому это способ программирования RP2040 в Windows без установки WinUSB. Диалог проверяет, что выбранная вами папка является диском BOOTSEL (на нем есть INFO_UF2.TXT), прежде чем что-либо записывать.
Проекты MicroPython на Pico
Заголовок раздела «Проекты MicroPython на Pico»Диалог загружает файлы .py проекта через REPL и перезагружается в main.py. Сам MicroPython должен быть предварительно установлен на плату:
- Pico и Pico W: диалог установит его. Если REPL не отвечает, он попросит вас перевести плату в режим BOOTSEL и нажать Retry (Повторить); этот щелчок записывает ту же сборку MicroPython, которую запускает симулятор, и еще одно нажатие Retry загрузит ваши файлы.
- Платы Pimoroni RP2350 (Badger 2350, Pico Plus 2W): они поставляются с собственным MicroPython от Pimoroni. Если ваша плата его потеряла, загрузите
.uf2с pimoroni-pico-rp2350 и перетащите его на диск BOOTSEL один раз, затем прошейте из диалога.
Устранение неполадок
Заголовок раздела «Устранение неполадок»- «No board in BOOTSEL mode was found» («Плата в режиме BOOTSEL не найдена»): список устройств был пуст. Используйте кнопку перезагрузки или удерживайте BOOTSEL при подключении, затем подключитесь снова.
- «The board in BOOTSEL is an RP2040 but this project is built for RP2350» («Плата в BOOTSEL — RP2040, но этот проект собран для RP2350»): более старая Unicorn с Pico W. Выберите «Pico W aboard» в поле выбора Real board revision в диалоге и прошейте снова.
- «Could not claim the USB device» («Не удалось получить доступ к USB-устройству») в Windows с RP2040: выполните шаг с Zadig выше. В Linux: примените правило udev выше.
- Перезагрузка через последовательный порт не сработала: скетч, собранный с отключенным USB-стеком, нельзя перезагрузить через USB. Удерживайте BOOTSEL при подключении.
Сначала симуляция, потом прошивка
Заголовок раздела «Сначала симуляция, потом прошивка»Это замыкает цикл, который делает Velxio полезным для реальной работы: быстро итерируйте в симуляторе (без кабеля, без износа оборудования, мгновенные сбросы), затем прошейте тот же самый артефакт сборки, когда он ведет себя правильно.