The result is an internet-enabled smoke detector module mounted on the side of my 3D printer. Now, in the event that the mainboard catches fire (not as unlikely on an Anet A8 as it should be), this snazzy box will start beeping incessantly, and I'll get a text message on my phone.
I had planned to wire up a relay so that I could cut the power to the printer too, and I got as far as wiring it to the system on the breadboard with no problems. But, when everything was soldered up, connecting the relay seemed to prevent the ESP32 from starting up at all. The red power light stayed on, but the program never started, and I couldn't connect it to a computer either. Removing the relay made it work perfectly again so I decided to just leave it off. (that's what the stray wire leading from the bottom left of the back of case is for, if anyone was wondering)
This was my first time doing anything with an arduino-type controller, so even though it doesn't do everything I'd wanted it to, I'm not too upset about it. I think I learned a lot (particularly about how bad I am at soldering ), and I had a lot of fun doing it.
1. ESP32 - $10.99 from Amazon
2. MQ-2 Smoke Sensor Board - $1.15 from Ebay (price has since increased a few cents)
3. Buzzer Module - $0.76 (USD) from Ebay
4. Relay Board: $0.76 (USD) from Ebay
5. Reset Button - I happened to have one, but here's some similarish ones for $0.79 (USD) on Ebay
6. ~83g of filament @ $23/kg - $1.91
7. Assorted bits of wire, solder, and hot glue - I dunno, $2? We'll go with that.
And that brings the total to just $18.36! I guess that's the advantage of sorting by lowest price on ebay and not caring about shipping times.
More photos & demonstration below!