Распиновка и характеристики 3х самых распространенных плат на базе крутого микроконтроллера ESP32
Ну и на всякий случай распиновка самого ESP32:
Прошивка и программирование ESP32 Ardunio
Для начала надо установить и настроить это: https://github.com/espressif/arduino-esp32. Инструкция для Windows там же, но она максимально убогая, там все сводится к скачиванию всех файлов и распаковыванию их сюда
C:\Users\<имя пользователя>\Documents\Arduino\hardware\espressif\esp32
и потом надо запустить
Какие пины ESP32 можно использовать?
Свободные пины | GPIO 2, 4, 12, 14, 13, 15, 16, 17, 25, 25, 27, 32, 33 |
Только чтение (вход) | GPIO 34, 35, 36, 39 |
К разнообразным шинам SPI, i2c и т.д. подключены, и их тоже можно использовать: GPIO 1, 3, 5, 18, 19, 21, 22, 23
Тут немного не как в ардуине. Нельзя бездумно использовать любые пины, надо смотреть документацию, и дополнительно можно тестером при перезагрузке модуля проверять, не появляется ли напряжение на пине, прежде чем его использовать. Я проверил все пины, и в итоге получилось вот что
5, 15 – после загрузки на нем +3.3V, он резистором подтянут к VVC (PULLUP) – с учетом этого его использовать можно
2, 4, 18, 19, 21, 22, 23, 13, 12, 27, 26, 25, 33, 32 – нормальные обычные пины
14 какой-то сомнительный пин, сначала на нем 0, потом через секунду после включения +3.3V – с учетом этого его использовать можно
34, 35 вроде бы подтянут к земле (PULLDOWN), только чтение, и то помнится были какие-то проблемы
36, 39 вероятно то же самое, что 34 и 35
Все это проверялось на DEVKIT v1 плате:
Характеристики ESP32
ОЗУ — 520Кб
ПЗУ — 448Кб
GPIO 32 (с ограничением)
ШИМ 16 channels LEDC PWM
Беспроводные интерфейсы
- WiFi 802.11n 2.4Гц с максимальной скоростью 150Мбит/сек
- WPA)/WPA2/WPA2-Enterprise/Wi-Fi Protected Setup (WPS
- Bluetooth v4.2 BR/EDR and BLE
Интерфейсы SD/eMMC/SDIO, SPI, UART (2 шт), i2c
Поддержка сенсорных кнопок
Датчик температуры
Поддерживается шифрование прошивки. Теперь можно смело создавать серийные устройства на базе ESP32, прошивку скопировать или модифицировать не смогут.
Евгений
Спасибо за пост!
Теперь понятно почему не всё работало на esp32.