Dog Plays Chess On ESP32

The ESP32 is s remarkably powerful microcontroller, where its dual-core processor and relatively high clock speed can do some impressive work. But getting this microcontroller designed for embedded systems to do tasks that would generally be given to a much more powerful PC-type computer takes a little bit more willpower. Inspired by his dog, [Folkert] decided to program an ESP32 to play chess, a famously challenging task for computer scientists in the past. He calls this ESP32 chess system Dog.

One of the other major limitations of this platform for a task like this is memory. The ESP32 [Folkert] is using only has 320 kB of RAM, so things like the transposition table have to fit in even less space than that. With modern desktop computers often having 32 or 64 GB, this is a fairly significant challenge, especially for a memory-intensive task like a chess engine. But with the engine running on the microcontroller it’s ready to play, either in text mode or with something that can use the Universal Chess Interface (UCI). A set of LEDs on the board lets the user know what’s going on while gameplay is taking place.

Continue reading “Dog Plays Chess On ESP32”

ESP32 Powers DIY Smart Energy Meter

Energy is expensive these days. There’s no getting around it. If, like [Giovanni], you want to keep better track of your usage, you might find value in his DIY energy meter build.

[Giovanni] built his energy meter to monitor energy usage in his whole home. An ESP32 serves as the heart of this build. It’s hooked up with a JSY-MK-194G energy metering module, which uses a current clamp and transformer in order to accurately monitor the amount of energy passing through the mains connection to his home. With this setup, it’s possible to track voltage, current, frequency, and power factor, so you can really nerd out over the electrical specifics of what’s going on. Results are then shared with Home Assistant via the ESPHome plugin and the ESP32’s WiFi connection. This allows [Giovanni] to see plots of live and historical data from the power meter via his smartphone.

A project like this one is a great way to explore saving energy, particularly if you live somewhere without a smart meter or any other sort of accessible usage tracking. We’ve featured some of [Giovanni]’s neat projects before, too.
Continue reading “ESP32 Powers DIY Smart Energy Meter”

ESP32 Hosts A USB Keyboard In This Typewriter

Did you know the ESP32 can be a USB host? Well it can, and [Volos] uses host mode to build this fun little word processor.

The venerable ESP32 has a well-known USB device mode. Anyone who has programmed one has used it. A bit less known is the microcontroller’s ability to host USB devices. These days, operating as a USB device is relatively simple. But acting as a host is a much more complex task. The ESP32 has a software host that works — but only for Human Interface Devices (HID).  Human interface devices generally are keyboards, mice, trackballs, and similar devices that handle data relatively slowly, forming the interface with us simple humans.

[Volos] uses the EspUsbHost Arduino library for this project. The library makes USB host mode simple to use. Another piece of the puzzle is the LCD board [Volos] picked. It has a dual-role USB Type-C port, meaning the hardware to switch roles is baked in. Other boards may require some modifications or special cables to make things work.

The software is the best part of this build. [Volos] implemented a simple word processor. It can save and load files from a microSD card and, of course, edit text — all controlled by a USB keyboard. He had to use a 4-bit palette to save memory. This gives the device a retro charm that reminds us of Don Lancaster’s TV Typewriter. The source for this and all of [Volos] projects can be found on GitHub. Now, all we need is a spell check that can fit in the memory constraints of the ESP32! We have to admit the chip has a lot of potential USB tricks.

Continue reading “ESP32 Hosts A USB Keyboard In This Typewriter”

FM Transmitter Remotely Controlled Via ESP32

Imagine you’ve got an FM transmitter located some place. Wouldn’t it be mighty convenient if you could control that transmitter remotely? That way, you wouldn’t have to physically attend to it every time you had to change some minor parameters! To that end, [Ricardo Lima Caratti] built a rig to do just that.

