Последовательный преобразователь USB-TTL: использование CH340 и CP2102
Для чего нужен преобразователь USB-TTL? Перекрёстное подключение TX-RX, перемычка 3,3 V/5 V, драйверы, программирование Pro Mini, ESP-01 и ESP32-CAM, сравнение CH340 и CP2102.
Преобразователь USB-TTL — небольшая плата, которая переводит USB-порт компьютера на язык последовательной связи (UART), понятный микроконтроллерам. Он нужен для загрузки кода на платы без USB-разъёма, такие как Arduino Pro Mini, ESP-01 и ESP32-CAM, чтения последовательных сообщений модуля или настройки GPS- и Bluetooth-модулей прямо с компьютера. По сути, на каждой Arduino Uno и Nano уже есть такая схема; преобразователь делает её отдельным переносным модулем.
В этом руководстве ты познакомишься с пинами преобразователя, самой распространённой ошибкой (подключением TX-RX), перемычкой выбора логического уровня 3,3 V или 5 V и установкой драйверов в Windows, macOS и Linux. Затем узнаешь, как программировать Arduino Pro Mini без нажатия кнопок благодаря пину DTR, загружать код на ESP-01 и ESP32-CAM, использовать преобразователь как второй монитор порта и чем отличаются три самые распространённые микросхемы: CH340, CP2102 и FT232.

