Dag forumleden van Circuits Online.
Recent bij de BACO een goedkope ESP32-S2-WROOM microcontroller gekocht.
De programmeerbordjes zijn bij veel winkels helaas nu al een week uitverkocht (het ding heeft alleen een UART poort, geen USB poort).
Nou vroeg ik mij af of ik met een Arduino Nano ESP32 de S2 kan programmeren: beide zijn 3.3V types, dus ik heb geen level shifter nodig. Ik kon hier op het forum niet echt iets over vinden met de zoekfunctie.
Het internet in z'n algemeen is ook lastig: men gaat ofwel uit van de versie mét USB connector of mét programmer (gebaseerd op de CP2102).
Iemand die hier net even meer verstand van heeft dan ik? 
Ik plaats trouwens een foto van de module omdat deze volgens het datablad (https://cdn.sparkfun.com/assets/b/4/8/0/c/esp32-s2-wroom_module_datash…) het achtervoegsel -I hoort te dragen vanwege de aanwezige antenneconnector, maar dat op het printje zelf niet doet aan de achterzijde (terwijl ik op foto's van internet dat wél genoemd zie worden, namaak misschien?):
marcob
Honourable Member
People tend to overestimate what can be done in one year and to underestimate what can be done in five or ten years
Deze uitvoering is niet echt handig als je met ESP32 wilt beginnen. Deze soldeer je rechtstreeks op een print.
Maar past deze niet:
https://www.tinytronics.nl/nl/development-boards/accessoires/adapter-b…
Als je met een ESP32 wil beginnen, pak je eerder zoiets:
https://www.tinytronics.nl/nl/development-boards/microcontroller-board…
Kun je programmeren via de USB
[Bericht gewijzigd door marcob op (38%)]
benleentje
Golden Member
Het internet in z'n algemeen is ook lastig: men gaat ofwel uit van de versie mét USB connector of mét programmer (gebaseerd op de CP2102).
In principe kan je met elke programmer die een uart poort heeft de ESP programmeren. De meeste simpeler is dan via USB naar CP2102 of CH340.
Maar met een andere Arduino of ESP32 die 2x uart erop heeft zitten en via de arduino software kan het ook. In de arduino software zit een sketch/ programma die je naar je ESP32 met USB kan uploaden zodat die ESP32 dan een programmer word.
Hoe je dat precies allemaal moet doen weet ik niet maar is wel te vinden.
Klopt, die ESP32 wordt altijd geprogrammeerd via uart. De daarvoor benodigde tools zitten ingebouwd in Expressif-ESP32-IDF en ook in de Arduino ESP32.
Soms zit ern een USB-Uart ingebouwd op de ESP32 boards, maar in dit geval moet je die zelf aanleveren. Elke willekeurige USB to ttl-uart volstaat, al moet je wel opletten dat de signaal spanning beperkt blijft tot 3V3.
Op maandag 14 juli 2025 17:16:03 schreef marcob:
Deze uitvoering is niet echt handig als je met ESP32 wilt beginnen. Deze soldeer je rechtstreeks op een print.
Eens, het was puur de prijs van 1 euro 50 waarom ik het deed. Het idee is om er 444 WS2812 LED's mee aan te sturen omdat ik liever geen koppeling meer maak met de voeding van die strip via de GND aan de microcontroller die weer aan de USB hangt (nare problemen mee gehad eerder).
Op maandag 14 juli 2025 17:16:03 schreef marcob:
Maar past deze niet:
https://www.tinytronics.nl/nl/development-boards/accessoires/adapter-b…

Die was ik dus niet tegengekomen. Ik zit het datablad nog even door te nemen om te zien of het ding geschikt is voor de S2.
[Edit] Dat is die niet.
Op maandag 14 juli 2025 17:16:03 schreef marcob:
Als je met een ESP32 wil beginnen, pak je eerder zoiets:
https://www.tinytronics.nl/nl/development-boards/microcontroller-board…
Kun je programmeren via de USB
Ik geef je absoluut gelijk. Zoals eerder aangegeven draaide het om de prijs, omdat het ding straks niet per se extreem gekke dingen hoeft te doen en in een behuizinkje zit en met m'n telefoon te benaderen is voor de verlichting.
benleentje
Golden Member
Die was ik dus niet tegengekomen. Ik zit het datablad nog even door te nemen om te zien of het ding geschikt is voor de S2.
Alle ESP modules in deze vorm zijn ervoor geschikt, maar het is inderdaad goed om alles zelf te controleren daar leer je van en soms zijn er wel verschillen.
Ik geef je absoluut gelijk. Zoals eerder aangegeven draaide het om de prijs,
Dat is ook waar. Daarom is er ook deze module gemaakt. Er zit dan alleen het minimaal op en de rest moet je dan wel zelf voor zorgen. Dus voor een paar modules vind ik dat te lastig en is het haast niet de moeite waard, maar bij veel van die modules is het een stuk goedkoper.
En een ander voordeel is dat je makkelijker je eigen PCB kan ontwerpen en er dan zo module op kan zetten of dat het gewoon heel erg klein is en bijna overal in past.
[Bericht gewijzigd door benleentje op (48%)]
Een ESP32 is niet echt handig voor WS2812. De timing daarvan is erg kritisch en dat is nou net niet een sterk punt van een ESP32. Daar heb je al snel last van interrupts en task switches die de timing verstoren.
rudig76
Even iets anders www.echteworst.nl
Op maandag 14 juli 2025 20:25:48 schreef deKees:
Een ESP32 is niet echt handig voor WS2812. De timing daarvan is erg kritisch en dat is nou net niet een sterk punt van een ESP32. Daar heb je al snel last van interrupts en task switches die de timing verstoren.
Flash de esp met de WLED software en je hebt een geweldige programmeerbare ledstrip. Compleet met app erbij om de boel aan te sturen.
Het kan wel inderdaad. En als je de juiste library hebt dan wordt het gemakkelijk. Maar dan zal die library de problemen wel moeten oplossen.
WLED zegt me niks. Heb je daar een linkje van?
Op maandag 14 juli 2025 20:56:08 schreef deKees:
Het kan wel inderdaad. En als je de juiste library hebt dan wordt het gemakkelijk. Maar dan zal die library de problemen wel moeten oplossen.WLED zegt me niks. Heb je daar een linkje van?
Dit was eigenlijk precies de reden om ermee te willen rommelen, samen met Hyperion (draadloze ambilight van je computerscherm).
Op maandag 14 juli 2025 19:30:21 schreef benleentje:
[...]Alle ESP modules in deze vorm zijn ervoor geschikt, maar het is inderdaad goed om alles zelf te controleren daar leer je van en soms zijn er wel verschillen.
De S2 heeft meer pinnen aan zowel de linker en rechterzijde als de onderkant. Daarbij verschilt de volgorde ook nog eens: links zit in dat programmeerinsteekding de Enable pin. Die zit op de S2 rechts.
Op maandag 14 juli 2025 20:25:48 schreef deKees:
Een ESP32 is niet echt handig voor WS2812. De timing daarvan is erg kritisch en dat is nou net niet een sterk punt van een ESP32. Daar heb je al snel last van interrupts en task switches die de timing verstoren.
Ik begreep juist dat ze er beter geschikt voor zijn dan de meeste Arduino's, en het ook bij de Arduino's alweer zo is dat alle 32u4 modellen of zelfs de Due (3.3V apparaat, dus level shifter nodig voor de LED-strip datalijn) beter geschikt zijn naarmate het aantal LED's toeneemt, daar de 16u2 seriele brug zo z'n beperkingen heeft.
Vooral meerdere datalijnen wordt afgeraden te proberen op een Arduino omdat de timing zo kritisch is, terwijl de ESP32 kant en klare scripts heeft om er 4 tegelijkertijd te kunnen aan te sturen.
De minst vergeeflijke processor voor aansturing van die dingen die ik ken is de Raspberry Pi, daar schijnt de timing pas echt lastig te zijn.
[Bericht gewijzigd door Emittor op (35%)]
benleentje
Golden Member
De S2 heeft meer pinnen aan zowel de linker en rechterzijde als de onderkant.
Maar dan past het er ook niet in toch?
rudig76
Even iets anders www.echteworst.nl
De 9 pads aan de onderkant van de chip kan ik niet van vinden waar die voor zijn. Staat op de foto’s ook geen beschrijving bij.
De volgende site geeft een minimale setup van rand componenten weer, wellicht heb je daar wat aan.
https://oshwlab.com/Miraculix200/esp32-s2-test_copy
Verder is iedere arduino / esp / iot achtige chips natuurlijk te gebruiken als usb naar serieel omzetter. Waarmee je dan de esp chip kan programmeren. Het is alleen ff prutsen.
Op zich is programmeren van zo een ESP32 module eenvoudig.
Gebruikelijk zijn twee extra transistoren om de reset en boot pinnen te bedienen met de DTR en RTS signalen:
Het gescheiden houden van voedingsdomeinen is bij grote stromen, dit zal gaan over tientallen A, een goed plan. Maar haalt een gewone snelle optocoupler zoals de 6N137 of anders een moderne GMR coupler dat niet? Ik zou enkel RF kiezen als dat verder ook gewenst is. Conceptueel eenvoudiger.
[offtopic]
Vroeger maakte ik praktisch alles "zelf". In 2018 maakte ik dit ESP32 boardje met een soortgelijke module, UART, lan en POE toen dat nog niet compleet te krijgen was. Leuk om een keer gedaan te hebben, maar zeker het met de hand assembleren is mijn hobby niet.
Nu vind ik dat de moeite niet meer, de reflow oven heb ik verkocht. Veel van mijn huidige ontwerpen (in deze hoek) zijn een stapel breakout boardjes, soms op een eigen drager board.
Het gaat er mij om dat het goed werkt, fysiek klein of nog goedkoper in grote series is niet van belang.
Het materiaal is in mijn perceptie toch bijna gratis, en tijd en aandacht zijn dat beslist niet.
Op maandag 14 juli 2025 23:19:39 schreef benleentje:
[...]Maar dan past het er ook niet in toch?
Mijn edit was niet zo duidelijk in mijn initiële reactie. Excuus
.
Op dinsdag 15 juli 2025 10:18:48 schreef Aart:
Het gescheiden houden van voedingsdomeinen is bij grote stromen, dit zal gaan over tientallen A, een goed plan. Maar haalt een gewone snelle optocoupler zoals de 6N137 of anders een moderne GMR coupler dat niet? Ik zou enkel RF kiezen als dat verder ook gewenst is. Conceptueel eenvoudiger.
Ik heb zelf nog nooit met een optocoupler gewerkt, dus misschien zeg ik nu iets vreselijk stoms, maar: werkt dat ook voor het scheiden van massa's? Volgens mij niet toch?
(En ja, het gaat inderdaad om ehm "ziek veel" stroom. Ik houd bij addresseerbare LED's altijd rekening met een datafout waardoor de volledige strip volledig aan gaat. In dit geval praten we dan over zo'n 36 A bij 5V).
[Bericht gewijzigd door Emittor op (64%)]
Het idee van een optocoupler is dat de beide stroomkringen goed geïsoleerd van elkaar zijn, terwijl de informatie overgebracht wordt. Zo worden ze normaal gesproken ook ingezet.
De verwarring ontstaat mogelijk omdat er vandaag de dag Chineese (relais print-) ontwerpen zijn die optocouplers met een primair naar secundair doorverbonden GND als een soort signaal conditioner gebruiken. Misschien is dat behalve vreemd ook slim, het is zonder criteria niet eenvoudig beoordelen. Maar dit terzijde.
Uit "Google" kwam deze schakeling:
https://electronics.stackexchange.com/questions/661699/ws2812-15-opto-…
Die ik met een toevallig aanwezige 6N136 niet aan de praat kreeg. Volgens de scope is deze coupler veel te traag. Of dat het individu betreft heb ik niet onderzocht.
(sorry voor het mislukte screenshot, ik zag het natuurlijk pas op de pc)
Met mijn go-to snelle optocoupler, de 6N137, werkte het wel direct. Deze vereist enkel een pull-up van 1 kΩ. Met 680 Ω worden de flanken nog wat steiler.
Op breadboard; de Micro wordt gevoed uit USB, de leds uit een labvoeding.
Op woensdag 16 juli 2025 11:23:43 schreef Aart:
Het idee van een optocoupler is dat de beide stroomkringen goed geïsoleerd van elkaar zijn, terwijl de informatie overgebracht wordt. Zo worden ze normaal gesproken ook ingezet.
Ik denk dat ik het duidelijker had moeten verwoorden.
De reden dat ik voor een draadloze verbinding met de ESP32 wil gaan als het gaat om de aansturing van de LED's is omdat ik problemen heb gehad met de lekstroom van een voeding die de strip voedde.
Omdat de datalijn ergens aan moet kunnen refereren, verbind je dus de GND met die van de Arduino, en die hing vervolgens via de USB stekker weer aan de computer die de Arduino aanstuurde.
Toen ik een keer met de bekabeling bezig was, kreeg ik een pittige schok van de USB kabel en de metalen USB hub (bus-voeding) die ik links en rechts vast had.
Daartussen stond zo'n 115V potentiaalverschil.
Ik vind dat absoluut geen prettig idee daar de computer die de strip aanstuurd geen normale ATX voeding (met 230V verbinding met aarde) heeft (het is een Lenovo M720q Thinkcentre Tiny).
Het gaat me dus niet per se om scheiding van de datalijn, maar om het scheiden van de ESP32 van de computer.
marcob
Honourable Member
People tend to overestimate what can be done in one year and to underestimate what can be done in five or ten years
Voor een paar euro heb je een USB Isolator https://nl.aliexpress.com/item/1005001369085297.html
Datasnelheid gaat wel wat omlaag, maar dat in deze toepassing niet heel erg.
Ik begrijp het niet helemaal, maar vermoedelijk bedoeld u dat u de ESP uit dezelfde voeding als de ledstrip wilt voeden. Dan heeft isoleren van enkel het signaal geen zin en ontstaat wat het lek door de netfilters betreft dezelfde situatie.
USB verbindingen kunnen goed tegen deze spanningen, de connectoren hebben voorlopende GND contacten. Het gaat in mijn beleving eigenlijk nooit (?) kapot. Dat zou ook enige klachten geven.
De ESP voeden uit een stevige DC/DC converter zou nog kunnen, maar ik verwacht dat de suggestie van marcob ook goed zal werken. Op het eerste gezicht wel een wat verwarrend apparaatje, met een speed selectie en op de foto's twee verschillende versies, maar daar is vast uit te komen.
Lucky Luke
Eluke.nl | handgetypt | I'm a poor, lonesome cowboy, with a long, long way to go.
Op maandag 14 juli 2025 23:15:50 schreef Emittor:
De minst vergeeflijke processor voor aansturing van die dingen die ik ken is de Raspberry Pi, daar schijnt de timing pas echt lastig te zijn.
Jein.
Op een raspberry pi pico zou het juist heel makkelijk moeten zijn correcte timing voor elkaar te krijgen. Ook bij meerdere WS28nn-ketens parallel. Met de PIO module.
Op het type Raspberry Pi waarop raspbian of een ander OS draait wordt het lastiger. (Misschien is er een OS voor dat echt realtime I/O kan, maar het is een beetje het verkeerde type hamer voor deze maat schroef)
Op woensdag 16 juli 2025 17:20:18 schreef marcob:
Voor een paar euro heb je een USB Isolator https://nl.aliexpress.com/item/1005001369085297.html
Datasnelheid gaat wel wat omlaag, maar dat in deze toepassing niet heel erg.
Bij 444 WS2812 LED's is dat denk ik behoorlijk erg: ik kon met een Uno al niet de volledige datasnelheid halen vanwege de 16u2 brug (in de zin van dat de frames-per-seconde snelheid bleef steken rond de 28).
Van 480 Mbit/sec binnen een seriele brug naar 12 is echt ontzettend veel, vooral ook omdat we er vanuit moeten gaan dat die 12 niet volledig gebruikt zal worden.
Op woensdag 16 juli 2025 17:39:47 schreef Aart:
Ik begrijp het niet helemaal, maar vermoedelijk bedoeld u dat u de ESP uit dezelfde voeding als de ledstrip wilt voeden. Dan heeft isoleren van enkel het signaal geen zin en ontstaat wat het lek door de netfilters betreft dezelfde situatie.
Het gaat niet om hoe de ESP gevoed wordt, maar om hoe het signaal voor de LED-strips de ESP bereikt. Bij m'n vorige opstelling was er een fysieke massaverbinding via de USB verbinding met de Arduino die ik er toen voor gebruikte.
Op woensdag 16 juli 2025 17:39:47 schreef Aart:
USB verbindingen kunnen goed tegen deze spanningen, de connectoren hebben voorlopende GND contacten. Het gaat in mijn beleving eigenlijk nooit (?) kapot. Dat zou ook enige klachten geven.
Deze verbinding kende losgekoppeld een groot spanningsverschil, maar ook een hoge stroom (90mA). Ik weet het niet 100% zeker, maar er ging een zelfbouw-apparaat dat ook aan mijn computer gekoppeld is waarschijnlijk door kapot (ik merkte dat omdat het aanraken van dat apparaat maakte dat de strips aan het flikkeren sloegen en de datalijn onmiddellijk corrupt raakte en ik er een tik van kreeg).
Op woensdag 16 juli 2025 17:39:47 schreef Aart:
De ESP voeden uit een stevige DC/DC converter zou nog kunnen, maar ik verwacht dat de suggestie van marcob ook goed zal werken. Op het eerste gezicht wel een wat verwarrend apparaatje, met een speed selectie en op de foto's twee verschillende versies, maar daar is vast uit te komen.
Los van dat ik uit principe weiger om ook maar iets te bestellen bij AliExpress, komen de recensies behoorlijk problematisch over. Bij sommige mensen werkt datacommunicatie niet meer, sommige andere mensen lijken puur een apparaatje gekocht te hebben om publieke USB poorten veilig te gebruiken.
marcob
Honourable Member
People tend to overestimate what can be done in one year and to underestimate what can be done in five or ten years
Huh? Die module die ik aangeef is om je USB poort van je laptop of pc veilig aan de USB van een controller bordje te hangen. Als je een controller bordjes gebruikt, tenminste. Dus ja, die module die ik je aangaf is enkel en alleen om je USB poort te beschermen. Of ga je de strips aansturen vanuit de USB poort?
Maak eerst eens een (blok)schema hoe je alles wilt aansluiten, dan weten we waar we over praten.
Na met een ander project bezig geweest te zijn ben ik weer teruggekeerd naar dit project.
Al was het maar om te laten weten dat het (zeker ook door het advies hier) gelukt is wat ik wou doen.
Zij het echter niet via een andere ESP32, maar met een CH341 programmer (en vereiste microswitches) en esptool (Linux).
Om dat duidelijker te maken heb ik een schema bijgevoegd:
Ik kreeg het in KiCad niet voor elkaar om de Wifi-antenne erbij te tekenen, dus die heb ik er maar een beetje bij bedacht.
Bij de "gewone" Arduino's bestond er een fysieke verbinding omdat je de GND van de voeding moest verbinden met die van de Arduino.
Dat zorgde voor een lekstroom die via de USB-connector op de gehele GND van mijn computer voor problemen zorgde: de laatste keer dat ik testte raakte ik mijn geluidskaart aan (externe USB kaart met metalen behuizing).
Ik kreeg toen niet alleen een fikse tik, maar alle LED's in de strip sloegen aan het flikkeren, en het verkeer met de Arduino (via OpenRGB) raakte meteen corrupt.
Wat ik er even bij zal zeggen: de voeding kwam uit een sloopapparaat op mijn werk. Er is dus een kans dat ondanks dat de spanningen op de 3 rails stabiel zijn er mogelijk iets mis mee is.
Hoe dan ook, deze lekstroom of wat het was, die wil ik dus voorkomen door een complete scheiding van voeding van de computer, door de controller via wifi aan te sturen.