Build Your Own High-Temp Oven Thermometer

Looking to keep an eye on the temperature inside his wood-fired pizza oven, [Giovanni Bernardo] decided to skip the commercial offerings and build his own high-temperature thermometer using a type-K thermocouple. The end result is a no-nonsense handheld unit with a surprisingly low part count that, at least in theory, can read temperatures as high as 1023.75°C. Though we hope he’ll be pulling the pizza out long before that.

Inside the 3D printed case we find just a handful of components. The 0.91″ OLED display mounted in the front panel is wired to a Digispark ATtiny85 development board, which in turn is connected to a MAX6675 breakout board. This takes the input from the thermocouple probe and converts it into a digital signal that can be read over SPI with an Arduino library from Adafruit. Rather than going through the added complication of adding a rechargeable pack, [Giovanni] is running this thermometer from a standard 9 V battery thanks to the 5 V regulator built into the Digispark.

We especially appreciate the attention to detail [Giovanni] put into his case design. Each component is nestled into a perfectly formed pocket in the bottom of the box, and he’s even gone through the trouble of using heat-set inserts for the front panel screw holes. It would have been quicker and easier to just model up a basic box and hot glue his components in place, but he took the long way around and we respect that.

This project is another example of an interesting principle we’ve observed over the years. Put simply, if somebody is going through this much trouble to check an object’s temperature, there’s a higher than average chance they intend on eating it at some point.

The Three Cent Motor Controller

If you follow the world of small microcontrollers you will certainly be familiar with the usual fare of Atmel, ARM Cortex, PIC, and others. But these aren’t the smallest or cheapest devices, below them is an entire category of grain-of-dust microcontrollers with minimal capabilities and at rock bottom prices. Maybe the most well known are the Padauk series of chips, whose PIC12-like architecture can be had for literal pennies. These are the famous 3 cent microcontrollers, but despite their fame they have a bit of a reputation in our community for being difficult to work with. [Ben Lim] dispels some of those ideas, by Padauk-enabling a motor and encoder from a printer to make a three cent motor controller.

The Padauk doesn’t have on-chip peripherals such as SPI, instead its IDE provides bit-banging code to do the job. This and some PID motor controller code makes for a straightforward task on the little chip, and with the help of a probably considerably more expensive MAX14870 it can drive the motor. For the curious, the code can be found in a Git Hub repository. There may be more accomplished motor controllers to be found, but we doubt you’ll find one with a cheaper microcontroller.

Want to know what the fuss is about with the Padauk? Our colleague [Maya Posch] has you covered.

A pair of RP2040-based USB microphones

Mico Is A USB Microphone Based On A Pi Pico

When [Mahesh Venkitachalam] was experimenting with machine learning for audio applications on a Raspberry Pi, he found himself looking for a simple USB microphone. A cheap one was easy to find, but the sound quality and directionality left much to be desired. A large, studio-quality mic would be overkill, so [Mahesh] decided to simply build exactly what was needed: a compact, yet high-quality USB microphone that he called Mico.

The sensing device is a MEMS microphone that outputs a pulse density modulated (PDM) signal. There are chips available to directly interface such a microphone to a USB port, but [Mahesh] found them difficult to work with and therefore settled on something he knew already: the Raspberry Pi Pico platform. Luckily, someone had already figured out how to read out a microphone and present a USB device to a PC, so all that was needed was to put all the bits together into a convenient form factor.

The great thing about the Pico platform is that its main controller chip, the RP2040, is available as a separate component. [Mahesh] designed a sleek little PCB that holds the RP2040 along with the MEMS microphone and a USB connector. The end result looks tidy enough that it might have come out of a mass-produced gizmo. Those don’t usually come with full schematics and source code, but the Mico does: everything is available on its GitHub page for anyone to re-use and improve.

You can judge the sound quality for yourself in the video embedded below. If you like DIY USB microphones, you’re in luck: we’ve featured one based on an STM32 as well as a beautiful recreation of a studio-quality mic.

Continue reading “Mico Is A USB Microphone Based On A Pi Pico”

WS2812s On A 6502

We can still remember when the WS2812 LED first came into our consciousness, way back in the mists of time. The timing diagrams in the datasheet-of-questionable-veracity made it sound quite tricky, with tight timing tolerances and essentially a high-speed two-bit PWM data protocol at 500 kHz. It was a challenge to bit-bang with an ATtiny85 back then, but there’s no way something as old and crusty as an Apple II would be up to snuff, right?

