Building An ESP32 Smart Power Strip From Scratch

Surely the most straightforward way of creating a smart power strip would be to take an existing model and hack in some relays that you could fire with a WiFi-enabled microcontroller. But where’s the fun in that? Instead of repurposing a commercial power strip for his recent project, [Md Raz] decided to just build the whole thing himself.

The project started with a 3D printed enclosure that could hold the electronics and three panel mount sockets. The use of heat-set inserts makes it a bit more robust for future upgrade work, but otherwise it’s a fairly simple rectangular design. Nobody ever said a power strip had to be pretty, right? In addition to the panel mount sockets, there’s also a AC-DC converter to step mains voltage down to 5 VDC for the ESP32.

In addition to the microcontroller, the custom PCB in the power strip holds a trio of MOSFETs connected to AQH2223 solid state relay (SSR) chips. Once the ESP32 toggles the line attached to each MOSFET, the indicator LED above the outlet goes on and the appropriate SSR is thrown to turn on the power. With a simple web interface running on the microcontroller, all three outlets can be independently controlled from any device with a web browser.

If you’d like to limit your interaction with mains voltages, then we’ve seen some projects that commandeer the low-voltage side of a commercial smart power strip. But remember, putting a Raspberry Pi inside of a power strip might seem suspicious to some folks.

A 50W Speaker Made Of Light Bulbs

When we think of a speaker, we are likely to imagine a paper cone with a coil of wire somewhere at the bottom of it suspended in a magnetic field. It’s a hundred-plus-year-old technology that has been nearly perfected. The moving coil is not however the only means of turning an electrical current into a sound. A number of components will make a sound when exposed to audio, including to the surprise of [Eric], the humble incandescent light bulb. He discovered when making an addressable driver for them that he could hear the PWM frequency when they lit up, so he set about harnessing the effect for use as a speaker.

Using an ESP32 board and with a few false starts due to cheap components, he started with MIDI files and ended up with PWM frequencies. It’s an interesting journey into creating multiple PWM channels from an ESP32, and he details some of his problems along the way. The result is the set of singing light bulbs that can be seen in the video below the break, which he freely admits is probably the most awful 50 W speaker that he could have made. That however is not the point of such an experiment, and we applaud him for doing it.

For more MIDI-based tomfoolery, take a look at the PCB Tesla coil.

Continue reading “A 50W Speaker Made Of Light Bulbs”

Sparklines For Your ESP32 Projects

On a typical microcontroller project we may only have access to a relatively tiny screen. Information display can be a challenge, but it’s one that may be made easier by [0xPIT]’s ESParklines library for Espressif processors using the Arduino framework.

A sparkline is a simple line graph without annotations (like axes or units) intended to fit within the flow of text. They’re largely associated today with the statistician Edward Tufte, and if you’ve not encountered them or Tufte before then we suggest you’ll enjoy educating yourself.

It’s a simple enough library and it comes with example code. Usefully it maintains a data buffer all of its own allowing simple updating, and as well as the examples there is a YouTube video we’ve put below the fold showing graphs evolving as more information is added to them. We’re curious about one thing though, it’s billed as an ESP library, for either the ESP8266 or the ESP32, but we can’t find any ESP-specific code in there and neither could our friendly ESP-guru. Have we missed something? The comments are below if you can shed any light.

Continue reading “Sparklines For Your ESP32 Projects”

Day Clock Monitors Air Quality Of The Great Indoors

As the world settles into this pandemic, some things are still difficult to mentally reckon, such as the day of the week. We featured a printed day clock a few months ago that used a large pointer to provide this basic psyche-grounding information. In the years since then, [Jeff Thieleke] whipped up a feature-rich remix that adds indoor air quality readings and a lot more.

Like [phreakmonkey]’s original day tripper, an ESP32 takes care of figuring out what day it is and moves a 9 g servo accordingly. [Jeff] wanted a little more visual action, so the pointer moves a tad bit every hour. A temperature/humidity sensor and a separate CO₂ sensor output their readings to an LCD screen mounted under the pointer. Since [Jeff] is keeping this across the basement workshop from the bench, the data is also available from a web server running on the ESP32 via XML and JSON, and the day clock can get OTA updates.

Need a little more specificity than just eyeballing a pointer? Here’s a New Times clock that gives slightly more detail.