Что такое преобразователь USB-TTL и для чего он нужен?
Компьютер и микроконтроллер говорят на разных языках. USB — сложный протокол, построенный на пакетах, адресах и драйверах. А UART микроконтроллера использует всего две линии: одна передаёт данные (TX), другая принимает (RX), и каждый байт состоит из битов, отправляемых друг за другом с согласованной скоростью в бодах. Микросхема преобразователя отображается на компьютере как виртуальный последовательный порт (COM3 в Windows, /dev/cu.usbserial... в macOS, /dev/ttyUSB0 в Linux); каждый байт, записанный в этот порт, выходит через пин TX в виде сигнала UART, а каждый байт, поступивший на RX, передаётся компьютеру. TTL в названии означает, что сигналы меняются между 0 V и 5 V либо между 0 V и 3,3 V.
- Программирование плат без USB: Arduino Pro Mini, LilyPad, ESP-01, ESP32-CAM и отдельные микросхемы ATmega328P с загрузчиком.
- Чтение последовательных логов: просмотр отладочных сообщений во втором окне, пока собственный USB платы занят чем-то другим.
- Прямое общение с модулями: отправка AT-команд в ESP-01, чтение предложений NMEA GPS-модуля, изменение имени Bluetooth-модуля.
- Спасение повреждённой платы: программирование Uno или Nano с вышедшей из строя USB-микросхемой через пины D0 и D1.
- Подключение к консолям других устройств: пины последовательной консоли маршрутизаторов, плат 3D-принтеров или одноплатных компьютеров.
Пины USB-TTL: GND, VCC, TXD, RXD, DTR и RTS
| Пин | Функция | Примечание |
|---|---|---|
| GND | Общая земля | Подключается всегда |
| 5V | Выход 5 V от USB | Обычно до 500 mA, зависит от порта компьютера |
| 3V3 | Выход 3,3 V | От микросхемы или небольшого стабилизатора; ток ограничен |
| TXD | Выход данных (от компьютера к плате) | Подключается к пину RX целевой платы |
| RXD | Вход данных (от платы к компьютеру) | Подключается к пину TX целевой платы |
| DTR | Управляющая линия, переходящая в LOW при открытии порта | Используется для автосброса Arduino |
| RTS / CTS | Линии управления потоком | RTS используется в схеме автоматической загрузки плат ESP; CTS в большинстве проектов не подключается |
Перекрёстное подключение TX-RX
Самая частая ошибка — соединить TX с TX. Правило простое: линия, по которой одно устройство говорит, должна идти к линии, по которой другое слушает. Поэтому пин TXD преобразователя подключается к пину RX целевой платы, а RXD — к её пину TX. Чтобы избежать путаницы, на некоторых платах в обозначение добавляют направление: на Arduino Pro Mini написано RXI (RX in, вход) и TXO (TX out, выход), а платы FTDI типа SparkFun подписаны так, что прямое соединение двух плат обеспечивает правильное перекрёстное подключение. Если обозначениям нельзя доверять, попробуй один раз поменять линии местами; перестановка TX и RX ничего не повреждает, просто связь не работает.
| Преобразователь | Целевая плата | Описание |
|---|---|---|
| GND | GND | Общая земля, обязательна |
| TXD | RX (RXI, U0R) | Перекрёстно: передатчик к приёмнику |
| RXD | TX (TXO, U0T) | Перекрёстно: приёмник к передатчику |
| 5V или 3V3 | VCC | Только если у целевой платы нет другого источника питания |
| DTR | DTR / GRN / RST | Только если нужен автосброс |
Перемычка 3,3 V / 5 V: как выбрать логический уровень
Arduino Uno, Nano и Pro Mini на 5 V используют логику 5 V; ESP8266, ESP32 и Raspberry Pi Pico — логику 3,3 V. Сигнал 5 V на пине RX платы ESP нагружает защитные диоды входа и со временем может вывести пин из строя. Поэтому на большинстве модулей CH340G есть трёхконтактная перемычка: она выбирает напряжение питания микросхемы, а уровень выхода TXD следует за этим напряжением. CP2102 всегда работает с логикой 3,3 V, но его входы допускают 5 V, поэтому он без проблем общается и с платами на 3,3 V, и с платами на 5 V: ATmega328P с питанием 5 V уже воспринимает всё выше 3 V как HIGH. На модулях FT232RL тоже часто есть перемычка выбора уровня ввода-вывода микросхемы (VCCIO).
| Целевая плата | Перемычка или логический уровень | Питание |
|---|---|---|
| Arduino Pro Mini 5 V / 16 MHz | 5 V | От пина 5V преобразователя |
| Arduino Pro Mini 3,3 V / 8 MHz | 3,3 V | От пина 3V3 или собственного источника питания |
| ESP-01 / ESP-01S | 3,3 V | Отдельный стабилизатор 3,3 V (не менее 300 mA) |
| ESP32-CAM | 3,3 V | От пина 5V преобразователя к пину 5V платы |
| Raspberry Pi Pico (UART0) | 3,3 V | Pico питается от собственного USB; подключаются только GND, TX, RX |
Если на преобразователе нет перемычки, а нужно подключить линию TX с уровнем 5 V ко входу 3,3 V, поможет простой делитель напряжения: при резисторе 1 kΩ между линией TX и RX целевой платы и 2 kΩ между её RX и GND напряжение 5 V снижается примерно до 3,3 V. Полный расчёт есть в статье «Делитель напряжения». В обратном направлении — TX с уровнем 3,3 V на вход 5 V — обычно всё работает нормально.
Сравнение CH340, CP2102 и FT232
| Характеристика | CH340 (G / C) | CP2102 | FT232RL |
|---|---|---|---|
| Производитель | WCH | Silicon Labs | FTDI |
| Максимальная скорость | 2 Мбит/с | 1 Мбит/с (CP2102N: 3 Мбит/с) | 3 Мбит/с |
| Кварцевый резонатор | CH340G нужен внешний кварцевый резонатор 12 MHz; у CH340C он встроен | Встроенный | Встроенный |
| Выход 3,3 V | Зависит от модуля, у большинства слабый | Есть, около 100 mA с учётом самой микросхемы | Есть, до 50 mA |
| Логический уровень | 5 V или 3,3 V в зависимости от питания | 3,3 V, входы допускают 5 V | 5 V или 3,3 V в зависимости от VCCIO |
| DTR и RTS | Есть | Есть | Есть, со всеми модемными линиями |
| Драйвер | В Windows обычно устанавливается автоматически; встроен в macOS и Linux | В Windows обычно устанавливается автоматически; встроен в macOS и Linux | В Windows устанавливается автоматически; встроен в macOS и Linux |
| Цена | Самая низкая | Средняя | Самая высокая |
| На что обратить внимание | Не перегружай пин 3V3 модуля | Порядок пинов модуля различается у разных производителей | Часто встречаются поддельные микросхемы; официальный драйвер может отвергать некоторые из них |
Для повседневных любительских задач между CH340 и CP2102 практически нет разницы: оба безупречно работают на 115200 бод и легко справляются со всеми скоростями, которые использует Arduino IDE. Встроенный генератор CP2102 и более мощный выход 3,3 V дают ему небольшое преимущество при питании маленьких плат на 3,3 V, а CH340 — самый дешёвый и распространённый. FT232RL — надёжная микросхема с подробными возможностями настройки, но значительная часть дешёвых модулей FT232 на рынке содержит подделки. CH9102 и CH343, встречающиеся на новых платах ESP32, — более быстрые представители того же семейства, и используются они точно так же.

