A 3D Rasterizer For Embedded Devices

Once upon a time, doing graphics on a microcontroller was challenging, to say nothing of the concept of going into three dimensions. But modern microcontrollers are far more powerful, and you might find yourself wanting to do all sorts of graphical wizardry with one. To that end, you might find Jet useful.

Created by [CubeCoders], Jet is a compact 3D rasterizer built for modern chips like the ESP32 and STM32. It’s dependency free, relatively tiny, and is written in C++17 with an eye towards working well on memory-limited platforms. It runs entirely in software, uses only integer arithmetic, and is built around 16-bit RGB565 color — intended to make it easy to use with parts like the ST7796, ILI9488, and other similar displays interfaced via SPI.

As a point of reference, on a ESP32-S3 Jet can render around 650 on-screen triangles (post-culling) at 60 frames per second on a 480×320 display, or 1300 triangles at 30 FPS. The developers note that 3D performance lands somewhere between the Sega 32X and Sega Saturn — not bad for a microcontroller you can buy for under $20. The Wipeout-like demo shows off the capabilities of Jet rather fantastically, we think.

You’d be foolish to expect your next microcontroller project to render Crysis. However, if you want some retro 3D graphics for your next ESP32-based build, you might just consider exploring what Jet can do for you.

Continue reading “A 3D Rasterizer For Embedded Devices”

A Cheap And Easy Control Screen For Home Assistant

Home Assistant is a great way to rig up and manage your smart home and its many and varied devices. You can of course control the system from your smartphone or a computer, but you might like to have a dedicated interface too. In that regard, [Max Gramser]’s project may come in handy.

At heart, it’s a Home Assistant control screen that you can lay out yourself. It’s intended to run on ESP32 hardware. Most specifically, it’s built to run on the Cheap Yellow Display which combines an ILI9341 display with an XPT2046 resistive touchscreen, or a Guition ESP32-S3-4848S040, which has a ST7701S RGB display combined with a capacitive GT911 touchscreen. You merely need to load the firmware on to one of these units, and you’ll have a configurable and customizable touchscreen interface for your own Home Assistant setup.

The GUI used is clean, attractive, and flexible. You can have it display weather, time, and date widgets, populate the screen with buttons for activating lights and appliances, or even command a compatible robot vacuum. Whatever you might want to do with Home Assistant, you can almost certainly create a quick control for it on the display so it’s always on the wall, ready to go when you need it.

If you’ve always dreamed of your house having a futuristic control panel like we used to dream of in the 1980s, well… now it’s a reality. You just need to drop a few bucks on a touchscreen ESP32 rig and you’re ready to go. There’s plenty more you can do with a Cheap Yellow Display, too, so don’t hesitate to check out some of the previous builds we’ve featured with it!

Round AMOLED Badge Does All Kinds Of Cool Stuff

[curisama] has put together a project simply entitled The Badge. It’s simple enough, being a little round screen that you wear. Only, it does a wide variety of rather interesting things.

The build is based on the Waveshare ESP32-S3-Touch-AMOLED-1.75C. It’s not a very fun part number, but it describes a device which combines a 466×466 round display with a milled aluminium case and an ESP32-S3 to drive everything.

Neat, right?

[curisama] started building a custom firmware for the device, intending to use it as an air mouse. Soon enough it had a touchpad, too, a bunch of extra keys, as well as a clock and some games. It was given the ability to record audio too, up to 52 minutes in WAV format. From there, it also gained a rather fetching liquid simulation, with water sloshing around the round display with a little boat riding around on it. This took some optimization, with [curisama] pushing the animation from 3 FPS all the way up to 18 fps, making it much more fluid and satisfying to watch. There were other optimizations too, with [curisama] figuring out how enabling the CONFIG_PM_ENABLE flag and some other tweaks could push standby battery life from 11.9 to 19.6 hours. Not a bad gain at all.

If you need a handy yet unassuming round object to act as a human interface device and some other stuff besides, consider buying the Waveshare part and flashing it yourself. You can do so right from your browser. We’ve featured plenty of other interesting projects with Waveshare parts in recent years, too. The integrated-display-and-microcontroller market is booming for makers right now, and it’s one we’ll continue to follow with interest. If you’re doing innovative stuff in this space, be sure to notify the tipsline!

An Open Heart Rate Monitor

If you spend any time near a gym, you may be familiar with Bluetooth heart rate monitors — a small pack of electronics mounted on a strap round the chest which can relay heart rate data to an external logger or display. We’re pleased to see [Milos Rasic]’s project then, an open-source version of one of those monitors.

