The FPGA Chronicles: Ready To Probe

In the last few installments, we looked at using the Tang Nano 20K with both the GOWIN tools and some open-source tools. The open-source tools certainly had the advantage of letting you simulate and debug your design before sending it to the actual chip. However, as we’ll see, the GOWIN tools include a very easy-to-use, capable logic analyzer.

Setup

First, you’ll need a GAO config file. When you create one in the editor, you are given a number of complex options. With an active GAO file, the tool builds a logic analyzer into your design, and the file sets the trigger conditions.

Here’s a tip. You can only have one active GAO file. Sometimes you don’t want the logic analyzer. Other times you might want an alternate configuration. If you right-click almost any file in the IDE’s Design tab, you’ll see you can disable it. That gives it a big red X and excludes it from future builds. Well, at least until you enable it again. This lets you pick between multiple GAO files, or even multiple Verilog files, for a particular build (e.g., one for tests and another for production).

If you create a GAO file from scratch, it will ask you if you want “Lite Mode.” As far as I can tell, you will never want this mode. Always use Standard Mode. In addition, you nearly always want RTL mode, which shows you (mostly) the symbols you’ve defined and not the ones added during processing.

You can find the entire manual online, of course. However, the video below and the rest of the post will get you started quickly.

GAO Basics

To set up probing, we need to understand the design, so the rest of this post covers the Verilog we’ll use to test the logic analyzer feature, and you’ll see how the analyzer works in a video. Here are a few sneak peeks at what the analyzer output we’ll see at the end looks like:

The left-hand image shows the pulse that flips the LEDs, which is tricky because the sampling clock is 27 MHz. The right-hand side shows serial data and uses a slower clock specifically used for debugging.

Continue reading “The FPGA Chronicles: Ready To Probe” →

A Modern Browser For The PlayStation Portable

The Sony PlayStation Portable, better known as the PSP, is now over two decades old. In its day it was an impressive handheld gaming machine, not least because of the inclusion of wireless networking and a web browser.

We tried the browser back then, and it’s fair to say the experience was a little underwhelming. We’re thus mightily impressed at [Steve Janovitz], who has produced Tilefinch —  a modern web browser for the PSP.

Depending on the model, the PSP came with a 333 MHz MIPS32 processor, and for all but the first model, 64 MB of RAM. Powerful back in 2004,but leagues behind something that would run any modern web browser. So how’s he doing it? The answer seems to be by careful choice of software components and use of the PSP’s built-in capabilities for jobs such as video decoding. The browser engine is Lexbor for example, while JavaScript is handled by QuickJS.

We don’t have a PSP to hand so we can’t tell how it would render Hackaday or even how fast it is, but we’re suitably impressed by this project. For PSP enthusiasts it’s a game-changing browser, but for us it also points the way towards web browsing being a possibility for other platforms. As the distinction between a high-end microcontroller and a low-end SoC becomes blurred, we’re starting to see exciting new hardware emerging with devices such as Espressif’s ESP32-P4 that, on paper at least, might be capable of running this browser. Exciting times in limited hardware web browsing might be upon us.

Open Firmware Fixes Dead Onkyo AV Receivers

If you’ve been reading Hackaday for any length of time, you’ll know we love seeing hackers replacing the stock firmware on their devices with open source alternatives. Usually this is done because the open firmware offers more features, or lifts some arbitrary limitation. But if you find yourself installing OSIRIS on an Onkyo AV receiver such as the TX-NR717, it’s probably because you’re trying to bring the thing back to life.

As developer [JokÅ«bas] explains, certain Onkyo receivers that use the Texas Instruments D830 are known to suffer from a very specific failure — the device will power on and appear functional, but no audio will come through. When this happens, it’s either because the D830 itself has failed or the 64 MiB NAND flash chip that holds the firmware it runs is cooked. Unfortunately, replacing either component is a bit more difficult than you might expect.

Everything passes through the Texas Instruments D830. If it goes, you’ve got a problem.

If you swap the D830 with a pin-compatible chip that’s easier to find and less prone to failure, the stock firmware won’t boot. If you try to replace the NAND, you’ll find that the original software is only capable of addressing 512-byte pages, while the flash you’ll find on the market today uses 2 KiB or 4 KiB pages. In both cases, it’s OSIRIS to the rescue.

The open firmware not only supports D830 compatible chips such as the OMAP-L137, but it’s able to address modern NAND flash, making the replacement of either or both component far more practical. With fresh hardware and the new firmware installed, your Onkyo receiver should spring back to life. That said, OSIRIS isn’t feature complete yet, and truthfully the items listed as untested or not implemented on the feature list currently outnumber the entries for what actually does work. But at least it’s a start.

Of course, not all the burned out parts on your Onkyo receiver require a firmware flash to replace. Sometimes a misbehaving unit just needs to have a few of its passive components replaced.

Emulating A Floppy Drive By Emulating The Drive Itself

The Commodore 1541 is famously the floppy drive for the Commodore 64 series of 8-bit computers, and can be found with relative ease. Not so well known is its 1551 sibling — the drive made for the Commodore 16 and Plus/4 machines.

