Close

Programátor pro ESP8266

Programátor pro moduly ESP8266

Náš čtenář, pan Marek Sukup, nám zaslal článek o jeho programátoru pro moduly ESP8266. Děkujeme.


Nejedná se o klasický Arduino projekt, ale o projekt pro „Arduino“ – resp. pro ESP8266 moduly.

Vzhledem k poměru ceny/výkonu ESP8266 a možnostem využití, je dobré mít možnost naprogramovat a ověřit funkci ještě před tím, než se modul napájí na adaptér, nebo klasické PCB. Připájet pár drátů, napojit je do breadboardu a po otestování je zase odpájet sice není nijak složité, ale časem to začne být otravné.

Požadavky

Určil jsem si hlavní požadavky:

  • funkční pro ESP-01, ESP-07, ESP-12 a další které mají stejný layout
  • snadné připojení modulu bez pájení
  • možnost přepnutí do režimu programování / testování funkčnosti programu
  • možnost připojit drátové propojky (připojení senzorů apod.)
  • reset modulu
  • obsažen převodník USB – serial
  • možnost externího napájení

Hledal jsem na internetu, jestli se něco podobného prodává. Výsledek – moc podobných „programatorů/testerů“ se neprodává nebo jsou drahé. Nechal jsem se inspirovat tímto projektem a trochu jej upravil a vylepšil podle mých potřeb. 

Výsledkem je … :

Hotový programátor pro moduly ESP

Hotový programátor

Programování

Funkce je jednoduchá – ESP modul se položí na pogo-piny, které jsou odpružené (zdvih cca 2,5 mm) modul se přitlačí a zajistí.  Kontakt je naprosto dostatečný. Posuvným přepínačem se nastaví mod programování (GPIO 0  se připojí na GND) nebo testování (GPIO 0 se odpojí od GND). Režim programování je signalizován SMD LEDkou, která svítí u přepínače. Tuto signalizaci jsem doplnil dodatečně, protože přepínač je malý a přes plexi není na první pohled vidět v jaké je poloze.

Programátor pro ESP - LED indikátor módu (programování / běh)

LED indikátor módu (programování / běh)

Tlačítko slouží pro reset modulu. Přepínač i resetovací tlačítko jsou utopeny v plexi schválně, chtěl jsem se vyhnout náhodnému stlačení nebo přepnutí.

Piny jsou propojeny na klasickou female pinovou lištu, do které je možné zasouvat drátové propojky. Rozložení pinů je identické jako na ESP modulu. Tato lišta je propojena i na patici pro ESP-01 modul, pro tuto variantu jsou aktivní jen piny, které jsou na ESP-01 modulu.

Pro moduly ESP-01 které není možné připojit přes pogo-piny je určen „slot“ 2×4 – po zasunutí modulu je vše stejné jako pro modul umístěný na pinech.  V programátoru může být vždy jen jeden ESP modul – bud 01 nebo 07 (12…). 

Programování ESP-01

Programování ESP-01

ESP programátor - Programování pomocí pogo pinů

Programování pomocí pogo pinů

Připojení převodníku

USB – serial převodník se zasune do patice vyvedené na boku, patice je pro 6pin variantu, ale je celkem jedno jestli se použije jiná verze. Při použití jiné verze je logicky potřeba zachovat rozložení pinů – pokud je jiné tak převodník připojit přes dráty. Původně jsem měl v úmyslu převodník vestavět dovnitř a nechat trčet jen USB konektor, ale z důvodů velikosti a univerzálnosti jsem se rozhodl pro řešení „externího“ převodníku.

 

ESP programátor - připojení USB-Serial převodníku

Připojení USB-Serial převodníku

ESP programátor - připojení USB-Serial převodníku

Připojení USB-Serial převodníku

Napájení

Napájení je možné bud přímo přes převodník nebo pomocí 3V3 stabilizátoru (AMS1117), který snese až 800mA. Při připojení pár senzorů a při připojování do wi-fi může vyskočit odběr dost vysoko, takže je lepší mít připojeno externí napájení. Stabilizátor jsem doplnil dodatečně, původní plán byl vytáhnout pouze dráty a využívat stabilizované napájení, tento plán vzal za své v okamžiku, kdy jsem byl líný připojit napájení na kvalitní stabilizátor a připojil jsem napájení do breadboardu. Mám tam levný modul se stabilizátorem, který se zasune přímo do breadboardu. Problém je, že bez zátěže dává skoro 5V… odběr samotného ESP modulu je tak malý že nestačí na to, aby se srazilo napětí na 3,3V a ESP modul šel do kytek. Teď to sice nevypadá moc esteticky, ale je to na jistotu.

Mechanická konstrukce

Konstrukce je z 3mm plexi které je sešroubováno M3 šroubky. Konstrukce je možná zbytečně masivní, ale jednak mám raději, když je něco předimenzováno, než když se to bortí a taky rozdíl v ceně 2 nebo 3mm plexi je zanedbatelný. Plexi je nařezáno laserem. 3D modely a DXF kontury pro laser jsou ke stažení. Piny jsou drženy v dvou kusech plexi, pro uložení by stačil jen horní díl krabičky, ale díry mají určitou vůli a chtěl jsem mít jistotu, že budou stát vždy kolmo, taky se to líp pájelo. Piny jsem pájel zespodu, rozteč pinů je jen 2mm a průměr je 1,02mm takže moc místa na drát mezi piny nezůstane, proto jsem drát pájel zespodu pinu. Piny jsem ještě podložil 1mm plexi aby se zvýšil přítlak.