Установка драйверов: Windows, macOS и Linux
| Операционная система | Что делать | Имя порта |
|---|---|---|
| Windows 10 / 11 | Центр обновления Windows обычно устанавливает драйвер автоматически; если нет, установи CH341SER для CH340 или драйвер CP210x VCP для CP2102 | COM3, COM4... в Диспетчере устройств › «Порты (COM и LPT)» |
| macOS | В актуальных версиях есть встроенные драйверы для CH340, CP2102 и FT232; не устанавливай поверх них старые драйверы производителей | /dev/cu.usbserial-... либо /dev/cu.wchusbserial... или /dev/cu.SLAB_USBtoUART с драйвером производителя |
| Linux | Драйверы уже есть в ядре; добавь своего пользователя в группу dialout, а в Ubuntu удали пакет brltty, если порт CH340 исчезает | /dev/ttyUSB0 |
Если после подключения преобразователя в Windows в Диспетчере устройств в разделе «Другие устройства» (Other devices) появляется USB2.0-Serial с жёлтым восклицательным знаком, отсутствует драйвер CH340; если видишь CP2102 USB to UART Bridge Controller, отсутствует драйвер CP2102. После установки драйвера отключи преобразователь, подключи снова и открой «Инструменты › Порт» (Tools › Port) в Arduino IDE: новый порт, который появится в этот момент, принадлежит преобразователю. Если не появляется вообще ничего, сначала замени кабель: в кабелях только для зарядки нет проводов данных. Полный список проблем с портами, драйверами и правами доступа есть в статье «Код не загружается на Arduino».
Петлевой тест: работает ли преобразователь?
- Отсоедини от преобразователя все провода и подключи его к компьютеру.
- Проводом-перемычкой соедини пины TXD и RXD самого преобразователя.
- Выбери порт преобразователя в Arduino IDE и открой монитор порта (Serial Monitor); скорость для этого теста не важна.
- Введи что-нибудь и отправь. Если текст сразу возвращается, микросхема, драйвер и кабель исправны; проблема в подключении или целевой плате.
- Если ничего не возвращается, проверь порт, драйвер и кабель и посмотри, мигают ли светодиоды TX и RX на преобразователе.
Программирование Arduino Pro Mini: автосброс по DTR

