I've been using various microcontrollers and single-board computers since 2013. I started with an Arduino Uno, and I
fell in love with how simple it was to write real-time code that runs on bare metal on a tiny chip. Despite the
limited RAM and storage space, it didn't seem restrictive at all! I've used a couple of Uno boards for various projects:
a remote thermostat for my room A/C (at my dad's house), a "universal" TV remote, a
modem rebooter, a
furnace / AC control unit (at my current house),
and... a clock. That I can update and set the time over bluetooth.
Of course, other manufacturers saw the success of the Arduino, and started making their own boards, either directly compatible
with existing Arduino boards, or programmable through the Arduino IDE. In 2017, I got my
Macchina M2, and started working on what would become my
Volt mod project.
The problem
Last week, I was talking to my boyfriend about the Wifi-controlled outlets I had purchased years ago and reverse-engineered,
and I lamented the fact that I could no longer get the exact same model and would have to do all that hacking all over again
with a new model. Of course, if I could just build my own, it would be a lot easier. The problem is, Arduino boards with Wifi
are expensive, right?
The solution
Let me introduce you to my new favorite microcontroller: The ESP8266.
Built-in Wifi support, decently fast, plenty of RAM, a good amount of I/O pins, and dirt cheap. I got a pack of 3 for about
$15. Wifi is super easy to use, especially if you're just doing UDP.
For this Wifi-controlled outlet project, I would also need some relays. I bought a pack of 4 dual-relay boards which are
3.3v I/O compatible. I already had an outlet box with a couple of outlets and a bunch of wire. Hooking it all up was very
straightforward. The code for the
ESP8266 is very simple and fits on a single page.
This is definitely going to be my go-to microcontroller for projects going forward. If you're interested, just search for
"ESP8266" or "NodeMCU" on your favorite online retailer.