Dedicated LED Animation Framework For ESP32

[Eric Arcana] has been creating animated holiday decorations for several years, which involved a lot of custom code to make things light up the way he wanted, pulling the microcontroller to make changes. Using ESP32s with remote software updates is easier, but [Eric] also wanted to make the code simpler. To achieve this he created Fade, a custom programming language/framework for controlling LED animations from the ESP32.

Fade is written for addressable RGB LEDs like the Neopixel/WS2812. It keeps track of the current color of every LED in the system and allows the user to define what color it should be at a specified time in the future. Time is specified using 10 ms clock cycles. The LEDs will smoothly change from one color to the other in the specified number of clock cycles, without needing to specify what the intermediate colors should be.

Code is written in simple IDE, running on a web server on the ESP32 itself, or on a remote Windows PC. The language is very simple, but still powerful enough to create complex LED animations. A key part of it is the ability to specify multiple concurrent state changes in just a few lines of code. [Eric] also included optioning to take touch button inputs and use them to update the animations. Another nice feature is a simulation window on the desktop IDE. It allows you to create custom LED layouts on PC, and test your code without needing to send it to the ESP32.

Addressable LEDs have made creating large LED installations a lot simpler, like this 6 foot LED ball or a LED Video Wall.

Continue reading “Dedicated LED Animation Framework For ESP32”

Emulating The IBM PC On An ESP32

The IBM PC spawned the basic architecture that grew into the dominant Wintel platform we know today. Once heavy, cumbersome and power thirsty, it’s a machine that you can now emulate on a single board with a cheap commodity microcontroller. That’s thanks to work from [Fabrizio Di Vittorio], who has shared a how-to on Youtube. 

The full playlist is quite something to watch, showing off a huge number of old-school PC applications and games running on the platform. There’s QBASIC, FreeDOS, Windows 3.0, and yes, of course, Flight Simulator. The latter game was actually considered somewhat of a de facto standard for PC compatibility in the 1980s, so the fact that the ESP32 can run it with [Fabrizio’s] code suggests he’s done well.

It’s amazingly complete, with the ESP32 handling everything from audio and video to sound output and keyboard and mouse inputs. It’s a testament to the capability of modern microcontrollers that this is such a simple feat in 2021.

We’ve seen the ESP32 emulate 8-bit gaming systems before, too. If you remember [Fabrizio’s] name, it’s probably from his excellent FabGL library. Videos after the break. Continue reading “Emulating The IBM PC On An ESP32”

Hands-On Review: TCam-Mini WiFi Thermal Imager

A thermal camera is a tool I have been wanting to add to my workbench for quite a while, so when I learned about the tCam-Mini, a wireless thermal camera by Dan Julio, I placed an order. A thermal imager is a camera whose images represent temperatures, making it easy to see things like hot and cold spots, or read the temperature of any point within the camera’s view. The main (and most expensive) component of the tCam-Mini is the Lepton 3.5 sensor, which sits in a socket in the middle of the board. The sensor is sold separately, but the campaign made it available as an add-on.

Want to see how evenly a 3D printer’s heat bed is warming up, or check whether a hot plate is actually reflowing PCBs at the optimal temperature? How about just seeing how weird your pets would look if you had heat vision instead of normal eyes? A thermal imager like the tCam-mini is the tool for that, but it’s important to understand exactly how the tCam-mini works. While it may look like a webcam, it does not work like one.

Continue reading “Hands-On Review: TCam-Mini WiFi Thermal Imager”

Why Make Coffee When You’re Tired? Let A Robot Do It For You

Like us, [Alberto] doesn’t compromise when it comes to a good cup of coffee. We figure that if he went to an office in the Before Times, he was the type of coworker to bring in their own coffee equipment so as not to suffer the office brew. Or perhaps he volunteered to order the office supplies and therefore got to decide for everyone else. Yep, that’s definitely one way to do it.

But like many of us, he is now operating out of a home office. Even so, he’s got better things to do than stand around pouring the perfect cup of coffee every morning. See, that’s where we differ, [Alberto]. But we do love Cafeino, your automated pour-over machine. It’s so sleek and lovely, and we’re sure it does a much better job than we do by hand — although we enjoy doing the pouring ourselves.