[Anders Nielsen] took up the challenge of getting the venerable 6502 processor to drive Neopixels and won! After all, if the chip is good enough for Bender and the Terminator T-800, it should be able to blink some colored LEDs, right? The secret sauce is shift registers!

Specifically, [Anders] abuses the 74LS165 parallel-in, serial-out shift register for his dirty work. Instead of bit-banging the WS2812’s “long high is a 1, short high is a 0” signal directly, the first few bits of the shift register are hard-wired to VCC and the last few to GND.

The bits in the middle determine if the pulse shifted out is long or short, and they’re set by the 6502, through a 6522 VIA chip, just like the Apple II would have. Clocking the data out of the shift register handles the timing-critical stuff. Very clever!

Video below the break.

Continue reading “WS2812s On A 6502”

Tiny Switch Ornament Plays GIFs With An ESP32

It constantly amazes us what we hackers can build these days, (electronics shortages aside) we have access to an incredible array of parts, with specifications that only a few years ago would be bank-breaking and longer ago just fantasy. It’s nice to see people building one-offs just for fun, in spite of the current difficulties getting parts to actually be delivered. For example, check out this miniaturized Nintendo Switch created by [scottbez1] that plays animated GIFs from an SD card on tiny 1.14″ LCD display.

Obviously such a diminutive hack requires a custom PCB, which was a job for KiCAD. Armed with a 3D model of the LCD, the casing and PCB outline were drawn using Fusion 360. The PCB hosts a LilyGo ESP32 module for all the heavy lifting, with the WiFi adding some fun future capabilities not yet explored. The design is about as tight as it can get without pushing the limits of the PCB process too far, including a neat trick of sneaking passives inside the body of the SD card! That’s another space-saving idea we’ll be banking.

All-in-all a neat little hack, showing some good modelling and construction techniques and a good looking end result. Code for your reference may be found on the project GitHub, but as of writing the hardware design is not available.

Whilst this project shrinks the Switch, here’s one that goes the other way and super-sizes it, and if you have a switch lite but crave a little modern charging magic, then look no further than this Qi wireless charging hack.

Continue reading “Tiny Switch Ornament Plays GIFs With An ESP32”

Keynote Video: Elecia White Finds Treasure In The Memory Map

If you dig microcontrollers, and you like to dig into how they work, Elecia White wants to help you navigate their innermost secrets with the help of memory map files. In this refreshingly funny, but very deep keynote talk from the 2021 Hackaday Remoticon, Elecia guides us through one of the most intimidating artifacts of compilation — a file that lists where everything is being put in the microcontroller’s memory — and points out landmarks that help to make it more navigable.

And when you need to look into the map file, you probably really need to look into the map file. When your embedded widget mysteriously stops working, memory problems are some of the usual suspects. Maybe you ran out of RAM or flash storage space, maybe you have some odd hard fault and you want to know what part of the program is causing the trouble, or maybe you need to do some speed profiling to make it all run faster. In all of these cases, you get an absolute memory address. What lives there? Look it up in the memory map!

Continue reading “Keynote Video: Elecia White Finds Treasure In The Memory Map”

Google’s T-Rex Game Ported To The ESP32

Most Chrome users will have come across a neat little Easter egg when their Internet connection has gone down – a game known as “T-Rex” where a dinosaur must be jumped over cactii. Whether or not this is accurate in terms of the evolutionary timeline, it’s a bit of fun, and Volos Projects educator [Danko Bertović] decided to port the game to the ESP32.

The game runs on the LILYGO TTGO T-Display development board, which pairs the powerful microcontroller with a 1.14-inch color LCD. His clone goes as far as authentically replicating the “No Internet” page from within Google Chrome, before kicking into the game at the press of a tactile button.

The game is built using a sprite-based engine, which enables gameplay with a minimum of flickering on the screen. Transparency is included to stop the sprites from occluding other screen elements unnecessarily. [Danko] hasn’t yet released a full tutorial on using sprites on the ESP32, but code is available for your own digestion.

It’s not the first time we’ve seen [Danko]’s ESP32 games, as he’s developed a few over the years. Others have gone so far as coding 8-bit emulators for the platform. Video after the break.

Continue reading “Google’s T-Rex Game Ported To The ESP32”