Single-Button Keyboard Has Multiple Uses

Well now why would I want a single-button keyboard, you might be asking yourself. We say it all depends on how you build the thing, and how you program it. Would you believe that the MagiClick by [Modular] is capable of showing live weather information or the date and time, acting as animated dice, or being a stopwatch and Pomodoro timer? Now you’re beginning to understand.

Before we get much further, yes, this bad boy has two additional buttons on the sides. But the spirit of the thing is in the single large switch in the middle. It’s hiding beneath the 0.85″ 128×128 display, which is protected from pressure and fingerprints by that Pop-o-Matic bubble over the top. While the big button is the main operator used to access the function options, the side buttons are used as auxiliaries to exit and return to the home screen.

MagiClick is based on the ESP32-S3 and is designed to run on CircuitPython. In addition to everything else packed into this thing, there are blinkenlights and a small speaker inside, plus a GPIO expansion header around back. Everything is available on GitHub if you want to build your own.

Not enough keys for you? Well, here’s one with two.

ESP32 Drives Tiny FM Radio

Even as music streaming services and podcast apps dominate most of our listening time, it’s still a great idea to keep a radio on hand, if for nothing else than in emergency situations. After all, blizzards, hurricanes, and other natural disasters can quickly take out both home and mobile Internet access. If you’d like to have an FM radio with the absolute smallest footprint, take a look at this one built around an ESP32.

While the radio uses the ESP32 as the main control board hosted by a TTGO T-Display board which adds a 1.14 inch ST7789V IPS panel, it also makes use of the TEA5767 chip for handling the FM radio signals. As [Volos Projects] has it programmed, the ESP32 stores five preset channels which can be toggled using two buttons at the bottom of the device. There’s also some circuitry to handle output to headphones or a stereo.

For making the radio even smaller, some of the audio processing could be done on the ESP32 instead, although its much simpler to take a slightly larger footprint and offload this to an audio processing chip. Since the source code for this project is open, modifications could be done including adding seek/tune functionality instead of relying only on presets. If you’re not building this for emergencies, though, and your entire area is dominated by cookie cutter corporate-owned radio stations, an ESP32 with an internet connection is great for accessing better radio stations around the world.

Continue reading “ESP32 Drives Tiny FM Radio”

How Small Can The ESP32 Get?

At its core, the ESP32 chip is not much more than an integrated circuit, a huge mass of transistors sealed inside an epoxy resin package with some leads. Of course, most of us won’t buy discrete ESP32 chips with no support circuitry since it’s typically easier and often not that much more expensive to get them paired with development boards of some type for easy access to things like USB and GPIO. But these tiny chips need little in the way of support to get up and running as [Paul] demonstrates with this tiny ESP32 board.

The project started as a challenge for [Paul] to build the smallest ESP32 that would still function. That means carving away nearly everything normally found accompanying one of these chips. There is no charging circuitry, only one of the GPIO pins is accessible, and it even foregoes the WiFi antennas which eliminates the major reason most people would reach for this chip in the first place. But at this form factor even without wireless capabilities it still blows other chips of this stature, like the ATtiny series, out of the water.

Even though [Paul] built it as a challenge, it goes a long way to demonstrate what’s really needed to get one of these chips up and running properly. And plenty of projects don’t need a ton of I/O or Wi-Fi either, so presuming these individual chips can be found cheaply and boards produced for various projects its an excellent way to minimize size and perhaps even power requirements. You can make these boards even smaller than a USB-A connector if you want to take this process even further, too.

Continue reading “How Small Can The ESP32 Get?”

Programming A Poker Game With GPT Help

Although ChatGPT generated a huge amount of hype around replacing white collar workers completely when it was first released to the public, the general consensus now is that it won’t outright replace anyone yet, but rather people who know how to use it as a tool will replace those who don’t. Getting started with it is not too hard, either, but you’ll of course need a project to work on to familiarize yourself with the tool. [Volos Projects] gave himself the challenge of writing a poker game using ChatGPT not as the opposing player, but as a co-designer in order to learn more about it as an assistant.

