Screen shot of Mongoose Wizard.

How To Build An STM32 Web Dashboard Using The Mongoose Wizard

Today from the team at Cesanta Software — the people who gave us the open-source Mongoose Web Server Library and Mongoose OS — we have an article covering how to build an STM32 web dashboard.

The article runs through setting up a development environment; creating the dashboard layout; implementing the dashboard, devices settings, and firmware update pages; building and testing the firmware; attaching UI controls to the hardware; and conclusion.

The web dashboard is all well and good, but in our opinion the killer feature remains the Over-The-Air (OTA) update facility which allows for authenticated wireless firmware updates via the web dashboard. The rest is just gravy. In the video you get to see how to use your development tools to create a firmware file suitable for OTA update.

Continue reading “How To Build An STM32 Web Dashboard Using The Mongoose Wizard”

Hackaday Links Column Banner

Hackaday Links: May 25, 2025

Have you heard that author Andy Weir has a new book coming out? Very exciting, we know, and according to a syndicated reading list for Summer 2025, it’s called The Last Algorithm, and it’s a tale of a programmer who discovers a dark and dangerous secret about artificial intelligence. If that seems a little out of sync with his usual space-hacking fare such as The Martian and Project Hail Mary, that’s because the book doesn’t exist, and neither do most of the other books on the list.

The list was published in a 64-page supplement that ran in major US newspapers like the Chicago Sun-Times and the Philadelphia Inquirer. The feature listed fifteen must-read books, only five of which exist, and it’s no surprise that AI is to behind the muck-up. Writer Marco Buscaglia took the blame, saying that he used an LLM to produce the list without checking the results. Nobody else in the editorial chain appears to have reviewed the list either, resulting in the hallucination getting published. Readers are understandably upset about this, but for our part, we’re just bummed that Andy doesn’t have a new book coming out.

Continue reading “Hackaday Links: May 25, 2025”

Unreleased Amiga Hardware Plays MP3s

The MP3 file type has been around for so long, and is supported by essentially all modern media software and hardware, that it might be surprising to some to learn that it’s actually a proprietary format. Developed in the late 80s and early 90s, it rose to prominence during the Napster/Limewire era of the early 00s and became the de facto standard for digital music, but not all computers in these eras could play this filetype. This includes the Amigas of the early 90s, with one rare exception: this unreleased successor to the A3000 with a DSP chip, which now also has the software to play back these digital tunes.

The AA3000, developed as a prototype by Amiga, was never released to the general public. Unlike the original A3000 this one would have included a digital signal processing chip from AT&T called the DSP3210 which would have greatly enhanced its audio capabilities. A few prototype boards did make it out into the hands of the public, and the retrocomputing scene has used them to develop replicas of these rare machines. [Wrangler] used one to then develop the software needed for the MPEG layer 2 and 3 decoder using this extra hardware, since the original Amiga 3000 was not powerful enough on its own to play these files back.

If you want to follow along with the community still developing for this platform there’s a form post with some more detail for this specific build (although you may need to translate from German). [Wrangler] additionally points out that there are some limitations with this implementation as well, so you likely won’t get Winamp-level performance with this system, but for the Amiga fans out there it’s an excellent expansion of this computer’s capabilities nonetheless.

Thanks to [Andy] for the tip!

Continue reading “Unreleased Amiga Hardware Plays MP3s”

NES Zapper Becomes Telephone

Although there was a time in the 80s (and early 90s for fans of the SuperScope) where light guns were immensely popular, with games like DuckHunt cultural touchstones, their time in the video game world has largely come to an end. We might occasionally pick up a Zapper for the NES and play this classic out of nostalgia, but plenty of people are looking for other things that these unique video game controllers can do instead. [Nick] has turned one of his old NES peripherals into a wireless phone.

The way the original Zapper worked was by looking for a certain pattern of pixels that displayed for a fraction of a second whenever the trigger was pulled. Bypassing the anti-cheat mechanism that looks only for qualities of light coming from CRT screens of the day effectively turns the light gun into an analog light sensor which is used for receiving the audio from the phone’s base station via a laser. Of course there were no microphones present within the original hardware so one is added, wiring its output to another laser that communicates to the base station. With the light gun pointed directly at this base station, audio is communicated back and forth by varying the strengths of these small lasers and listening to them on the other end with photodiodes.

[Nick] does point out that this isn’t a great phone, largely because it needs to be pointed exactly at the right spot to work at all, although we do agree that it’s an interesting project that demonstrates what the original hardware could do with a few of its limitations removed. There are a few other ways of bringing these devices into the modern world, with one of our favorites being this laser pointer with additional hardware from a Wiimote that could also function as a mouse.

Continue reading “NES Zapper Becomes Telephone”

The Commodore 64 Gets An HDMI Upgrade

