BreezyBox: A BusyBox-Like Shell And Virtual Terminal For ESP32

Much like how BusyBox crams many standard Unix commands and a shell into a single executable, so too does BreezyBox provide a similar experience for the ESP32 platform. A demo implementation is also provided, which uses the ESP32-S3 platform as part of the Waveshare 7″ display development board.

Although it invokes the BusyBox name, it’s not meant to be as stand-alone as it uses the standard features provided by the FreeRTOS-based ESP-IDF SDK. In addition to the features provided by ESP-IDF it adds things like a basic virtual terminal, current working directory (CWD) tracking and a gaggle of Unix-style commands, as well as an app installer.

The existing ELF binary loader for the ESP32 is used to run executables either from a local path or a remote one, a local HTTP server is provided and you even get ANSI color support. Some BreezyBox apps can be found here, with them often running on a POSIX-compatible system as well. This includes the xcc700 self-hosted C compiler.

You can get the MIT-licensed code either from the above GitHub project link or install it from the Espressif Component Registry if that’s more your thing.

Continue reading “BreezyBox: A BusyBox-Like Shell And Virtual Terminal For ESP32”

Make Your Own ESP32-Based Person Sensor, No Special Hardware Needed

Home automation with high usefulness and low annoyance tends to rely on reliable person sensing, and [francescopace]’s ESPectre shows one way to do that cheaply and easily by leveraging hardware that’s already present on a common dev board.

ESPectre is an ESP32-based open source motion detector that detects movement without any cameras or microphones. It works similarly to millimeter-wave (mmWave) radar motion detectors in the sense that when a person moves, wireless signals are altered slightly as a result. ESPectre can detect this disturbance by watching and analyzing the Wi-Fi channel state information (CSI) and doing some very smart math and filtering. It’s cheap, easy to deploy and use, and even integrates with Home Assistant.

Combining a sensor like this with something else like a passive infrared (PIR) motion sensor is one way to get really robust results. But keep in mind that PIR only senses what it can see, whereas ESPectre works on WiFi, which can penetrate walls.

Since ESPectre supports low-cost ESP32 variants and is so simple to get up and running, it might be worth your time to give it a trial run. There’s even a browser-based ghost-dodging game [francescopace] put online that uses an ESPectre board plugged in over USB, which seems like a fun way to get a feel for what it can do.

ESP32 BTE Keyboard

Wired To Wireless: ESP32 Gives Your USB Keyboard Bluetooth

Few things rival the usability and speed of a full-sized keyboard for text input. For decades, though, keyboards were mostly wired, which can limit where you use your favorite one. To address this, [KoStard]’s latest project uses an ESP32 to bridge a USB keyboard to BLE devices.

The ESP32-S3 packs a ton of fantastic functionality into its small size and low price—including USB-OTG support, which is key here. Taking advantage of this, [KoStard] programmed an ESP32-S3 to host a keyboard over its USB port while connecting via BLE to devices like cellphones.

There are some slick tricks baked in, too: you can pair with up to three devices and switch between them using a key combo. Some of you might be wondering how you can just plug a microcontroller into a keyboard and have it work. The truth is, it doesn’t without extra hardware. Both the keyboard and ESP32-S3 need power. The simplest fix is a powered USB hub: it can be battery-powered for a truly mobile setup, or use a wired 5V supply so you never have to charge batteries.

We love seeing a simple, affordable microcontroller extend the usefulness of gear you already have. Let us know in the comments about other hacks you’ve used to connect keyboards to devices never designed for them.

Continue reading “Wired To Wireless: ESP32 Gives Your USB Keyboard Bluetooth”

Espressif Introduces The ESP32-E22 Wi-Fi 6E And Bluetooth Co-Processor

Espressif has unveiled its latest major chip in the form of the ESP32-E22. Officially referred to as a Radio Co-Processor (RCP), it’s intended to be used via its PCIe 2.1 or SDIO 3.0 host interface to provide wireless communications to an SoC or similar.

This wireless functionality includes full WiFi 6E functionality across all three bands, 160 MHz channel bandwidth and 2×2 MU-MIMO, making it quite a leap from the basic WiFi provided by e.g. the ESP32-S* and -C* series. There is also Bluetooth Classic and BLE 5.4 support, which is a relief for those who were missing Bluetooth Classic in all but the original ESP32 for e.g. A2DP sinks and sources.

The ESP32-E22 processing grunt is provided by two proprietary Espressif RISC-V CPU cores that can run at 500 MHz. At this point no details appear to be available about whether a low-power core is also present, nor any additional peripherals. Since the graphics on the Espressif PR article appear to be generic, machine-generated images – that switch the chip’s appearance from a BGA to an LQFP package at random – there’s little more that we can gather from there either.