Tiny Laser Cutter Puts Micro Steppers To Work

The influx of cheap laser cutters from China has been a boon to the maker movement, if at the cost of a lot of tinkering to just get the thing to work. So some people just prefer to roll their own, figuring that starting from scratch means you get exactly what you want. And apparently what [Mike Rankin] wanted was a really, really small laser cutter.

The ESP32 Burninator, as [Mike] lovingly calls his creation, is small enough to be in danger of being misplaced accidentally. The stage relies on tiny stepper-actuated linear drives, available on the cheap from AliExpress. The entire mechanical structure is two PCBs — a vertical piece that holds the ESP32, an OLED display, the X-axis motor, and the driver for the laser, which comes from an old DVD burner; a smaller bottom board holds the Y-axis and the stage. “Stage” is actually a rather grand term for the postage-stamp-sized working area of this cutter, but the video below shows that it does indeed cut black paper.

The cuts are a bit wonky, but this is surely to be expected given the running gear, and we like it regardless. It sort of reminds us of that resin 3D-printer small enough to fit in a Christmas ornament that [Sean Hodgins] did a while back. We’d suggest not trying to hang this on a tree, though.

Continue reading “Tiny Laser Cutter Puts Micro Steppers To Work”

Rolling Your Own LED Matrix Driver, With Copper Foil Tape To The Rescue

It all started when [Damien Walsh] got his hands on some surplus LED boards. Each panel contained 100 mini-PCBs hosting a single bright LED that were meant to be to be snapped apart as needed. [Damien] had a much better idea: leave them in their 20×5 array and design a driver allowing each LED to be controlled over WiFi. He was successful (a brief demo video is embedded down below after the break) and had a few interesting tips to share about the process of making it from scratch.

The first hurdle he ran into was something most of us can relate to; it’s difficult to research something when one doesn’t know the correct terms. In [Damien]’s case, his searches led him to a cornucopia of LED drivers intended to be used for room lighting or backlights. These devices make a large array of smaller LEDs act like a single larger light source, but he wanted to be able to individually address each LED.

Eventually he came across the IS32FL3738 6×8 Dot Matrix LED Driver IC from ISSI which hit all the right bases. Three of these would be enough to control the 100-LED panel; it offered I2C control and even had the ability to synchronize the PWM of the LEDs across multiple chips, so there would be no mismatched flicker between LEDs on different drivers. As for micontroller and WiFi connectivity, we all have our favorites and [Damien] is a big fan of Espressif’s ESP32 series, and used the ESP32-WROOM to head it all up.

LED pads bridged to copper tape, with Kapton (polyimide) tape insulating any crossovers.

The other issue that needed attention was wiring. Each of the LEDs is on its own little PCB with handy exposed soldering pads, but soldering up 100 LEDs is the kind of job where a little planning goes a long way. [Damien] settled on a clever system of using strips of copper tape, insulated by Kapton (a super handy material with a sadly tragic history.) One tip [Damien] has for soldering to copper tape: make sure to have a fume extractor fan running because it’s a much smokier process than soldering to wires.

A 3D-printed baffle using tracing paper to diffuse the light rounds out the device, yielding a 20 x 5 matrix of individually-controlled rectangles that light up smoothly and evenly. The end result looks fantastic, and you can see it in action in the short video embedded below.

Continue reading “Rolling Your Own LED Matrix Driver, With Copper Foil Tape To The Rescue”

Is That An ESP32 On Your Wrist?

What could you do with a dual-core 240 MHz ESP32 that supports Arduino-style programming, with 16 MB of flash, 8 MB of PSRAM, and 520 k of RAM? Oh, let’s throw in a touchscreen, an accelerometer, Wifi, and Bluetooth. Besides that, it fits on your wrist and can show the time? That’s the proposition behind Lilygo T Watch 2020. If it sounds like a smartwatch, it is. At around $25 –and you can snag the hardware from a few different places — it is not only cheaper than the latest flagship smartwatch, but it is also infinitely more hackable.

OK, so the screen is only 1.54″, but then again, it is a watch. If Arduino isn’t your thing, you can use anything else that supports the ESP32 like Micropython or even Scratch. There are variants that have LoRA and GPS, at slightly higher prices. You can also find ones with heart rate monitors and other features.

Continue reading “Is That An ESP32 On Your Wrist?”