Cafeino is designed to mimic the movements of a trained barista’s hand, because evidently you’re supposed to pour the water in slow, deliberate swirls to evenly cover the grounds. (Our kettle has a chunky spout, so we just sort of wing it.) Cafeino does this by pumping water from an electric kettle and pouring a thin stream of it in circles with the help of two servos.

The three buttons each represent a different recipe setting, which specifies the amount of water, the hand pouring pattern, and the resting times between blooming the grounds and actually pouring the bulk of the water. These recipes are set using the accompanying web app via an ESP32, although the main brain barista is an Arduino Nano. Grab a cup and check out the demo after the break.

Got an old but modern coffee robot lying around? You could turn it into a planter with automated watering.

Continue reading “Why Make Coffee When You’re Tired? Let A Robot Do It For You”

Tardygrade Walker Is A Lesson In 3D Printed Design

The ability to quickly create complex parts with 3D printers has created a platform to show off mechanical design skills. This is true in the case of [Dejan Ristic]’s capable little Tardygrade walking robot, which uses only two servos and a bunch of clever 3D printed parts.

The robot’s chassis is split into two subassemblies, each with a pair of feet on diagonal corners. As one pair of feet lifts the robot, the other section of the robot can rotate before coming back down, allowing the robot to turn. One servo handles the actuation of the feet, while the other rotates the body as required. An ESP32 based controller creates a web server user interface, and power comes from a lipo cell.

The interesting part of this robot is in how [Dejan] designed it for printing and assembly. All the parts can print without support, and in the correct orientation to optimize strength. There are only six screws in the assembly holding the servo and servo horns, while everything else uses snap fits or short pieces of filament. Take a look at the videos after the break to gain some appreciation of the design effort and attention to detail that went into this robot. Even the contact surfaces of the feet were carefully designed for optimum walking over flat surfaces and small obstacles.

This reminds us of [gzumwalt]’s little 3D printed creations, like the fridge crawler and mechanical edge-avoiding robot.

It’s Linux – But On An ESP32

GNU/Linux is an open-source marvel that has over the past three decades given us an almost infinitely versatile and powerful UNIX-like operating system. But even it has its limitations, particularly at the lower end of the hardware scale where less fully-featured processors often lack the prerequisites such as a memory management unit. Thus [JuiceRV]’s feat of booting a Linux kernel on an ESP32 microcontroller seems impossible, what’s happening?

The ESP’s dual 32-bit Xtensa cores are no slouch in the processing power department, but without that MMU it’s not an obvious Linux candidate platform. The solution to this problem comes in the form of an emulated RISC-V virtual machine which provides just enough grunt for a Linux 5.0.0 kernel to boot.

By any measure this represents an impressive piece of work, but will this new-found ability to run Linux on a microcontroller take the world by storm? Of course not, unless your tastes run to the very slowest of computing experiences. It is however the essence of the hack, and for that we salute it.

It’s not the first time Linux has run on a microcontroller, in the past someone hooked up a 30 pin SIMM and an SD card to an 8-bit Atmel chip and did it in a similar way with an ARM emulator.

Via CNX Software.

Header image: Ubahnverleih, CC0.

Motorized Camera Slider Gives Your Shots Style

We’ve all seen those smooth panning shots, which combined with some public domain beats, are a hallmark of the modern YouTube tech video. Recreating that style in your own productions is as easy as pointing your browser to Amazon and picking up a motorized camera slider, so long as you don’t mind parting with a few hundred bucks, anyway. But [Paweł Spychalski] had a better idea. He decided to build his own camera slider and make it an open source project so others could spin up their own versions.

His design uses many components that have become popular and affordable thanks to the desktop 3D printer explosion, such as 2020 aluminum extrusion, LM8UU linear bearings, an 8 mm lead screw, and a NEMA 17 stepper motor. In fact, if you’ve got a broken 3D printer that you don’t know what to do with, stripping it for parts would get you a long way towards completing the BOM for this project.

To control the slider, [Paweł] is using an ESP32 and TMC2209 “StepStick” driver connected to an OLED display and a few buttons. As designed, a smartphone connected to a simple web page hosted by the ESP32 is the primary method of controlling the camera, but the buttons and display on the slider itself gives you a physical backup should you need it.

If you need something a bit more advanced than a linear slider, we’ve seen some impressive DIY motion rigs that can spin the camera around the target and produce some very professional looking shots.

Continue reading “Motorized Camera Slider Gives Your Shots Style”