The build is based around the QN8066—a digital FM transceiver built into a single chip. It’s capable of transmitting and receiving anywhere from 60 MHz to 108 MHz, covering pretty much all global FM stereo radio bands. [Ricardo] paired this chip with an ESP32 for command and control. The ESP32 hosts an HTTP server, allowing the administration of the FM transmitter via a web browser. Parameters like the frequency, audio transmission mode, and Radio Data Service (RDS) information can be controlled in this manner.

It’s a pretty neat little build, and [Ricardo] demonstrates it on video with the radio transmitting some field day content. We’ve seen some other nifty FM transmitters over the years, too. Video after the break.

Continue reading “FM Transmitter Remotely Controlled Via ESP32”

Tiny LoRa GPS Node Relies On ESP32

Sometimes you need to create a satellite navigation tracking device that communicates via a low-power mesh network. [Powerfeatherdev] was in just that situation, and they whipped up a particularly compact solution to do the job.

As you might have guessed based on the name of its creator, this build is based around the ESP32-S3 PowerFeather board. The PowerFeather has the benefit of robust power management features, which makes it perfect for a power-sipping project that’s intended to run for a long time. It can even run on solar power and manage battery levels if so desired. The GPS and LoRa gear is all mounted on a secondary “wing” PCB that slots directly on to the PowerFeather like a Arduino shield or Raspberry Pi HAT. The whole assembly is barely larger than a AA battery.

It’s basically a super-small GPS tracker that transmits over LoRa, while being optimized for maximum run time on limited power from a small lithium-ion cell. If you’re needing to do some long-duration, low-power tracking task for a project, this might be right up your alley.

LoRa is a useful technology for radio communications, as we’ve been saying for some time. Meanwhile, if you’ve got your own nifty radio comms build, or anything in that general milleu, don’t hesitate to drop us a line!

Solve: An ESP32-Based Equation Solving Calculator

We’re suckers for good-looking old-school calculators, so this interesting numerical equation-solving calculator by [Peter Balch] caught our attention. Based around the ESP32-WROOM-32 module and an LCD, the build is quite straightforward from an electronics point of view, with the main work being on the software side of things.

A custom keyboard was constructed on Veroboard using a handful of tactile switches arranged in a charlieplexing array to minimize the number of IO pins consumed. For the display, an off-the-shelf 240×320 ILI9341-based module hooked up by SPI was used. A single lithium cell was used for the power supply, connected to a USB

You don’t need much to make a usable keyboard.

charger module, but you could just as easily substitute a 3 x AA battery box. The case was designed in DesignSpark mechanical and 3D printed. It’s unclear what keyboard version they settled on; there are options for one with keycaps and one without. Regardless, a 3D-printed frame sits atop the keyboard circuit, with the graphics printed on photo paper and a protective coversheet on top. Continue reading “Solve: An ESP32-Based Equation Solving Calculator”

An ESP32 Delivers Perfect Slot Car Control

If your memory of slot cars as a childhood toy is of lightweight controllers with wire-wound rheostats inside, then you’re many years behind the state of the art when it comes to competitive slot car racing. In that world the full force of modern electronics has been brought to keeping the car on the road, and as an example here’s [Maker Fabio] with a cutting edge controller that has an ESP32 at its heart.

It’s obvious that a huge amount of attention has gone into both the physical design of the unit and its software, and the result speaks for itself. The trigger sits on a proper bearing, and the sensor is a Hall-effect device on the PCB. The firmware was written in the Arduino IDE, and through the trigger and a rotary encoder all of its options can be configured on a small OLED display. Individual settings can be configured for each car, and we’re treated to a full explanation of this in the video.

We are told that the files for both software and hardware will be released in due course, as this is still a work in progress for the moment. The video meanwhile provides ample demonstration, so we look forward to the release.

It’s a surprise to find relatively few projects from the slot car world on these pages, given the amount of potential there is in them for electronic improvement. Here’s one from a few years ago though.

Continue reading “An ESP32 Delivers Perfect Slot Car Control”