In de maker/ hacker community werd vorig jaar de ESP8266 chip enorm populair voor veel projecten. Dit was niet vreemd, want de ESP8266 is een microcontroller met ingebouwde WiFi radio. Een module met de ESP8266 is voor minder dan €5 te verkrijgen en biedt voldoende functionaliteit voor veel WiFi projecten.

Vorige maand is bij Espressif (de makers van de ESP8266), de productie van de ESP32 gestart. Dit is de grote broer van de ESP8266. De ESP32 is op ieder vlak een verbetering van de ESP8266. Met twee 32-bit Xtensa 108 Mini cores op maximaal 240MHz is er ruim voldoende rekenkracht voor de meeste embedded applicaties. De ESP32 heeft 416KB RAM en 128KB ROM, maar voor opslag van de instructies en data moet er gebruik gemaakt worden van extern flashgeheugen.

ESP32 blokdiagram

Blokdiagram van de ESP32

Rekenkracht is mooi, maar waar het om draait in embedded applicaties zijn I/O en peripherals. De ESP8266 schiet hier enorm tekort met slechts 1 ADC pin en enkele GPIO’s. Dit moeten ze zich bij Espressif ook hebben gerealiseerd, want de ESP32 biedt enorm veel peripherals (hieronder opgesomd). Deze peripherals kunnen flexibel naar buiten gebracht worden over maar liefst 36 pinnen. Voor iedere applicatie zijn de ideale peripherals dus in te stellen.

De peripherals zijn:

  • Een 12-bit ADC met 16-kanaals multiplexer met instelbare versterking
  • Twee 8-bit DACs
  • Zestien timerkanalen
  • 10 inputs voor touch sensoren
  • Een veelvoud aan digitale bussen: 2 stuks I2C, 4 maal SPI, 2 keer UART, CAN, Ethernet (met kabel) en twee SPI interfaces
  • Last but not least biedt de ESP32 Bluetooth 4.2

Oneindige mogelijkheden

Het ligt natuurlijk voor de hand om een chip zoals de ESP32 te gebruiken voor Internet of Things applicaties. Meet bijvoorbeeld gas en stroomverbruik en stuur dit direct vanuit de meterkast over WiFi naar de cloud. Maar Espressif laat zien dat er ook andere mogelijkheden zijn, zoals het draaien van een NES emulator:

Een andere mogelijkheid is om een netwerk MP3 speler te ontwikkelen met support voor WiFi en Bluetooth. Voor de ESP32 zijn de mogelijkheden werkelijk oneindig.

Software ontwikkeling

Met de hardware van de ESP32 zit het wel goed, maar zonder goede software is de hardware nutteloos. Bij de ESP8266 was het ontwikkelen van goede software lastig. In het begin was er enkel documentatie in het Chinees en dit is later niet heel veel verbeterd.

Gelukkig lijkt dit met de ESP32 wel goed te komen. Espressif heeft al een SDK vrijgegeven die verschillende tools bevat een een OS gebaseerd op freeRTOS.

Daarnaast is er een versie van OpenOCD beschikbaar, waardoor het mogelijk wordt om te debuggen met breakpoints en zelfs een stacktrace.

Ook wordt er gewerkt aan Arduino compatibiliteit, zodat er van de Arduino tools gebruik gemaakt kan worden.

Aan de slag!

Als je helemaal hier bent gekomen, dan kun je waarschijnlijk niet wachten om te beginnen met de ESP32. Kleine bedrijven en hobbyisten zullen vooral interesse hebben in modules met daarop de ESP32, een paar MB flashgeheugen en een WiFi antenne. Omdat de ESP32 pas vorige maand op de markt is gekomen, zijn er nog bijna geen modules verkrijgbaar. De enkele modules die wel verkrijgbaar zijn, raken binnen enkele minuten uitverkocht. Over een ruime maand zal de verkrijgbaarheid beter worden en dan kan iedereen beginnen met hobbyen, ontwikkelen of programmeren.

WROOM-03 ESP32 module

De WROOM-03 is de ESP32 module van Espressif.

De ESP8266 was een enorm succes afgelopen jaar. Met de ESP32 heeft Espressif een waardige opvolger op de markt gebracht die alle zwakke punten van zijn voorganger aanpakt. Of dat de ESP32 de wereld gaat veranderen weet ik niet, maar dat er veel mooie projecten en producten uit voort zullen komen staat nu al vast.

Dit artikel is geschreven op 11 oktober 2016