Прошивка плат без USB с помощью Arduino UNO\NANO

Всем привет!! 🙂
В этой статье я расскажу вам как можно легко и быстро прошить плату, у которой нет USB порта, с помощью Arduino UNO\NANO или любой другой Ардуинки с USB портом.
Погнали 🙂
Сначала разберёмся, зачем нужен USB разъём. Некоторые популярные микроконтроллеры, например, Atmega328p, Atmega2560, ESP8266, ESP32 и т.д., не имеют функции обработки данных с USB порта, то есть, не умеют общаться по USB. Но зато у них есть другие интерфейсы, например, UART, SPI и т.д. Чаще всего их прошивают именно по UART.

Для этого на платах с USB портом есть специальная микросхемка — USB>UART преобразователь (смотри фото выше). Она перекодирует информацию, поступающую с USB порта в такой вид, чтобы контроллеры без USB могли понять информацию и дать ответ, который конвертируется обратно в USB. На многих недорогих китайских платах таким конвертером является микросхемка с маркировкой CH340G, но это не важно.
Так вот, если вы купили плату без USB, например, ESP-01, то прошить её можно по UART с использованием преобразователя с Arduino. Именно это мы сейчас и сделаем 🙂
ПРОГРАММИРОВАНИЕ ПЛАТЫ БЕЗ USB ЧЕРЕЗ ARDUINO UNO/NANO
Для примера я возьму плату ESP-01. У неё как раз нет USB разъёма, но зато у меня есть Arduino Uno, у которой такой имеется.
Итак, начинаем.
Нам понадобится:
- Любая плата с USB портом и наличием UART. У меня Arduino Uno.
- Ваша плата без USB. У меня ESP-01.
- Провода для соединения. Мне понадобились 7 проводов папа-мама и несколько папа-папа.
- Макетная плата.
- Понижающий преобразователь питания (если у вас плата работает от 3.3 вольта, как у меня)
- USB кабель для подключения платы с USB к компьютеру
- Собственно, компьютер с установленной Arduino IDE и всеми драйверами. Если у вас ничего не установлено, зайдите в эту статью, там рассказано как установить IDE и драйвера.
Теперь нам нужно соединить всё проводочками. Соединяем по этой схеме:

Подключаем питание, пины RX и TX на плате-программаторе с пинами прошиваемой платы. А также обязательно замкните пины RESET и GND на плате-программаторе, чтобы отключить микроконтроллер платы и чтобы он не мешал прошивке.
У плат ESP нужно обязательно подключить пин EN (enable) на 3.3 вольта, а пин GPIO0 на GND. Это нужно для включения режима программирования. Затем подаём питание, прошиваем плату, отключаем питание, отключаем пины EN и GPIO0 и снова запускаем плату в штатном режиме.
Если у вас Arduino плата в роли прошиваемой, схема такая (см. картинка ниже). У ардуиновых плат нет контактов типа EN (enable), просто подключаем вот так и прошиваем.

На этом пока всё. Спасибо за внимание! =)