Secret Serial Port for Arduino/ESP32

If you use the Arduino IDE to program the ESP32, you might be interested in [Andreas Spiess’] latest video (see below). In it, he shows an example of using all three ESP32 UARTs from an Arduino program. He calls the third port “secret” although that’s really a misnomer. However, it does require a quick patch to the Arduino library to make it work.

Just gaining access to the additional UARTs isn’t hard. You simply use one of the additional serial port objects available. However, enabling UART 1 causes the ESP32 to crash! The reason is that by default, UART 1 uses the same pins as the ESP32 flash memory.

Luckily, the chip has a matrix switch that can put nearly any logical I/O pin on any physical I/O pin. [Andreas] shows how to modify the code, so that UART 1 maps to unused pins, which makes everything work. it is a simple change, replacing two parameters to a call that — among other things — maps the I/O pins. You could use the technique to relocate the UARTs to other places if you choose.

If you want to learn more about the ESP32, we covered a good set of tutorials for you to check out. Or if you just want a quick overview, you can start here.

You Probably Don’t Want To Find This Toilet In Your Washroom

Ok, this one is a bit bizarre, but in perfect keeping with the subject matter: a talking toilet ripped from the pages of the Captain Underpants children’s books. Hackaday.io user [hamblin.joe]’s county fair has a toilet decorating contest and at the suggestion of their neighbour’s son, [hamblin.joe] hatched a plan to automate the toilet using an Arduino in the fashion of the hero’s foes.

Two Arduinos make up this toilet’s brains, an Adafruit Wave Shield imbues it with sound capabilities, and a sonic wave sensor will trigger the toilet’s performance routine when someone approaches. A windshield wiper motor actuates the toilet bowl lid via a piece of flat iron bar connected to a punched angle bracket. Installing the motor’s mount was a little tricky, since it had to be precisely cut so it wouldn’t shift while in the toilet bowl. A similar setup opens the toilet tank’s lid, but to get it working properly was slightly more involved. Once that was taken care of there was enough room left over for a pair of 12V batteries and a speaker. Oh, and a pair of spooky eyes and some vicious looking teeth.

Continue reading “You Probably Don’t Want To Find This Toilet In Your Washroom”

Print A Flexible Keypad

[Micah Elizabeth Scott] needed a custom USB keyboard that wrapped around a post. She couldn’t find exactly what she wanted so she designed and printed it using flexible Nijaflex filament. You can see the design process and the result in the video below.

The electronics rely on a Teensy, which can emulate a USB keyboard easily. The keys themselves use the old resistor divider trick to allow one analog input on the Teensy to read multiple buttons. This was handy, but also minimized the wiring on the flexible PCB.

The board itself used Pyralux that was milled instead of etched. Most of the PCB artwork was done in KiCAD, other than the outline which was done in a more conventional CAD program.

Continue reading “Print A Flexible Keypad”

Visual Development with XOD

Early programmers had to represent code using binary, octal, or hex numbers. This gave way quickly to representing programs as text to be assembled, compiled, or interpreted by the computer. Even today, this remains the most common way to program, but there have been attempts to develop more visual ways to create programs graphically. If you program microcontrollers like the Arduino, you should check out XOD and see how you like visually creating software. The software is open source and currently, can target the Arduino or Raspberry Pi.

Continue reading “Visual Development with XOD”

ATMega328 3D!

Small OLED displays are inexpensive these days–cheap enough that pairing them with an 8-bit micro is economically feasible. But what can you do with a tiny display and not-entirely-powerful processor? If you are [ttsiodras] you can do a real time 3D rendering. You can see the results in the video below. Not bad for an 8-bit, 8 MHz processor.

The code is a “points-only” renderer. The design drives the OLED over the SPI pins and also outputs frame per second information via the serial port.

Continue reading “ATMega328 3D!”

Know the Load with this Simple Microcontroller CPU Meter

How do you tell how much load is on a CPU? On a desktop or laptop, the OS usually has some kind of gadget to display the basics. On a microcontroller, though, you’ll have to roll your own CPU load meter with a few parts, some code, and a voltmeter.

We like [Dave Marples]’s simple approach to quantifying something as complex as CPU load. His technique relies on the fact that most embedded controllers are just looping endlessly waiting for something to do. By strategically placing commands that latch an output on while the CPU is busy and then turn it off again when idle, a PWM signal with a duty cycle proportional to the CPU load is created. A voltage divider then scales the maximum output to 1.0 volt, and a capacitor smooths out the signal so the load is represented by a value between 0 and 1 volt. How you display the load is your own choice; [Dave] just used a voltmeter, but anything from an LED strip to some kind of audio feedback would work too.

Still just looking for a load meter for your desktop? Take your pick: an LED matrixold-time meters, or even Dekatrons.

Mini Hacker Breaks Down How To Build It

I read the other day that the hot career choice for kids these days is: YouTuber. That means every kid — yes, including mine — has two or three attempts at a YouTube show on their account and then they get into the next big thing and forget about it. On the other hand, sometimes you find someone who has a lot of ideas to share, and the dedication to keep sharing them.

[Kevin Zhou], an 11-year-old from Indonesia, has filmed around  70 videos in the past couple of years, with a fantastic variety of nerdy projects ranging from Mindstorms to Arduino to wood shop projects, and even a Blender tutorial. His projects show a lot of complexity, with serious, real-world concepts, and he shares the technical details about the various components in the project, and he walks you through the code as well.

He made a Mindstorms carving machine, pictured above, with a gantry system holding a motor steady while the user carves into a block of floral foam with LEGO bits. He does a lot of home automation projects using an Arduino and relay board, as well as a number of water-pumping robots. He doesn’t stick to one medium or technology. He has a jigsaw and in one video he shows how to build a Thor’s hammer out of wood. He prints out each layer’s design on office paper and glues the paper to a piece of wood, cutting out the cross-sections on his jigsaw. The whole stack is glued together and clamped. [Kevin]’s design featured a hollow space inside to save weight, which he cut by drilling a 1-inch hole in the center with his drill press, then threading the jigsaw blade through the hole to cut out the inside. As an amateur woodcrafter myself, I like seeing him branching out working on small wood projects.

Continue reading “Mini Hacker Breaks Down How To Build It”