esp32
my go-to microcontroller for wifi projects. much more powerful than arduino but still easy to program.
why esp32
- dual core, fast enough for real applications
- built-in wifi and bluetooth
- tons of GPIO pins
- arduino IDE support makes it familiar
- cheap, like $3 for a dev board
my typical setup
i usually grab the ESP32-DevKitC or similar. has usb-c, good pin layout, onboard led.
programming through arduino IDE or platformio. prefer platformio for bigger projects.
common patterns i use
- web server for device control
- mqtt for home automation
- deep sleep for battery projects
- capacitive touch instead of buttons
libraries i always reach for
- WiFi.h for connectivity
- WebServer.h for simple web interfaces
- PubSubClient for mqtt
- Preferences for storing settings
gotchas i learned
- gpio 0, 2, 15 have bootstrap issues
- adc2 pins don't work with wifi active
- brownout detector can cause random resets
- flash button is gpio 0, useful for input
project ideas
- weather station that posts to web
- smart switches for lights
- sensor nodes around the house
- camera projects with esp32-cam
esp32 hits the sweet spot between power and simplicity. way more capable than arduino, not as complex as raspberry pi.