Перед загрузкой кода на Arduino плата сбрасывается; загрузчик, работающий примерно секунду после сброса, проверяет, поступает ли новая программа через последовательный порт. Uno и Nano выполняют этот сброс автоматически: между линией DTR USB-микросхемы и пином RESET процессора стоит конденсатор 100 nF. Когда IDE открывает порт, DTR переходит из HIGH в LOW, конденсатор передаёт этот резкий спад на RESET в виде короткого импульса LOW, и плата сбрасывается. На Pro Mini такой же конденсатор находится на плате и соединён с пином GRN (или DTR) на гребёнке; если подключить туда DTR преобразователя, загружать код станет так же просто, как на Uno.
| USB-TTL | Pro Mini | Примечание |
|---|---|---|
| GND | GND (или BLK) | Общая земля |
| 5V или 3V3 | VCC | 5V для версии 5 V / 16 MHz, 3V3 для версии 3,3 V / 8 MHz |
| TXD | RXI | Перекрёстно |
| RXD | TXO | Перекрёстно |
| DTR | GRN (DTR) | Автосброс; без него придётся сбрасывать вручную |
- Определи версию платы по маркировке с обратной стороны или на кварцевом резонаторе: платы с резонатором 16 MHz — версия на 5 V, с резонатором 8 MHz — на 3,3 V.
- Установи перемычку преобразователя в соответствии с версией платы и соедини всё по таблице.
- В Arduino IDE выбери «Инструменты › Плата › Arduino AVR Boards › Arduino Pro or Pro Mini» (Tools › Board).
- В меню «Инструменты › Процессор» (Tools › Processor) выбери ATmega328P (5V, 16 MHz) или ATmega328P (3.3V, 8 MHz) в соответствии со своей платой.
- Выбери порт преобразователя и загрузи тестовый скетч ниже; при подключённом DTR нажимать кнопки не нужно.
1// Pro Mini + USB-TTL testi: LED yanıp söner, gönderdiğin satır geri gelir
2// Pro Mini + USB-TTL test: the LED blinks and every line you send comes back
3const int LED = 13; // Pro Mini'nin dahili LED'i / Pro Mini onboard LED
4unsigned long sonDegisim = 0;
5bool ledAcik = false;
6
7void setup() {
8 Serial.begin(9600);
9 pinMode(LED, OUTPUT);
10 Serial.println(F("Pro Mini hazir / ready"));
11 Serial.print(F("Derlenen saat / compiled clock: "));
12 Serial.print(F_CPU / 1000000UL); // 16 = 5 V sürüm, 8 = 3,3 V sürüm / 16 = 5 V board, 8 = 3.3 V board
13 Serial.println(F(" MHz"));
14}
15
16void loop() {
17 if (millis() - sonDegisim >= 500) { // yarım saniyede bir / every half second
18 sonDegisim = millis();
19 ledAcik = !ledAcik;
20 digitalWrite(LED, ledAcik);
21 }
22 if (Serial.available()) {
23 String satir = Serial.readStringUntil('\n'); // satır sonuna kadar oku / read up to the line ending
24 satir.trim();
25 Serial.print(F("Geldi / received: "));
26 Serial.println(satir);
27 }
28}Когда загрузка завершится, светодиод на плате будет мигать каждые полсекунды. Открой монитор порта на 9600 бод, выбери New Line («Новая строка»), введи что-нибудь — текст вернётся обратно. Строка F_CPU в коде помогает обнаружить небольшую, но важную ловушку: загрузчики обеих версий Pro Mini принимают код на 57600 бод, поэтому он загружается даже при неверном выборе в меню «Процессор». Но если для платы на 8 MHz выбрать 16 MHz, всё будет работать вдвое медленнее, светодиод будет менять состояние раз в секунду, а монитор порта покажет только мусорные символы. Если у преобразователя нет пина DTR, можно вручную выбрать момент сброса: как только IDE завершит компиляцию и покажет Uploading... (загрузка) в окне вывода, нажми и отпусти кнопку сброса Pro Mini.
Загрузка кода на ESP-01 и ESP32-CAM
В ESP8266 и ESP32 загрузчик встроен в микросхему и при включении проверяет пин GPIO 0: если на GPIO 0 уровень LOW, он переходит в режим загрузки и ждёт код, а если HIGH — запускает программу из флеш-памяти. На отладочных платах есть схема автоматической загрузки, соединяющая линии DTR и RTS с EN и GPIO 0 через два транзистора; esptool последовательно переключает эти линии, автоматически переводя плату в режим загрузки. У обычного преобразователя USB-TTL такой схемы нет, поэтому всё делается вручную: подключи GPIO 0 к GND, сбрось плату, загрузи код, затем отсоедини GPIO 0 и снова выполни сброс.
| USB-TTL (перемычка на 3,3 V) | ESP-01 | ESP32-CAM |
|---|---|---|
| GND | GND | GND |
| TXD | RX | U0R (GPIO 3) |
| RXD | TX | U0T (GPIO 1) |
| Питание | VCC и EN (CH_PD) от отдельного стабилизатора 3,3 V | От пина 5V преобразователя к пину 5V платы |
| Режим загрузки | GPIO 0 к GND, кратковременно соедини RST с GND | IO0 к GND, нажми кнопку RST |
| Плата в Arduino IDE | Generic ESP8266 Module | AI Thinker ESP32-CAM |
При подключении к Wi-Fi пиковый ток ESP-01 превышает 300 mA; пин 3V3 преобразователя не может его обеспечить, и модуль постоянно сбрасывается. Поэтому используй стабилизатор AMS1117-3.3 с питанием от пина 5V. Все подключения ESP-01 и AT-команды описаны в статье «Модуль ESP-01», а пошаговая загрузка на ESP32-CAM — в статье «Как использовать ESP32-CAM». Если нужен проект с PIR-датчиком на ESP32-CAM и отправкой фото на телефон, загляни в статью «Фото с ESP32-CAM в Telegram».
Чтение последовательных логов: USB-TTL как второй последовательный порт
Одна из наименее известных, но самых полезных задач преобразователя — добавить плате второй монитор порта. Пока собственный USB-порт платы общается с программой на Python, «Плоттером по последовательному соединению» (Serial Plotter) или другим устройством, через отдельный порт можно наблюдать подробные отладочные сообщения. У ESP32 три аппаратных UART; код ниже назначает UART2 на GPIO 16 и 17 и каждую секунду отправляет преобразователю строку лога. Отправка буквы r с преобразователя сбрасывает счётчик, поэтому ты можешь убедиться, что связь работает в обоих направлениях.
1// ESP32: USB portu Serial'de kalır, ikinci log kanalı USB-TTL'ye gider
2// ESP32: the USB port stays on Serial, a second log channel goes to the USB-TTL
3#define LOG_RX 16 // USB-TTL TXD buraya / USB-TTL TXD goes here
4#define LOG_TX 17 // USB-TTL RXD buraya / USB-TTL RXD goes here
5
6unsigned long sayac = 0;
7
8void setup() {
9 Serial.begin(115200); // kartın kendi USB portu / the board's own USB port
10 Serial2.begin(115200, SERIAL_8N1, LOG_RX, LOG_TX); // UART2: USB-TTL'ye / UART2: to the USB-TTL
11 Serial.println("Ana port / main port");
12 Serial2.println("Log portu hazir / log port ready");
13}
14
15void loop() {
16 sayac++;
17 int deger = analogRead(34); // GPIO 34'e bağlı bir sensör / a sensor on GPIO 34
18 Serial2.printf("[%lu ms] #%lu ADC=%d\n", millis(), sayac, deger); // ayrıntılı log / detailed log
19 if (sayac % 10 == 0) Serial.println(deger); // ana portta yalnız özet / only a summary on the main port
20
21 while (Serial2.available()) { // USB-TTL'den gelen komut / command from the USB-TTL
22 char c = Serial2.read();
23 if (c == 'r') {
24 Serial2.println("Sayac sifirlandi / counter reset");
25 sayac = 0;
26 }
27 }
28 delay(1000);
29}Для подключения установи перемычку преобразователя на 3,3 V и соедини TXD с GPIO 16, RXD с GPIO 17, а GND с GND. Затем вместо второго экземпляра Arduino IDE можно использовать PuTTY, screen в macOS и Linux или небольшую программу чтения на Python; о стороне Python читай в статье «Последовательная связь Arduino и Python». На Raspberry Pi Pico та же идея реализуется несколькими строками MicroPython: UART0 находится на GP0 (TX) и GP1 (RX), а код и отправляет лог, и возвращает полученные байты.
1# Raspberry Pi Pico (MicroPython): UART0 üzerinden USB-TTL'ye log ve yankı
2# Raspberry Pi Pico (MicroPython): log and echo to a USB-TTL over UART0
3from machine import UART, Pin
4import time
5
6uart = UART(0, baudrate=115200, tx=Pin(0), rx=Pin(1)) # GP0 = TX, GP1 = RX
7led = Pin(25, Pin.OUT) # Pico dahili LED / Pico onboard LED (Pico W: "LED")
8sayac = 0
9son = time.ticks_ms()
10
11uart.write("Pico UART0 hazir / ready\r\n")
12while True:
13 if time.ticks_diff(time.ticks_ms(), son) >= 1000: # saniyede bir log / one log line per second
14 son = time.ticks_ms()
15 sayac += 1
16 led.toggle()
17 uart.write("[%d ms] #%d\r\n" % (time.ticks_ms(), sayac))
18 if uart.any(): # USB-TTL'den gelen baytlar / bytes from the USB-TTL
19 veri = uart.read()
20 uart.write(b"Geldi / received: " + veri)
21 time.sleep_ms(10)Тем же способом можно слушать сообщения модуля вообще без Arduino между ним и компьютером. Подключи GPS-модуль NEO-6M напрямую к преобразователю и открой порт на 9600 бод — увидишь поток предложений NMEA; открой модуль HC-05 в режиме AT на 38400 бод, и сможешь изменить его имя и PIN-код. Всё о настройках конца строки и скорости в бодах в мониторе порта есть в статье «Монитор порта Arduino».
Частые проблемы и их решения
| Симптом | Вероятная причина | Решение |
|---|---|---|
| Преобразователя нет в списке портов | Кабель только для зарядки, отсутствующий драйвер или brltty в Linux | Используй кабель с передачей данных, установи драйвер, удали brltty |
| avrdude: stk500_getsync(): not in sync: resp=0x00 (сообщение об ошибке avrdude: нет синхронизации с платой) | TX-RX подключены напрямую, DTR не подключён или выбрана неверная плата | Соедини TX с RXI, а RX с TXO; подключи DTR к GRN или нажми сброс при появлении Uploading... |
| Код загружен, но монитор порта показывает мусорные символы | Несовпадение скорости в бодах или неверно выбранная частота в MHz для Pro Mini | Установи в мониторе порта скорость из кода, в меню «Процессор» выбери фактическую версию платы |
| Failed to connect to ESP8266 / ESP32 | На GPIO 0 при старте нет LOW или перепутаны TX-RX | Подключи GPIO 0 к GND, затем выполни сброс; проверь TX-RX |
| ESP постоянно перезапускается | Выход 3,3 V преобразователя не обеспечивает пиковый ток | Используй отдельный стабилизатор 3,3 V и конденсатор 100–470 µF |
| Pro Mini сбрасывается при каждом открытии монитора порта | DTR подключён; сброс при открытии порта — нормальное поведение | Если сброс не нужен, после загрузки отсоедини провод DTR |
| При подключении компьютер отключает USB-порт | Короткое замыкание или конфликт двух источников питания | Отсоедини провода; не подключай VCC, если у целевой платы собственное питание |
Преобразователь USB-TTL — один из самых маленьких инструментов в твоём ящике и один из тех, которые пригодятся чаще всего: он программирует платы без USB, позволяет компьютеру общаться с модулями и построчно показывает, что происходит внутри твоих проектов. Если не забывать подключать TX и RX перекрёстно, выбирать правильный логический уровень и объединять GND, почти все проблемы исчезают. В приложении BlueGrays ты найдёшь проекты последовательной связи двух Arduino, управления с телефона по Bluetooth и Wi-Fi на ESP32 — с пошаговыми схемами подключения и готовым кодом.
Частые вопросы
Для чего нужен преобразователь USB-TTL?
Он преобразует USB-порт компьютера в последовательную связь UART, которую используют микроконтроллеры. Благодаря этому можно загружать код на платы без USB, такие как Arduino Pro Mini, ESP-01 и ESP32-CAM, читать их последовательные сообщения и настраивать GPS- или Bluetooth-модули прямо с компьютера.
Что лучше: CH340 или CP2102?
В любительских проектах оба без проблем работают на 115200 бод, и на практике ты не заметишь разницы. У CP2102 встроенный генератор, более мощный выход 3,3 V и входы, допускающие 5 V; CH340 дешевле и распространённее. В актуальных версиях macOS и Linux драйверы для обоих встроены.
Как подключить TX и RX преобразователя USB-TTL?
Перекрёстно: пин TXD преобразователя идёт к RX целевой платы, а RXD — к её TX. Земля GND всегда должна быть общей. Перестановка линий не причиняет вреда, но данные не принимаются; если есть сомнения, поменяй их местами и попробуй ещё раз.
Как программировать Arduino Pro Mini через преобразователь USB-TTL?
Подключи GND к GND, VCC к VCC, TXD к RXI, RXD к TXO, а DTR к пину GRN. В Arduino IDE выбери плату Arduino Pro or Pro Mini и соответствующий твоей плате вариант ATmega328P (5V, 16 MHz) или (3.3V, 8 MHz), затем загрузи код как обычно. Если DTR нет, нажми кнопку сброса в момент появления Uploading...
Преобразователь USB-TTL должен быть на 3,3 V или 5 V?
Логический уровень должен соответствовать целевой плате: 5 V для Uno, Nano и Pro Mini на 5 V; 3,3 V для ESP8266, ESP32 и Raspberry Pi Pico. На модулях с перемычкой выбор делается ею. CP2102 всегда выдаёт 3,3 V, а его входы допускают 5 V, поэтому он работает с обоими типами плат.
Можно ли использовать Arduino Uno как преобразователь USB-TTL?
Да. Если подключить пин RESET платы Uno к GND или загрузить пустой скетч, её USB-микросхема будет напрямую доступна через D0 и D1. В этом случае подключение прямое: TX целевой платы идёт к D1, а RX — к D0. Поскольку Uno использует логику 5 V, для плат на 3,3 V добавь делитель напряжения на линию D0.
Что собрать после прочтения
Все проекты
Измерение расстояния HC-SR04 (вывод в порт)
Датчик HC-SR04 работает совсем как летучая мышь, которая находит дорогу в темноте: он посылает звук, которого ты не слышишь, слушает эхо и измеряет, насколько далеко предмет перед ним. Arduino каждые