Pro případně zájemce o stavbu bych ještě dodal cenu plexi – cca 350Kč (materiál + řezání).

Plexi

Plexi

Plexi

Plexi

V DXF jsou dvě části plexi které drží ESP modul na pinech – nebyl jsem si jistý životností, tak jsem si nechal říznout dva kousky. Celá sestava ve 3D je ke stažení. Chybí tam odpory, LEDka a stabilizátor. Pro mechanickou konstrukci nejsou součástky podstatné a stabilizátor jsem dodělával dodatečně…

Připojení modulů

Pogo-Piny na které se přitlačí ESP modul jsou typu P75-E2, původně jsem použil typ P75-B1 a později je vyměnil. Původní B1 jsou hladké, E2 jsou na konci rozšířené. Rozhodně doporučuji typ E2. Výměnu jsem udělal kvůli tomu, že průměr hrotu u typu B1 je 0,74mm některé ESP moduly mají otvory tak akorát, že do nich hrot zajede. Kontakt je sice pořád vodivý, ale přítlak je nerovnoměrný. Nechtěl jsem riskovat, že se jednou otvory zvětší a kontakty nebudou spolehlivé. Průměr hrotu u E2 je 1,3mm a to je na jistotu. Pokud byste použili můj DXF soubor pro pálení plexi tak otvory pro piny jsou průměru 1,02mm (+ polovina síly paprsku – laser jede středem paprsku po křivce) takže výsledný otvor je asi 1,15mm takže se trochu komplikuje montáž – první se musí nastrkat všechny piny do obou plexi dílů a pak teprve pájet, hlava pinu E2 otvorem neprojde.

Pogo piny - ESP programátor

Pogo piny

Připájení pogo pinů

Připájení pogo pinů

Spojení s modulem ESP

Spojení s modulem ESP

Přikládám ještě jednoduchý obrázek se zapojením drátů (schéma na tak jednoduchou věc snad není potřeba).

ESP programátor - Nákres zapojení

Nákres zapojení

Závěr

Nedostatky o kterých vím – motivace na vylepšení další verze:

  • není možné využít piny na krátké straně ESP-12E,F modulů
  • není určené pro jiný typ layoutu než 01, 07, 12 – to je mi jedno jiné nepoužívám
  • spatně pájené piny na dráty – pokud bych to stavěl znovu tak si udělám PCB s ploškami, na které piny postavím a připájím.  Piny nejsou ve stejné výšce, tipl bych rozptyl tak 1mm, naštěstí zdvih pružinek je 2,5mm tak to není problém
  • zmatek v propojovacích drátech. Souvisí to s předchozí odrážkou – příště bych to celé postavil na jednom PCB a nahradil dráty za vodivé dráhy… Kromě toho, že by to líp vypadalo, mnohem líp by se to celé vyrábělo
  • dodatečně vložený stabilizátor nevypadá moc esteticky a kabely také nejsou nic moc

Konstrukce určitě není ideální a bez chyb, ale je funkční. V průběhu stavby jsem přišel na pár vylepšení, ale nic nebylo tak zásadní, abych to celé předělal.

Seznam komponent

Materiály


Děkujeme za článek. Máte i vy projekt, se kterým se chcete pochlubit? Dejte nám vědět!

Zbyšek Voda

Zbyšek Voda

Už nějaký čas se zajímám o věci kolem Internetu věcí a otevřeného hardware a software. Tak jsem se také v roce 2010 dostal k Arduinu, pro které dodnes programuji a taky píšu články o práci s ním. Baví mě vymýšlet, jak staré věci používat novým způsobem.
Zbyšek Voda

3 Comments on “Programátor pro ESP8266

marecek
11.4.2018 at 23:22

Dovolil bych si jenom poznamenat, že použitý USB serial převodník je nevhodný poněvadž komunikuje na 5V logice, kterou nijak neupravujete! Pouze VCC snížíte na 3V, ale TX a RX pracuje stále na 5V. Může tedy velmi rychle dojít k zničení ESP modulu (věřím tomu, že nějakou dobu to vydrží, ale není to vhodné!)…

coxx
12.4.2018 at 10:08

Tento převodník asi není ideální, ale jiný jsem zrovna neměl po ruce. Používam tento typ už dost dlouho a problém jsem zatím neměl – možná náhoda.
Možnost vyměny za lepší je jeden z důvodů proč jsem nechal převodník venku a nedal ho do krabičky. Dik za upozornění a doplnění.

Marek S.

Zbyšek Voda
Zbyšek Voda
12.4.2018 at 10:25

Ono tohle je docela často diskutované téma.
ESP8266 by mělo být 5V tolerantní. Myslím, že výrobce se k tomu stále nevyjádřil, ale i lidi, kteří ESP dlouhodobě používají na 5V tvrdí, že to jde.

Na druhou stranu to, že to jde, ještě neznamená, že to tak je správně 🙂
Takže 3.3V převodník je jistota.

Napsat komentář