The Commodore 64 may remain the best selling computer of all time, but it has one major flaw. It doesn’t have HDMI! That makes it a total pain to use with modern displays. Thankfully, [Side Projects Lab] has whipped up an HDMI output board to solve this concerning oversight from the original designers.

The project was inspired by work by [Copper Dragon], who whipped up a nifty RGB output board. This device worked by reading the inputs to the C64’s VIC II graphics chip, which it then used to recreate a pixel-perfect video frames to then produce a quality analog video output. [Side Projects Lab] figured the same interception technique would be useful for producing a quality HDMI output.

The result was the HD-64. It sits inside the C64 in place of the original RF modulator. It uses an interleaver socket to capture digital signals going to the VIC II. It then feeds these signals to an emulated VIC II running inside an FPGA, which creates the pixel-perfect screen representation and synthesizes the proper digital HDMI output. Meanwhile, the analog audio output from the SID chip is captured from the RF modulator’s original header, and sent out via the HDMI output as well. The default output is super-sharp, but the device can be configured to allow scanlines and anti-aliasing if that’s more to your tastes.

If you want to hook your C64 up to a modern screen, this is going to be one of the tidiest and sharpest ways to do it. We’ve seen similar hacks for other platforms before, too. Video after the break.

Continue reading “The Commodore 64 Gets An HDMI Upgrade”

A graph of download speeds is shown, with two triangular spikes and declines. Above the graph, the label “8 MB/s” is shown.

A Quick Introduction To TCP Congestion Control

It’s hard to imagine now, but in the mid-1980s, the Internet came close to collapsing due to the number of users congesting its networks. Computers would request packets as quickly as they could, and when a router failed to process a packet in time, the transmitting computer would immediately request it again. This tended to result in an unintentional denial-of-service, and was degrading performance significantly. [Navek]’s recent video goes over TCP congestion control, the solution to this problem which allows our much larger modern internet to work.

In a 1987 paper, Van Jacobson described a method to restrain congestion: in a TCP connection, each side of the exchange estimates how much data it can have in transit (sent, but not yet acknowledged) at any given time. The sender and receiver exchange their estimates, and use the smaller estimate as the congestion window. Every time a packet is successfully delivered across the connection, the size of the window doubles.

Once packets start dropping, the sender and receiver divide the size of the window, then slowly and linearly ramp up the size of the window until it again starts dropping packets. This is called additive increase/multiplicative decrease, and the overall result is that the size of the window hovers somewhere around the limit. Any time congestion starts to occur, the computers back off. One way to visualize this is to look at a graph of download speed: the process of periodically hitting and cutting back from the congestion limit tends to create a sawtooth wave.

[Navek] notes that this algorithm has rather harsh behavior, and that there are new algorithms that both recover faster from hitting the congestion limit and take longer to reach it. The overall concept, though, remains in widespread use.

If you’re interested in reading more, we’ve previously covered network congestion control in more detail. We’ve also covered [Navek]’s previous video on IPV5. Continue reading “A Quick Introduction To TCP Congestion Control”

2025 Pet Hacks Contest: Feline Facial Recognition Foils Food Filching

Cats are no respecters of personal property, as [Joe Mattioni] learned when one of his cats, [Layla] needed a special prescription diet. Kitty didn’t care for it, and since the other cat, [Foxy]’s bowl was right there– well, you see where this is going. To keep [Layla] out of [Foxy]’s food and on the vet-approved diet, [Joe] built an automatic feeding system with feline facial recognition. As you do.

The hardware consists of a heavily modified feed bowl with a motorized lid that was originally operated by motion-detection, an old Android phone running a customized TensorFlow Lite model, and hardware to bridge them together. Bowl hardware has yet to be documented on [Joe]’s project page, aside from the hint that an Arduino (what else?) was involved, but the write up on feline facial recognition is fascinating.

See, when [Joe] started the project, there were no cat-identifying models available– but there were lots of human facial recognition models. Since humans and cats both have faces, [Joe] decided to use the MobileFaceNet model as a starting point, and just add extra training data in the form of 5000 furry feline faces. That ran into the hurdle that you can’t train a TFLite model, which MobileFaceNet is, so [Joe] reconstructed it as a Keras model using Google CoLab. Only then could the training occur, after which the modified model was translated back to TFLite for deployment on the Android phone as part of a bowl-controller app he wrote.

No one, [Joe] included, would say that this is the easiest, fastest, or possibly even most reliable solution– a cat smart enough not to show their face might sneak in after the authorized feline has their fill, taking advantage of a safety that won’t close a bowl on a kitty’s head, for example–but that’s what undeniably makes this a hack. It sounds like [Joe] had a great learning adventure putting this together, and the fact that it kept kitty on the proper diet is really just bonus.

Want to go on a learning adventure of your own? Click this finely-crafted link for all the details about this ongoing contest.