Температура и влажность с DHT11
Насколько тепло в твоей комнате и влажный ли воздух или сухой? Датчик DHT11 измеряет температуру и влажность, а Arduino выводит значения на двухстрочный LCD-экран и обновляет их каждые пару секунд. Ес

Мигающий светодиод на ESP32
Учит базовой работе с выходами GPIO на ESP32. Эффект мигания получается включением и выключением светодиода с цифрового пина. Это ESP32-версия классического проекта мигания на Arduino UNO; базовые команды мигания в среде Arduino те же, но расположение пинов ESP32 и уровни GPIO 3,3 V отличаются от Arduino UNO.

Односторонняя связь между двумя Arduino
Ты заставляешь две Arduino разговаривать по одному проводу: нажми кнопку на одной, и на другой загорится светодиод, нажми снова — погаснет. Плата-передатчик сообщает о нажатии кнопки коротким сообщени

Двусторонняя связь между двумя Arduino
Две Arduino соединены проводами и разговаривают друг с другом: нажми кнопку на одной, и на другой загорится свет, нажми снова — погаснет. На обеих платах одна и та же программа, поэтому каждая и отпра

Управление светодиодом с телефона по Bluetooth
Небольшая репетиция того, как включать и выключать свет в комнате с телефона. Bluetooth-модуль передаёт в Arduino буквы, отправленные с телефона; одна буква включает красный светодиод, другая — зелёны

