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”

FLOSS Weekly Episode 882 With OSADL: Better Together

This week Jonathan chats with Jan Altenberg of the Open Source Automation Development Lab, a cooperative of nerds that care about Linux and Open Source! Jan and OSADL helped push Real Time Linux across the finish line, are looking at safety critical hardening, and general cooperating to make Open Source and Industry work better together.

Continue reading “FLOSS Weekly Episode 882 With OSADL: Better Together”

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!

Heat Domes: Meet The Quiet And Oppressive Take On The Thunderdome

One of the nice things about the weather is that even if it’s bad right now, it’ll definitely be changing soon and maybe even for the better. There is one exception to this rule, however, and that comes in the form of heat domes, which are weather systems whereby a region of air becomes isolated from the surrounding systems. This creates effectively a greenhouse, with hot air remaining trapped and moisture unable to get in.

Although until recently not very common, this weather phenomenon poses a major challenge to any flora and fauna that finds itself trapped in a heat dome. With nights being about as hot and stifling as the days with their blue skies unbroken by any cloud cover and no rain for potentially weeks on end, it poses severe hydration, cardiovascular, and other challenges to any affected lifeforms.

Continue reading “Heat Domes: Meet The Quiet And Oppressive Take On The Thunderdome”

Full-Color Looks Great On 3D Printed Sliding Puzzles

[Angus] of [Maker’s Muse] shows off both a parametric, print-in-place sliding puzzle design he created, and the results of UV printing full-color designs on the same. The results look beautiful, and there was a whole lot of trial and error involved in the process.

The design includes a pop-out tile, which can be re-inserted to a finished puzzle.

Creating a good print-in-place sliding puzzle depends a lot on tolerances. Today’s 3D printers are much more capable in this regard than they were ten or so years ago, but getting the right feel to the pieces was still a long learning process. It’s not at all easy to get all the different characteristics in the right balance. On one hand, if the pieces are too tight they won’t slide easily. But if they are too loose, the puzzle can bind because the pieces have too much play. It may also flex enough to pop apart. And of course, the shape of the pieces and their mating surfaces are constrained to angles and shapes that 3D print reliably. [Angus] persevered and succeeded, and shows off everything from cute 3 x 3 units to a massive scaled-up 11 x 11 puzzle, printed on his Prusa XL.

Getting the color onto the print is the work of a desktop UV ink printer, the same model our own Tom Nardi had a hands-on look at last year. [Angus] shows how printing a single color image onto the puzzle is pretty easy and looks great, but what’s even better is a textured relief image with some real tactile depth to it. Expect a lot more work to do for that, because thick layers of ink gum the puzzle up with overspray unless one avoids printing over the gaps in the tiles.

Watch both the puzzles and the color printing in action in his video, embedded just below.

Continue reading “Full-Color Looks Great On 3D Printed Sliding Puzzles”

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!

A Super-Accurate Clock Using A Tiny Microcontroller

DCF77 is a German VLF transmitting station that broadcasts a time signal across Europe on 77.5 kHz. Thus a common sight in a European home is a clock emblazoned with the words “Radio controlled”. With the timing broadcast in a simple and low speed digital format it doesn’t require the greatest of hardware to decode, and a small microcontroller can handle the task with ease. And there are few smaller than an ATtiny as used in [kwolf1909]’s decoder. It takes a DCF77 bitstream from a receiver, and shows the time on an I2C display.

The receiver isn’t part of this project, however a single-frequency longwave receiver is not a difficult thing to build. The interface is a push-button, for which a short press cycles between display modes and a long press triggers a DCF77 reset. It also supports an external temperature sensor and real time clock module, if you’re using an ATtiny with enough pins.

We like this project; it’s simple and does one thing well, and it’s a welcome reminder that not every device needs a powerhouse of a processor. If you’re interested enough to build your own, we’ve featured someone doing a deep dive into the signal before.