WeMos D1 mini на ESP8266

WEMOS / LOLIN для оригинала; совместимые платы других изготовителей · D1 mini ESP8266, 4 МБ Flash; база v3.1.0

Компактная Wi-Fi-плата ESP8266 с USB–UART: подключение I²C и полный скетч для внешнего LED.

Автор: SLDV LAB

Опубликовано · Обновлено

СложностьЛегко
Проекты с компонентом

О МОДУЛЕ

Что делает D1 mini ESP8266, 4 МБ Flash; база v3.1.0

WeMos/LOLIN D1 mini — компактная ESP8266-плата для датчиков, небольших контроллеров и Wi-Fi-проектов. Два ряда контактов совместимы с семейством D1 mini shields, но каждый шилд всё равно проверяют по питанию, занятому GPIO и адресу. Bluetooth у ESP8266 отсутствует.

Карточка охватывает обычную D1 mini на ESP8266 с 4 МБ Flash, не версии Pro, Lite или ESP32. В качестве документированной базы используется v3.1.0 с Micro-USB; v4.0.0 меняет разъём на USB-C и добавляет отдельный I²C-порт. Фото показывает раннюю обычную D1 mini и не подтверждает конкретную ревизию v3.1.0/v4.0.0.

Подписи D1/D2 не равны номерам GPIO: здесь D1=GPIO5, D2=GPIO4. A0 готовой оригинальной платы имеет делитель и заявленный предел 3,2 В; у самого ESP8266 вход ADC рассчитан только на 1 В. Для безымянной копии наличие и номиналы делителя надо проверить, поэтому аналоговый вход в начальных примерах не используется.

Фото: Tpkull / Wikimedia Commons, CC BY-SA 4.0. Фото платы обтравлено и размещено на фоне SLDV LAB с сохранением пропорций; компоненты и маркировка не дорисованы.

Схема распиновки

На фото ранняя D1 mini с экраном; ревизия не установлена. Схема ниже относится к WEMOS D1 mini v3.1.0. Порядок контактов совпадает; электрические пределы изображённой платы проверьте по её схеме.

Авторская схема SLDV LAB: WEMOS/LOLIN D1 mini v3.1.0, вид со стороны компонентов, Micro-USB снизу. GPIO 3,3 В; A0 до 3,2 В. Для клонов сверяйте маркировку и схему.

Схема создана SLDV LAB по официальной документации WEMOS D1 mini v3.1.0 и принципиальной схеме, указанной производителем. Это авторский справочный рисунок, а не фотография платы; оформление адаптировано к фону SLDV LAB.

Характеристики

Микроконтроллер
ESP8266EX, одно ядро Tensilica L106
Рабочая частота
80 МГц; профиль поддерживает 160 МГц
Flash базового исполнения
4 МБ
Радиосвязь
Wi-Fi 2,4 ГГц 802.11 b/g/n
Встроенный Bluetooth
Нет
Логика GPIO
3.3 В
Внешний аналоговый вход
A0, предел 3,2 В у оригинальной D1 mini v3.1.0; не у голого чипа
Интерфейс компьютера
USB–UART-мост; USB устройства/HID у ESP8266 нет
Интерфейс
I²C, SPI, UART, Аналоговый, Wi-Fi
Питание модуля
В примерах 5 В через USB; GPIO и подтяжки I²C только 3,3 В. На A0 не подавать 5 В. Диапазон VIN/5V и допустимый ток зависят от платы; не объединять USB с внешним источником без схемы.

ПРАКТИКА

Подключение

Контакт модуляКонтакт платыНазначение
Питание/загрузка/SerialUSB платыВид разъёма и драйвер моста проверить по ревизии.
VCC датчика / GND3V3 / GNDПодтяжки I²C на стороне ESP8266 только к 3,3 В.
Анод LED через 1 кОмD5 / GPIO14Катод к GND; первый пример использует числовой GPIO14.
SDA I²C-устройстваD2 / GPIO4Wire.begin(4, 5): SDA стоит первым аргументом.
SCL I²C-устройстваD1 / GPIO5Второй пример, 100 кГц.
SPI: SCK / MISO / MOSI / CSD5/GPIO14; D6/GPIO12; D7/GPIO13; D8/GPIO15D5 уже занят LED в первом примере. D8 должен оставаться LOW при нормальном старте.
RX / TX UART-периферииTX/GPIO1 / RX/GPIO3Перекрёстные линии, 3,3 В; эти контакты заняты также USB–UART и загрузчиком.
Загрузочные контактыD3/GPIO0; D4/GPIO2; D8/GPIO15Для нормального старта GPIO0/2 HIGH, GPIO15 LOW. Не подключать нагрузки, меняющие эти состояния.
Аналоговый сигналA0Не используется в примерах. Проверьте делитель именно платы; 1 В на ADC кристалла нельзя путать с A0 модуля.
СбросRSTКраткое замыкание на GND. Для deep sleep wake D0/GPIO16 соединяют с RST отдельно, когда это нужно проекту.