Подключение ESP32 к Wi-Fi в режиме STA (с экраном LCD)
В этом проекте ESP32 надёжно и устойчиво к сбоям подключается к домашней сети Wi-Fi в режиме станции (STA). SSID и пароль хранятся в отдельном файле secrets.h, чтобы не утекли в Git; настроено автоматическое переподключение, а уровень сигнала RSSI и IP-адрес выводятся на I2C LCD-экран. Встроенный светодиод служит индикатором состояния. Это менеджер подключения уровня реальных устройств.

Обновление ESP32 по воздуху (OTA): беспроводная установка прошивки (с экраном LCD)
В этом проекте ты узнаешь, как загружать новую прошивку в ESP32 по Wi-Fi без USB-кабеля. С библиотекой ArduinoOTA ESP32 становится видна в сети и автоматически появляется как bluegrays-ota на вкладке «Сетевой порт» в Arduino IDE. Первая загрузка выполняется по USB, а все следующие обновления — без проводов: это важно для устройств в эксплуатации. I2C LCD показывает состояние Wi-Fi, IP-адрес, имя хоста, процент загрузки OTA и сообщения об ошибках.
Другие статьи
Приложение BlueGrays
Собери эту схему шаг за шагом в телефоне
Схема подключения, код и список деталей на одном экране. 200+ проектов на Arduino, ESP32 и Pico готовы к сборке.
Наведи камеру телефона
Наведи камеру на код — откроется магазин приложений на телефоне.
или открыть магазин

