Showing a Raspberry Pi 4 board connected to an ESP32 devboard using jumper wires for the purposes of this project

ESP-Hosted Turns ESP32 Into Linux WiFi/BT Adapter

While we are used to USB WiFi adapters, embedded devices typically use SDIO WiFi cards, and for good reasons – they’re way more low-power, don’t take up a USB port, don’t require a power-sipping USB hub, and the SDIO interface is widely available. However, SDIO cards and modules tend to be obscure and proprietary beyond reason. Enter ESP-Hosted – Espressif’s firmware and driver combination for ESP32 (press release)(GitHub), making your ESP32 into a WiFi module for either your Linux computer (ESP-Hosted-NG) or MCU (ESP-Hosted-FG). In particular, ESP-Hosted-NG his turns your SPI- or SDIO-connected ESP32 (including -S2/S3/C2/C3/C6 into a WiFi card, quite speedy and natively supported by the Linux network stack, as opposed to something like an AT command mode.

We’ve seen this done with ESP8266 before – repurposing an ESP8089 driver from sources found online, making an ESP8266 into a $2 WiFi adapter for something like a Pi. The ESP-Hosted project is Espressif-supported, and it works on the entire ESP32 lineup, through an SDIO or even SPI interface! It supports 802.11b/g/n and even Bluetooth, up to BLE5, either over an extra UART channel or the same SDIO/SPI channel; you can even get BT audio over I2S. If you have an SPI/SDIO port free and an ESP32 module handy, this might just be the perfect WiFi card for your Linux project!

There are some limitations – for instance, you can’t do AP mode in the NG (Linux-compatible) version. Also, part of the firmware has blobs in it, but a lot of the firmware and all of the driver are modifiable in case you need your ESP32 to do even more than Espressif has coded in – this is not fully open-source firmware, but it’s definitely way more than the Broadcom’s proprietary onboard Raspberry Pi WiFi chip. There’s plenty of documentation, and even some fun features like raw transport layer access. Also, of note is that this project supports ESP32-C6, which means you can equip your project with a RISC-V-based WiFi adapter.

Title image from [zhichunlee].

an analog CO2 gauge with a cute face

Cute CO2 Gauge Tells You When To Crack A Window

[Cyrill] has a good home automation scheme going: there are a number of physical switches set around the place that control the essential functions. The only problem is that in the winter time, this results in a great deal of phone checking as [Cyrill] tries to monitor the CO2 level. Tired of all this screen time, [Cyrill] set about to create an incredibly cute (and useful) Co2 monitor that plainly shows the current level and how bad it is, relatively speaking.

A large servo and an ESP32-S2 make up the guts of an analog CO2 sensor.

Behind that adorable face is a DS3225 servo being driven by a Wemos S2 mini, both of which [Cyrill] happened to have handy. Although the 25 Kg servo may be complete overkill for the situation, [Cyrill] reports that it is quieter than your average AliExpress alternatives, which makes it well worth it in our book. Then it was on to Inkscape to make the gauge itself. [Cyrill] says they’re an Inkscape noob, but that face could have fooled us.

Finally, it was time to integrate it into Home Assistant to get readings from the CO2 sensors. This was easier said than done, but [Cyrill] does a nice job of explaining how to get the ESP32-S2 up and working.

If you’re out there monitoring CO levels in your home, beware of fake sensors that cropped up during the height of the pandemic and are likely still at large.

Hackaday Prize 2023: Bluetooth Spell To Speak

Have you ever known what you wanted to say but couldn’t figure out exactly how to say it? For some individuals, that’s all the time. The gap between intention and action can be a massive chasm. [Pedro Martin] is trying to help bridge that gap with a Bluetooth RPM letterboard.

[Soma Mukhopadhyay] developed Rapid Prompting Method (RPM) for teachers to work with students with autism. Gentle physical cues can help individuals complete motor movements, which can be used as a communication mechanism by pointing to a letterboard. Students can eventually move onto an tablet, but some students see the light as sensory noise or might associate it with playtime.

[Pedro] hopes that his letterboard will be able to provide tactile feedback for each letter to strengthen the connection the teacher is trying to establish. The letter board is a 22 by 14 grid (308 total) of touch electrodes connected to three MPR121 12-channel capacitive touch sensors connected to an ESP32 via I2C. Additionally, 60 LEDS controlled by two shift registers are interspaced between the touch electrodes. As only one LED will be on at a given time, [Pedro] can use the shift registers in a row/column setup since the current draw should be small. A piezo buzzer serves as additional feedback for the student. The ESP32 emulates a Bluetooth keyboard, so the teacher doesn’t have to keep track of what the student is spelling and can focus on RPM.

[Pedro] encountered the usual slew of debugging problems, such as ground bouncing, captive noise, and Bluetooth wonkiness. The code, KiCad, and STL files are on the Hackaday.io project page. If you want more accessibility-focused keyboards, look at the RP2040-based Intellikeys we saw recently.

Continue reading “Hackaday Prize 2023: Bluetooth Spell To Speak”

Go In All The Directions With Omniwheeled ESP32 Bot

The ability to change direction without turning is the specialty of omnidirectional wheels, which [maker.moekoe] used to their full potential on a pair of ESP32-controlled robots. Video after the break.

Thanks to the rollers on the wheels, the wheels could be arranged at 120° in relation to each other on the 3-wheeler and 90° 4-wheeler. [maker.moekoe] used ChatGPT and a simple python simulation to find and verify the motor control algorithm required for smooth omnidirectional driving.

A single custom PCB incorporates all the electronics, and doubles as the robot’s chassis, with the geared brushed motors bolted directly to it. An ESP32-S2 runs the show, and can also stream FPV video from the same OV2640 camera used on the popular ESP32-cam modules. The LiPo battery is held by a 3D-printed support plate screws to the bottom of the PCB. The robots can controlled by a simple web-app served by the ESP32, or a using the IMU on custom controller also built around an ESP32-S2 which uses the ESP-NOW wireless protocol.

Even though the robots’ software is still in the early stages, the movement looks extremely smooth and effortless. Plus, their all-in-one PCB chassis makes for an elegant and clean build

Continue reading “Go In All The Directions With Omniwheeled ESP32 Bot”

Bee Motion Combines ESP32 With PIR Sensor And USB-C

There’s no shortage of ESP32 development boards out there, with many of them offering some “killer app” feature which may or may not align with whatever it is you’re trying to do. But if you’ve got a project that could benefit from the pairing of a powerful WiFi-enabled microcontroller and a passive infrared (PIR) motion sensor, the Bee Motion created by [Paul Price] is certainly worth a close look.

This breadboard compatible package combines an ESP32-S2 module with a top-mounted PIR sensor, making it a turn key solution for all sorts of motion sensing projects. In addition to the expected onboard voltage regulation, there’s also a LiPo charge controller and status LEDs for mobile or battery-backed operation.

While there’s far too many variables involved for [Paul] to give a specific runtime for the Bee Motion, he’s run some numbers and found that a 1500 mAH cell could potentially keep the board running for over a year if you’re taking advantage of the MCU’s deep sleep capabilities. When it’s time to recharge, whenever that may be, the board’s USB-C connector means you won’t be searching around for the proper cable.

Schematics and CAD files are available in the Bee Motion GitHub repo, and [Paul] is also selling assembled boards on Tindie. All you need now is to get inspired by some of the slick PIR projects we’ve covered in the past.

Continue reading “Bee Motion Combines ESP32 With PIR Sensor And USB-C”

Versatile Reflow Oven Controller Uses ESP32-S2

[Maker.Moekoe] wanted a single controller board that was usable with different reflow ovens or hotplates. The result is a versatile board based on the ESP32-S2. You can see a video of the board’s assembly in the video below.

The board sports several inputs and outputs including:

  • 2x MAX6675 thermocouple sensor input
  • 2x Fan output with flyback diodes
  • 2x Solid state relay output
  • 3x Buttons
  • 1x LED
  • 1x Buzzer
  • 1x Servo motor output
  • 0.96 inch OLED display

You could probably find a use for the board for other similar applications, not just ovens.

The video is oddly relaxing, watching parts reflow. It is like watching a 3D printer, no matter how many times we see it, we still find it soothing to watch. You can also see how he integrated the board with a toaster oven.

Overall, the board looks great and the workmanship is also very good. If you’ve never seen anyone set heat-set threaded inserts into a 3D printed piece, be sure to watch around the four minute mark.

We’ve seen plenty of oven projects. You can even use an Easy Bake oven.

Continue reading “Versatile Reflow Oven Controller Uses ESP32-S2”

Looks Like A Pi Zero, Is Actually An ESP32 Development Board

ATMegaZero ESP32- S2, showing optional color-coded 40-pin header (top)

The ATMegaZero ESP32-S2 is currently being funded with a campaign on GroupGets, and it’s a microcontroller board modeled after the Raspberry Pi Zero’s form factor. That means instead of the embedded Linux system most of us know and love, it’s an ESP32-based development board with the same shape and 40-pin GPIO header as the Pi Zero. As a bonus, it has some neat features like a connector for inexpensive SSD1306 and SH1106-based OLED displays.

Being able to use existing accessories can go a long way towards easing a project’s creation, and leveraging that is one of the reasons for sharing the Pi Zero form factor. Ease of use is also one of the goals, so the boards will ship with CircuitPython (derived from MicroPython), and can also be used with the Arduino IDE.

If a microcontroller board using the Pi Zero form factor looks a bit familiar, you might be remembering the original ATMegaZero which was based on the Atmel ATMega32U4, but to get wireless communications one needed to attach a separate ESP8266 module. This newer board keeps the ATMegaZero name and footprint, but now uses the Espressif ESP32-S2 to provide all the necessary functions.

CircuitPython has been a feature in a wide variety of projects and hacks we’ve seen here at Hackaday, and it’s a fine way to make a microcontroller board easy to use right out of the box.