MoreRSS

site iconHackadayModify

Hackaday serves up Fresh Hacks Every Day from around the Internet. Our playful posts are the gold-standard in entertainment for engineers and engineering enthusiasts.
Please copy the RSS to your reader, or quickly subscribe to:

Inoreader Feedly Follow Feedbin Local Reader

Rss preview of Blog of Hackaday

Arduino Code? On my 8051? It’s More Likely Than You Think

2026-03-22 22:00:54

The 8051 was an 8-bit Harvard-architecture microcontroller first put out by Intel in 1980.  They’ve since discontinued that line, but it lives on in the low-cost STC8 family of chips, which is especially popular in Asia. They’re cheap as, well, chips — under 1$ — but lack compatibility with modern toolchains. If you’re happy with C, then you’re fine, but if you want to plus-plus it up and use all those handy-dandy shortcuts provided by the Arduino ecosystem, you’re out of luck. Or rather, you were, until [Bùi Trịnh Thế Viên] aka [thevien257] came up with a workaround.

The workaround is delightfully Hack-y. One could, conceivably, port a compiler for Arduino’s  Wiring to the 8051, but that’s not what [Viên] did, probably because that would be a lot of work. There isn’t even a truly modern toolchain to put plain C on this chip. Instead, [Viên] started with rv51, a RISC-V emulator written in 8051 assembly language by [cryozap]. RISC-V is a lot easier to work with and, frankly, a more useful skill to build up.

Now emulation does come with a cost: 8kB of flash memory and a 100x to 1000x slowdown in the emulated application code. For that reason, anything timing critical, like interrupts, should probably be handled the old-fashioned way. He’s targeting the STC8H8K64U specifically, so if you happen to have other STC8-based dev boards lying around, you’ll have some extra work ahead of you.

Of course, you can get ultra-cheap microcontrollers that are natively RISC V already– and they’re good enough to act as microcomputers of the era the 8051 hails from, so this hack is likely going to stay fairly niche. Still, if you’re in that niche, teaching an 8051 to speak RISC might be a handy trick to have in your back pocket.

Building a $50 SDR with 20 MHz Bandwidth

2026-03-22 19:00:24

An oscilloscope display is seen in lower left corner. In the rest of the image, two purple circuit boards are connected by SMA RF cables. A wire antenna is connected to one board.

Although the RTL-SDR is cheap, accessible, and capable enough for many projects, it does have some important limitations. In particular, its bandwidth is limited to about 3.2 MHz, and the price of SDRs tends to scale rapidly with bandwidth. [Anders Nielsen], however, is building a modular SDR with a target price of $50 USD, and has already reached a bandwidth of almost 20 MHz.

If this project looks familiar, it’s because we’ve covered an earlier iteration. At the time, [Anders] had built the PhaseLoom, which filters an incoming signal, mixes it down to baseband, and converts it to I/Q signals. The next stage is the PhaseLatch, a board housing a 20-MHz, 10-bit ADC, which samples the in-phase and quadrature signals and passes them on to a Cypress FX2LP microcontroller development board. [Anders] had previously connected the ADC to a 6502 microprocessor instead of the FX2LP, but this makes it a practical SDR. The FX2LP was a particularly good choice for this project because of its USB 2.0 interface, large buffers for streaming data, and parallel interface. It simply reads the data from the SDR and dumps it to the computer.

The FX2LP didn’t support the ADC’s clock rate, and overclocking the ADC led to issues, so [Anders] connected the ADC to an independent 20 MHz oscillator. The frequency spectrum of the SDR was oddly bell-shaped, which turned out to be due to the limited analogue bandwidth of the PhaseLoom (about 650 kHz) falling behind the digital bandwidth of 20 MHz. The PhaseLoom’s bandwidth seemed to be limited mostly by an amplifier, and decreasing its gain greatly improved matters. The SDR doesn’t yet have a 20 MHz bandwidth according to the normal definition, but it’s close enough to be practical, and further improvements will have to wait on an updated PhaseLoom board.