Currently Espressif is making engineering samples available to interested parties after presumed vetting, which would indicate that any kind of public release will still be a while off. Whether this chip would make for an interesting stand-alone MCU or SoC along the lines of the -S3 or -P4 will remain a bit of a mystery for a bit longer.

Thanks to [Rogan] for the tip.

What To Do With A Flash-less ESP32-C3 Super Mini Board?

In an update video by [Hacker University] to an earlier video on ESP32-C3 Super Mini development boards that feature a Flash-less version of this MCU, the question of adding your own Flash IC to these boards is addressed. The short version is that while it is possible, it’s definitely not going to be easy, as pins including SPIHD (19) and SPICLK (22) and SPIQ (24) are not broken out on the board and thus require one to directly solder wires to the QFN pads.

Considering how sketchy it would be to have multiple wires running off to an external Flash IC, this raises many questions about the feasibility, as well as cost-effectiveness. Some in the comments to the video remark that instead you may as well swap the MCU with a version that does contain built-in Flash, but this is countered with the argument that a new ESP32-C3 Super Mini board with the right MCU costs as much as a loose MCU from your favorite purveyor of ICs.

Ultimately this lends some credence to calling these zero Flash Super Mini boards a ‘scam’, as their use cases would seem to be extremely limited and their Flash-less nature very poorly advertised.

Continue reading “What To Do With A Flash-less ESP32-C3 Super Mini Board?”

A photo of the cats and the generated image

The Cutest Weather Forecast On E-Ink And ESP32

There’s a famous book that starts: “It is a truth universally acknowledged that a man in possession of a good e-ink display, must be in want of a weather station.” — or something like that, anyway. We’re not English majors. We are, however, major fans of this feline-based e-ink weather display by [Jesse Ward-Bond]. It’s got everything: e-ink, cats, and AI.

The generated image needs a little massaging to look nice on the Spectra6 e-ink display.

AI? Well, it might seem a bit gratuitous for a simple weather display, but [Jesse] wanted something a little more personalized and dynamic than just icons. With that in the design brief, he turned to Google’s Nano Banana API, feeding it the forecast and a description of his cats to automatically generate a cute scene to match the day’s weather.

That turned out to not be enough variety for the old monkey brain, so the superiority of silicon — specifically Gemini–was called upon to write unique daily prompts for Nano Banana using a random style from a list presumably generated by TinyLlama running on a C64. Okay, no, [Jesse] wrote the prompt for Gemini himself. It can’t be LLM’s all the way down, after all. Gemini is also picking the foreground, background, and activity the cats will be doing for maximum neophilia.

Aside from the parts that are obviously on Google servers, this is all integrated in [Jesse]’s Home Assistant server. That server stores the generated image until the ESP32 fetches it. He’s using a reTerminal board from SeedStudio that includes an ESP32-S3 and a Spectra6 colour e-ink display. That display leaves something to be desired in coloration, so on top of dithering the image to match the palette of the display, he’s also got a bit of color-correction in place to make it really pop.

If you’re interested in replicating this feline forecast, [Jesse] has shared the code on GitHub, but it comes with a warning: cuteness isn’t free. That is to say, the tokens for the API calls to generate these images aren’t free; [Jesse] estimates that when the sign-up bonus is used up, it should cost about fourteen cents a pop at current rates. Worth it? That’s a personal choice. Some might prefer saving their pennies and checking the forecast on something more physical, while others might prefer the retro touch only a CRT can provide. 

WCH CH32M030: Another Microcontroller To Watch Out For

One of the joys of writing for Hackaday comes in following the world of new semiconductor devices, spotting interesting ones while they are still just entries on manufacturer websites, and then waiting for commonly-available dev boards. With Chinese parts there’s always a period in which Chinese manufacturers and nobody else has them, and then they quietly appear on AliExpress.

All of which brings us to the WCH CH32M030, a chip that’s been on the radar for a while and has finally broken cover. It’s the CH32 RISC-V microcontroller you may be familiar with, but with a set of four half-bridge drivers on board for running motors. A handy, cheap, and very smart motor controller, if you will.

There’s been at  least one Chinese CH32M030 dev board (Chinese language) online for a while now, but the one listed on AliExpress appears to be a different design. At the time of writing the most popular one is still showing fewer than 20 sales, so we’re getting in at the ground floor here.

We think this chip is of interest because it has the potential to be used in low price robotic projects, replacing as it does a couple of parts or modules in one go. If you use it, we’d like to hear from you!