They’re particularly rare in 2026, so [Maciej Witkowiak] has made an emulator. But it’s not just modern silicon emulating the whole thing. Instead it’s the same 6510 and ROM you might have found on the original, talking to a Pi Pico emulating the drive hardware. It’s a gloriously over the top solution to the problem of emulating a disk drive, the reason being that it started life as a daughter board plugged into an original drive mainboard.

Complementing the Pico is a CPLD for glue logic, and an OLED for selecting disk images. The Pico even generates the clock and IRQ timing for the venerable 8-bit part. The ROM is 64k in size, room enough for both the original firmware and enhanced community versions. The whole thing can be found in a GitHub repository, should you wish to have a go yourself.

Long time Hackaday readers will know [Bil Herd] as one of our contributors. If you’re interested in the back story to the series of computers that included the Commodore 16, his book makes for interesting reading.

Using Kirigami Techniques To Make Functional Designs

The variant of origami called kirigami (‘cut paper’ in Japanese) also starts off with a sheet of paper, but it allows for cutting the paper to increase the number of shapes that you can create. It is this technique that [Matthew Lim] used to create a number of three-dimensional designs that can convert between a flat configuration and some kind of functional object without any bolts, glue or similar. These include everything from a phone grip to a pretty sizeable side table.

The video starts with an interesting demonstration of how to fold an origami crane that has a smaller crane on its back. This is documented in a 1797 book on the many ways to fold a crane, with one of the first known instances where cuts are made in the single sheet of paper, which becomes the second, much smaller crane.

The same book extends that idea into making an origami grid that can fold into a grid of cranes after making a series of cuts. Later this form of origami got the name ‘kirigami’, with the video demonstrating how a few strategic cuts in an original flat shape can make it much more functional, based on scientific papers like this 2024 one by [Liu] et al. on cylindrical origami with tunable mechanical behavior.

For these functional mechanisms a laser cutter and FDM printer are used to prototype and test increasingly more advanced versions of the pop-up mechanism, before moving on to make full-sized furniture using plywood panels and 3D printed hinges. The coolest part about the resulting table is that it can be changed into different configurations, with the mechanism locking into its new position to make a relatively stable new shape.

Even if not immediately practical, these mechanisms provide interesting options for robotics and flat-pack furniture alike, as well as in applications like space exploration where every gram and cubic millimeter of space counts.

Continue reading “Using Kirigami Techniques To Make Functional Designs” →

WiFi Router Does Software-Defined Radio

Perhaps the most famous of software-defined radios is the RTL-SDR, which is very cheap because it’s a digital TV receiver that’s been pressed into service delivering raw I and Q data streams. But the RTL-SDR is certainly not the only chipset that can do this, and today we have a new one.

The MediaTek MT7996 radio chip in the Gemtek W1700K WiFi 7 router can serve as a very competent SDR receiver, and here’s [h0m3us3r] with the code to make it stream over Ethernet to a Linux machine with a web server, through the device’s SoC.

The radio works on the 2.4, 5, and 6 GHz bands, depending upon which version of the device — and thus which radio chip — you have. These may not be entirely useful to many who use lower bands, and given that a similar hack has been found for ESP32 radios on 2.4 GHz it’s likely a demand will arise for a receive up-converter. Until then, you can look at WiFi packets in a waterfall view to your heart’s content.

Since more and more devices now incorporate a radio, we hope that more such undocumented raw streaming modes will be found, and that we’ll see some other new SDRs. Something to look forward to.

The Prusa Core One+ INDX, A Troubled Multi-Extruder Upgrade?

The Prusa Core One+ INDX is an interesting upgrade to the base FDM printer by Prusa, featuring eight independent extruders – hence the INDX – that in theory should allow for multi-material and multi-color printing with very little purge waste. As [Thomas Sanladerer] found out during his experiences with this printer, there are a lot of issues with this machine, including the ability – or lack thereof – to print with non-Prusa filament.

Although the premise is solid, with a claimed 0.013 grams of purge waste per color or material change along with pretty nice dual-gear Bondtech extruders, the first major hurdle that [Thomas] encountered was that the mandatory calibration sequence on starting a print is designed to only work with Prusa’s own filament and its specific material properties. This resulted in an inability to print with Voxel PLA until [Thomas] removed this sequence manually from the g-code.

This is when [Thomas] found out that the entire print sequence uses the material presets for Prusa’s filament, resulting in a failed print. The results from the manual calibration are also not saved despite the display claiming it does, making this calibration on starting a print absolutely mandatory.

Other issues found are the useless position of the camera as it’s now blocked-off by the INDX hardware, with even manual peeking into the print chamber being heavily obscured by the contraption that holds the extruders. This makes even checking that filament has loaded correctly is borderline impossible, never mind ogling the printing process.

Although there’s a lot to like about this INDX upgrade to the Core One+, the above and other issues discussed in the video make it look somewhat shaky next to competitors like the Bambu Lab H2C and Snapmaker U1, as well as Prusa’s own XL toolchanger printers. During [Thomas]’s print test comparison between the XL and the Core One+ INDX there was no contest that the XL simply works, whereas the INDX even struggles with some Prusa filaments.

Continue reading “The Prusa Core One+ INDX, A Troubled Multi-Extruder Upgrade?” →