The poker game is being built on an ESP32 board with a built-in AMOLED screen. Five buttons are wired to the microcontroller to allow the player to select which cards to discard and which to keep. The bet for each hand can be raised or lowered much like the tabletop poker games often seen in bars and restaurants. To program it, though, ChatGPT was used to help design the code at each step of the way, first describing the overall goal and then building each function one-by-one like shuffling the deck, dealing the hand, and then replacing and dealing new cards.

For anyone who hasn’t yet explored using ChatGPT to help design their programming projects, this effort goes a long way to showing just how useful a tool it can be. For more complex tasks, though, it does take a little bit of knowledge on the part of the user because ChatGPT can often turn out nonsense or factually inaccurate information, but at least in a programming environment you’ll generally find out quickly when that happens. It’s not just a useful tool for writing programs, either. It can accomplish a lot of ancillary tasks related to programming as well, even if it’s not writing the code directly.

Thanks to [Peter] for the tip!

Continue reading “Programming A Poker Game With GPT Help”

Streaming Video From An ESP32

The ESP32, while first thought to be little more than a way of adding wireless capabilities to other microcontrollers, has quickly replaced many of them with its ability to be programmed as its own platform rather than simply an accessory. This also paved the way for accessories of its own, such as various sensors and even a camera. This guide goes over taking the input from the camera and streaming it out over the network to multiple browsers.

On the server side of things, the ESP32 and its attached camera are set up with MQTT, a lightweight communications protocol which uses a publish/subscribe model to send information. The ESP32 is configured to publish its images only, but not subscribe to any other nodes. On the client side, the browser runs a JavaScript program which is able to gather these images and stitch them together into a video.

This can be quite a bit of data to send out over the ESP32’s compact hardware, so there are some tips and tricks for getting more out of these little devices, including using an external antenna for better Wi-Fi signal, or omitting it entirely in favor of Ethernet. As far as getting a lot out of a tiny microcontroller, though, leveraging MQTT really helps the ESP32 go a long way. These chips have come along way since they were first introduced; they’re powerful enough to act as 8-bit gaming consoles too.

Thanks to [Surfskidude] for the tip!

Heat Pump Control That Works

Heat pumps are taking the world by storm, and for good reason. Not only are they many times more efficient than electric heaters, but they can also be used to provide cooling in the summer. Efficiency aside, though, they’re not perfectly designed devices, largely with respect to their climate control abilities especially for split-unit setups. Many of them don’t have remotely located thermostats to monitor temperature in an area, and rely on crude infrared remote controls as the only user interface. Looking to make some improvements to this setup, [Danilo] built a setup more reminiscent of a central HVAC system to control his.

Based on an ESP32 from Adafruit with an integrated TFT display, the device is placed away from the heat pump to more accurately measure room temperature. A humidity sensor is also included, as well as an ambient light sensor to automatically reduce the brightness of the display at night. A large wheel makes it quick and easy to adjust the temperature settings up or down. Armed with an infrared emitter, the device is capable of sending commands to the heat pump to more accurately control the climate of the room than the built-in controls are able to do. It’s also capable of logging data and integrating with various home automation systems.

While the device is optimized for the Mitsubishi heat pumps that [Danilo] has, only a few lines of code need to be changed to get this to work with other brands. This is a welcome improvement for those frustrated with the inaccurate climate controls of their heat pumps, and since it integrates seamlessly into home automation systems could also function in tandem with other backup heat sources, used in cold climates when it’s too cold outside to efficiently run the heat pump. And, if you don’t have a heat pump yet, you can always try and build your own.

An Open Source Mobile Phone Based On The ESP32

As microcontrollers become ever faster and cheaper, something we’ve been expecting has been an open source smartphone based not upon a high-end chip, but on a cheap commodity one. In the electronic badge arena we’ve come pretty close, but perhaps it’s left to [Gabriel Rochet] to deliver the first one that brings everything together. His Paxo phone is now on version 4, and while the French-language website link stubbornly resists translation with Google translate, English speakers can find a description of its capabilities along with the software in a GitHub repository.

The hardware is surprisingly straightforward, with a resistive touch screen and a PCB featuring power management, an ESP32 main processor, and a GSM module. The 2G connectivity may not be the fastest, or even available in your country, but otherwise the feature set looks more than reasonable for a basic mobile phone.

We like this project a lot, because as we said it starts to deliver on the promise of the 2018 EMF badge and the 2022 MCH badge. We think the former badge’s designers might find something of interest in it.