The Cypress development board used here is surprisingly capable – we’ve previously seen it used to build an SDR GPS decoder. Most of the custom-built SDRs we see don’t focus on technical performance, but do use such interesting components as a tube-based receiver or a custom silicon chip.

How a Belkin USB Charger Pulls off a 3 Milliwatt Standby Usage

2026-03-22 16:00:40

Belkin charger standby power. (Credit: Denki Otaku, YouTube)
Belkin charger standby power. (Credit: Denki Otaku, YouTube)

A well-known property of wall warts like power bricks and USB chargers is that they always consume some amount of power even when there’s no connected device drawing power from them. This feels rather wasteful when you have a gaggle of USB chargers constantly plugged in, especially on a nation-sized scale. This is where a new USB-C wall charger by Belkin, the BoostCharger Pro, is interesting, as it claims ‘zero standby power’, which sounds pretty boastful and rather suspect. Fortunately, [Denki Otaku] saw fit to put one to the test and even tear one down to inspect the work of Belkin’s engineers.

Naturally, no laws of physics were harmed in the construction of the device, as ‘zero standby power’ translated from marketing speak simply means ‘very low standby power usage’, or about 3 milliwatt with 0.3 mA at the applied 100 VAC.

Fascinatingly, plugging in an e-marker equipped USB-C cable with no device on the other end caused this standby usage to increase to about 30 mW, clearly disabling the ‘zero standby’ feature. With that detail noted, it was time to tear down the charger, revealing its four PCBs.

The boring answer here is that Belkin didn’t do anything special, but rather followed the Renesas application note for a 65W USB-C adapter with Zero Standby Power:

Zero Standby Power application note. (Credit: Renesas)
Zero Standby Power Application Note. (Credit: Renesas)

As can be surmised from the effect of a non-e-marked versus e-marked USB-C cable being inserted, the USB-PD controller IC detects the presence or absence of a cable, and signals the flyback section to mostly shut down. This then leaves a trickle of current for the charger’s ICs as they wait for something to happen. In the (unfortunately restricted) datasheet for the Renesas iW9870 flyback controller IC, we can see this feature described, including how plugging in a USB cable disables the feature.

This feature appears to be somewhat related to how USB power banks work, with them shutting down the outputs if idle, though there are some issues with it backfiring. Some power banks have a ‘trickle charge’ mode where even low amounts of current being drawn doesn’t shut off the output. In the case of this Renesas ‘zero standby power’ feature, it seems to rely on USB cable detection as an equivalent to an active power device.

As noted in the video, this seems to cause issues when inserting an e-marked cable, and some users have reported the charger randomly turning off the output while actively charging from it. Here we’d like to pitch an absolutely bonkers suggestion, and pitch putting a physical on/off switch on the charger – as well as on power banks – rather than try to do more smart guessing.

An Electric Jellyfish For Androids

2026-03-22 13:00:19

We have to admit, we didn’t know that we wanted a desktop electric jellyfish until seeing [likeablob]’s Denki-Kurage, but it’s one of those projects that just fills a need so perfectly. The need being, of course, to have a Bladerunner-inspired electric animal on your desk, as well as having a great simple application for that Cheap Yellow Display (CYD) that you impulse purchased two years ago.

Maybe we’re projecting a little bit, but you should absolutely check this project out if you’re interested in doing anything with one of the CYDs. They are a perfect little experimentation platform, with a touchscreen, an ESP32, USB, and an SD card socket: everything you need to build a fun desktop control panel project that speaks either Bluetooth or WiFi.

We love [likeablob]’s aesthetic here. The wireframe graphics, the retro-cyber fonts in the configuration mode, and even the ability to change the strength of the current that the electric jellyfish is swimming against make this look so cool. And the build couldn’t be much simpler either. Flash the code using an online web flasher, 3D print out the understated frame, screw the CYD in, et voila! Here’s a direct GitHub link if you’re interested in the wireframe graphics routines.