Подходит для Arduino. Выберите контакты по документации своей платы.

ВАШ ПРОЕКТ · ВАШ ДАТЧИК

Интегрируйте модуль с ChatGPT

Скопируйте запрос в ChatGPT. Укажите свою плату и среду разработки — получите подключение и код для своего проекта.

Помоги интегрировать WeMos D1 mini на ESP8266. Уточни ревизию, фото/маркировку модуля, USB–UART, объём Flash, задачу, среду и питание. Базовый Arduino core ESP8266 3.1.2, профиль LOLIN(WEMOS) D1 R2 & mini. Не используй пакет ESP32. Сверь номера D с GPIO: SDA D2=4, SCL D1=5, LED примера D5=14. Дай подключение, зависимости, полный скетч с обработкой ошибок и проверку результата. Сохрани правильные уровни загрузочных GPIO0/2/15 и линии Flash6–11. Не обещай Bluetooth. Для ADC сначала установи диапазон A0 по делителю платы; голый ADC ESP8266 принимает до 1 В. Длинные циклы должны отдавать управление через delay/yield. При ошибке загрузки проверь питание, кабель, мост, порт и boot-режим, не меняй Flash-параметры вслепую.

Библиотеки

Установите библиотеку для своей среды и откройте пример из её документации.

Что именно прописать

Пакет
esp8266 by ESP8266 Community 3.1.2

Версия API примеров.

Board
LOLIN(WEMOS) D1 R2 & mini

Проверить исполнение платы и Flash 4 МБ.

CPU Frequency
80 MHz

Базовая частота примеров.

Внешний LED
GPIO14 / D5

Резистор 1 кОм последовательно, катод GND.

I²C
Wire.begin(4, 5); Wire.setClock(100000)

SDA4/D2, SCL5/D1. В ESP8266 begin возвращает void, не bool.

Монитор
115200

Вывод сканера через USB–UART; краткий стартовый лог чипа может иметь другую скорость.

WeMos D1 mini на ESP8266: внешний LED на D5

cpp
#include <Arduino.h>
constexpr int LED_PIN = 14;
void setup() {
  pinMode(LED_PIN, OUTPUT);
  digitalWrite(LED_PIN, LOW);
}
void loop() {
  digitalWrite(LED_PIN, HIGH);
  delay(500);
  digitalWrite(LED_PIN, LOW);
  delay(500);
}

Полный .ino для LOLIN(WEMOS) D1 R2 & mini, ESP8266 core 3.1.2; API и соответствие выводов сверены по исходникам и документации. Компиляция и аппаратное испытание не выполнялись. Выберите профиль и USB-порт; LED должен мигать с периодом 1 с. Если не мигает, проверьте D5=GPIO14, полярность и резистор. Встроенный индикатор не используется.

WeMos D1 mini на ESP8266: сканер I²C D2/D1

cpp
#include <Arduino.h>
#include <Wire.h>
void setup() {
  Serial.begin(115200);
  Wire.begin(4, 5);  // SDA GPIO4=D2, SCL GPIO5=D1
  Wire.setClock(100000);
}
void loop() {
  int found = 0;
  for (uint8_t address = 8; address < 120; ++address) {
    Wire.beginTransmission(address);
    const uint8_t error = Wire.endTransmission();
    if (error == 0) {
      Serial.print("ACK 0x");
      if (address < 16) Serial.print('0');
      Serial.println(address, HEX);
      ++found;
    } else if (error != 2) {
      Serial.print("I2C error: ");
      Serial.println(error);
    }
    yield();
  }
  Serial.print("Devices: ");
  Serial.println(found);
  delay(3000);
}

Полный .ino для LOLIN(WEMOS) D1 R2 & mini, ESP8266 core 3.1.2; API и соответствие выводов сверены по исходникам и документации. Компиляция и аппаратное испытание не выполнялись. Подключите известный I²C-модуль с уровнями 3,3 В. В мониторе 115200 появляются ACK-адреса; Devices: 0 без устройства нормально. При ошибках проверьте GND, питание и подтяжки. ACK не является идентификацией датчика; не сканируйте неизвестную рабочую шину.

Проекты с этим компонентом

Все проекты

Связанные проекты пока не опубликованы.

Связанные материалы и компоненты