Moduł Arduino UNO + ESP8266 na jednej płytce zawiera UNO oparte o ATmega328 i moduł WiFi oparty o ESP8266. Koszt modułu na portalach aukcyjnych to ~7$ Link. Moduł można zasilać z gniazda micro USB lub złącza DC 7-12V. Komunikacja z modułami odbywa się przez konwerter USB<->UART oparty o układ CH340. Arduino UNO pracuje z napięciem 5V, natomiast ESP8266 3.3V. Wyprowadzenia ESP8266 są dostępne na dodatkowym złączu, podobnie złącze ISP pozwalające na programowanie ATmega328 z ominięciem bootloadera:
Przyglądając się PCB widać pewne niedokładności montażu, np. złącze uFL zewnętrznej anteny WiFi. Standardowo możemy wykorzystać antenę WiFi w postaci ścieżki na płytce drukowanej.
Opis wyprowadzeń ESP8266 znajduje się po drugiej stronie płytki:
Przy łączeniu wyprowadzeń ESP8266 i UNO należy pamiętać o różnych poziomach napięć, podobnie przy podłączaniu peryferiów.
Po odpowiednim ustawieniu przełączników ESP8266 i ATmega328 mogą komunikować się z wykorzystaniem UART, podobnie ustawienie zworek pozwala na połączenie konwertera UART<->USB z wybranym modułem w celu programowania.
Połączenie modułów po UART - DIP 1 i 2 ON
Połączenie USB<->UART z ATmega328 - DIP 3 i 4 ON
Połączenie USB<->UART z ESP8266 - DIP 5 i 6 ON
Połączenie USB<->UART z ESP8266 w trybie programowania (GPIO0-GND) - DIP 5 i 6 i 7 ON
Czy uważacie takie połączenie ATmega328 z ESP8266 na jednej płytce za sensowne?
Arduino UNO może rozszerzać możliwości ESP8266 np. pod względem ilości I/O, ADC, PWM,
odciążenie/buforowanie dla ESP przy realizacji pomiarów lub komunikacji z peryferiami, zwiększenie energooszczędności ESP8266 podobnie jak tutaj: Link
Przełączanie miniaturowych przełączników do zmiany trybów jest niewygodne. Należy pamiętać o różnicy poziomów napięć między wyprowadzeniami modułu ESP i Arduino.
Poniżej informacje jak zintegrować obie części modułu z Arduino, oraz wysyłać dane do Thingspeak:
ESP8266 WIFI uruchmienie, start z IoT, Blynk, Thingspeak
Arduino Uno pierwsze uruchomienie. DHT22, BMP180, FFT LED RGB.
Praktyczny przykład wykorzystania modułu,
przesyłanie danych z 6 kanałów ADC Arduno Uno, do Thingspeak poprzez WiFi ESP8266:
Kod dla Arduino UNO,
na czas programowania przełączamy w pozycję "ON" USB+MCU (przełączniki 3 i 4),
na czas współpracy Arduino UNO z ESP8266 wybieramy opcję MCU+ESP (1,2).
Kod dla ESP8266,
na czas programowania ustawiamy w pozycji "ON" przełączniki 5,6,7,
na czas działania ustawiamy w pozycji "ON" przełączniki 1,2,
jeżeli chcemy obserwować komunikaty na terminalu szeregowym w pozycji "ON" ustawiamy przełączniki 5,6, lub 1,2,5,6.
W kodzie zgodnie z opisem umieszczamy nazwę SSID naszej sieci WiFi, oraz hasło,
a także klucz api thingspeak i nasz numer kanału.
W efekcie otrzymujemy w ThingSpeak wykresy z wartością napięć na 6 kanałach Arduino UNO:

Przyglądając się PCB widać pewne niedokładności montażu, np. złącze uFL zewnętrznej anteny WiFi. Standardowo możemy wykorzystać antenę WiFi w postaci ścieżki na płytce drukowanej.
Opis wyprowadzeń ESP8266 znajduje się po drugiej stronie płytki:
Przy łączeniu wyprowadzeń ESP8266 i UNO należy pamiętać o różnych poziomach napięć, podobnie przy podłączaniu peryferiów.
Po odpowiednim ustawieniu przełączników ESP8266 i ATmega328 mogą komunikować się z wykorzystaniem UART, podobnie ustawienie zworek pozwala na połączenie konwertera UART<->USB z wybranym modułem w celu programowania.
Połączenie modułów po UART - DIP 1 i 2 ON
Połączenie USB<->UART z ATmega328 - DIP 3 i 4 ON
Połączenie USB<->UART z ESP8266 - DIP 5 i 6 ON
Połączenie USB<->UART z ESP8266 w trybie programowania (GPIO0-GND) - DIP 5 i 6 i 7 ON
Czy uważacie takie połączenie ATmega328 z ESP8266 na jednej płytce za sensowne?
Arduino UNO może rozszerzać możliwości ESP8266 np. pod względem ilości I/O, ADC, PWM,
odciążenie/buforowanie dla ESP przy realizacji pomiarów lub komunikacji z peryferiami, zwiększenie energooszczędności ESP8266 podobnie jak tutaj: Link
Przełączanie miniaturowych przełączników do zmiany trybów jest niewygodne. Należy pamiętać o różnicy poziomów napięć między wyprowadzeniami modułu ESP i Arduino.
Poniżej informacje jak zintegrować obie części modułu z Arduino, oraz wysyłać dane do Thingspeak:
ESP8266 WIFI uruchmienie, start z IoT, Blynk, Thingspeak
Arduino Uno pierwsze uruchomienie. DHT22, BMP180, FFT LED RGB.
Praktyczny przykład wykorzystania modułu,
przesyłanie danych z 6 kanałów ADC Arduno Uno, do Thingspeak poprzez WiFi ESP8266:
Kod dla Arduino UNO,
na czas programowania przełączamy w pozycję "ON" USB+MCU (przełączniki 3 i 4),
na czas współpracy Arduino UNO z ESP8266 wybieramy opcję MCU+ESP (1,2).
Kod: C / C++
Kod dla ESP8266,
na czas programowania ustawiamy w pozycji "ON" przełączniki 5,6,7,
na czas działania ustawiamy w pozycji "ON" przełączniki 1,2,
jeżeli chcemy obserwować komunikaty na terminalu szeregowym w pozycji "ON" ustawiamy przełączniki 5,6, lub 1,2,5,6.
W kodzie zgodnie z opisem umieszczamy nazwę SSID naszej sieci WiFi, oraz hasło,
a także klucz api thingspeak i nasz numer kanału.
Kod: C / C++
W efekcie otrzymujemy w ThingSpeak wykresy z wartością napięć na 6 kanałach Arduino UNO:
Fajne? Ranking DIY