We’ve seen a bunch of other projects with the CYD, mostly of the obvious control-panel variety. But while we’re all for functionality, it’s nice to see some frivolity as well. Have you made a CYD project lately? Let us know!

Analog Video From an 8-Bit Microcontroller

2026-03-22 10:00:41

Although the CRT has largely disappeared from our everyday lives, there was a decades-long timeframe when this was effectively the only display available. It’s an analog display for an analog world, and now that almost everything electronic is digital, these amazing pieces of technology are largely relegated to retro gaming and a few other niche uses. [Maurycy] has a unique CRT that’s small enough to fit in a handheld television, but since there aren’t analog TV stations anymore, he decided to build his own with nothing but an 8-bit microcontroller and a few other small parts.

The microcontroller in question is a fairly standard 8-bit AVR. These microcontrollers have one major limitation when generating the VHF and UHF radio signals needed for analog TV: their natural clock speed is much too low. The maximum output frequency of a pin on this microcontroller is only 6 MHz, and [Maurycy] needs something about two orders of magnitude faster. To solve this problem, [Maurycy] uses a quirk of the square wave generated by toggling a pin at its maximum frequency, which is that a wide range of harmonics will be generated, some of which will have a high enough frequency to be picked up on the handheld analog TV. The microcontroller is configured to use two pins.  Toggling the pins into various states allows the humble AVR to generate a usable TV signal.

The scan rate for CRTs is comparably low as well. At the beginning of each frame, there’s enough processing power left on the microcontroller to play Conway’s Game of Life, which is then sent out over the airwaves to the TV. [Maurycy] notes that his harmonics-based video generation method is extremely noisy and probably wouldn’t pass FCC muster.  However, the signal Power is so low that it’s unlikely to interfere with anything. If you’re curious about these unusual sideways-built CRTs, though, we recently saw someone take two apart and use them to build a CRT-based VR headset.

Reviving a Cursed Sun SPARCstation IPX

2026-03-22 07:00:20

SPARCstation IPX running Solaris 2.6. (Credit: This Does Not Compute, YouTube)
SPARCstation IPX running Solaris 2.6. (Credit: This Does Not Compute, YouTube)

The best part about retro computing is the idea that you’ll save some poor system from being scrapped and revive it to a working state, at which point you can bask in the glory of a job well done. That’s when reality often strikes hard, and you find yourself troubleshooting a maddening list of issues as you question everything about your life choices. Such was the case with [This Does Not Compute] over at YouTube with a Sun SPARCstation IPX that decided to put up a big fight.

This is the second video of a series. In the first installment, the PSU was repaired, and a boot failure was diagnosed. The system’s onboard diagnostic led to the assumption that one of the 8 kB SRAM ICs was defective.  You can readily get SRAM replacements, so it seemed to be an easy fix. Unfortunately, the fun was only beginning as the system reported the exact same error after the SRAM was replaced.

After flipping a virtual table, the mainboard was swapped with a donor one from a scrapped laptop system. With this, it booted, but the video output showed only vertical lines. Obviously, the solution here was to insert a replacement video card, which not only fixed the display output but also demonstrates once again that you can fix many vintage computing issues by simply replacing hardware.

With the system now seemingly happy, a disk drive was added so that Solaris 2.3 could be installed. This turned into another confusing job. Getting into the GUI was seemingly impossible. Ergo, this virtual table got flipped, too, and Solaris 2.6 was installed. Finally, the system got to the desktop GUI.  At this point it was clear that this 40 MHz mid-range SPARCstation from 1991 is no speed monster.  Just drawing windows was slower than an X11 remote session over 9600 baud dial-up.

Installing more RAM might have helped here, but the system requires parity FP RAM, which could have been purchased, but at some point, you have to decide how much money you want to throw at an old system like this. Although these are still pretty interesting systems in their own right, it should be clear that they are not easy systems to repair or maintain.