The heart rate capture is done by an AD8232, while the Bluetooth part is handled by a Seeed Studio XAIO ESP32 board. Power is provided by a single 3.7 V cell, with a boost converter to push that up to 5 V. The design omits a charge controller to keep things simple, so figuring out how to top off the cell is left as an exercise — no pun intended — for the user. Software is loaded through the Arduino IDE, which raises the possibility that other ESP32 CPUs could be supported with a bit of modification. All in all it’s a surprisingly simple project, and while the manufactured version is cheap enough it’s still very much worth having one that’s open source.

If you’d like to know more about his quest to develop open medical devices, check out the talk [Milos] gave on the intricacies of blood pressure monitoring earlier this year at Hackaday Europe.

Continue reading “An Open Heart Rate Monitor”

Lara Croft On A Microcontroller

Once upon a time, you had to carefully budget your microcontroller’s resources if you wanted to do something as simple as flash a bunch of LEDs. These days, they’re powerful enough to humiliate the game consoles of yesteryear. [alexkid77] demonstrates this well, having the ESP32-P4 run Tomb Raider.

Now, [alexkid77] hasn’t gone so far as to create a PlayStation emulator on the ESP32 or anything quite like that. Instead, this is a port—and not of the original Tomb Raider release, either. [alexkid77] started with OpenLarathe classic game running in an open-source engine. With the ESP32-P4 having two cores running at 400 MHz each, there was plenty of processing power on tap to run the engine with a software renderer at 320×240, which is hardware scaled up to 1024×600 via the Pixel Processing Accelerator (PPA) built into the chip. There’s also stereo audio with an ES8311 codec hooked up, while input is via a USB HID keyboard.

It’s funny to think that it could actually be cheaper and quicker to get Tomb Raider running on an ESP32 and a cheap LCD display versus actually going out to buy a PlayStation and an original game disc. But that’s the way the cookie crumbles in 2026. At least you don’t have to play it on an S3 Verge. Continue reading “Lara Croft On A Microcontroller”

Woodstove Assistant Keeps The Heat On Safely

Those who have never lived in a cold climate might romanticize winters around a fire, keeping warm under blankets while snow gently falls outside. While it certainly can be a cozy experience, using a woodstove comes with a number of pitfalls, and when operated improperly can even cause house-destroying chimney fires. Modern stoves operated properly with properly dried wood make this possibility extremely remote, but it’s still worth keeping an eye on. Reddit user [nas886] built a system called Oru which takes a lot of the guesswork out using one of these pieces of heating equipment.

The real danger of a woodstove isn’t necessarily running the fire too hot, although that can be a problem, but running it too cold. Without full combustion of the wood, flammable creosote builds up on the inside of the chimney which eventually can combust. This system uses a probe placed in the stovepipe to monitor the temperature of the exhaust gasses. If it’s too low an ESP32 notifies [nas886] remotely with with a status LED inside a seperate custom-built walnut enclosure so that more wood can quickly be added or airflow increased to bring up the temperature, and in the case that the fire gets too hot the LED changes to a different color and the air can be closed off a bit.

Woodstoves themselves have quite a bit of variability in the size wood they can burn, the amount they can hold at once, their efficiency, and their thermal mass, so this could find utility for anyone from those with tiny stoves that have to be fed constantly to those trying to get all-night burns in massive units, all without having to constantly sit by the fire and monitor it. [nas886] found initial success selling a few of these custom units and plans to put it into further production as well, but the general idea is not too difficult to replicate for most of us here either.

Continue reading “Woodstove Assistant Keeps The Heat On Safely”

Fat Tire Brakes Get Wireless Upgrade

At first glance, wireless brakes seem like a recipe for disaster. For something as critical as braking, many bicyclists might prefer a physical connection to their method of safely controlling speed. But there are a number of surprising benefits of electronic or wireless braking systems. For one, they can enable systems like anti-lock braking systems and for another they can eliminate cabling or hydraulics on a bicycle. For these reasons, and just for the thrill of it, [Berm Peak] built a set of wireless brakes for his fat tire bicycle to test out the possibilities.

The system uses a set of ESP32 microcontrollers to handle inputs from the braking lever and outputs to the front and rear brakes, as well as a central control unit and display. The brakes themselves are controlled by actuators from car door locks, which when combined with the springs from the stock calipers work to apply a wide range of braking force to the wheels. These did take a bit of prototyping to get working right, by changing to higher quality calipers, increasing the angle of the actuator, and adding longer levers, but eventually a working braking system started to appear.

But replacing a hydraulic system with an electronic one isn’t where something like this shines. [Berm Peak] was able to add in a number of features impossible in traditional braking systems. Not only does this have an ABS system and the possibility to remotely slow down his children’s bikes when they’re riding, but there’s also a braking equalizer that allows the rider to control how much braking there is at certain positions of the brake lever, and another setting called “derp” which doesn’t engage the brakes at all until a certain threshold has passed. This might end up being the next big trend in mountain biking, unlike airless tires.

Continue reading “Fat Tire Brakes Get Wireless Upgrade”