Homebrew RISC-V Computer Has Beauty And Brains

Building your own CPU is arguably the best way to truly wrap your head around how all those ones and zeros get flung around inside of a computer, but as you can probably imagine even a relatively simple processor takes an incredible amount of time and patience to put together. Plus, more often than not you’re then left with a maze of wires and perfboards that takes up half your desk and doesn’t do a whole lot more than blink some LEDs.

An early prototype of the Pineapple ONE.

But the Pineapple ONE, built by [Filip Szkandera] isn’t your average homebrew computer. Oh sure, it still took two years for him to design, debug, and assemble, his 32-bit RISC-V CPU and all its associated hardware; but the end result is a gorgeous looking machine that runs C programs and offers a basic interactive shell over VGA. In fact with its slick 3D printed enclosure, vertically stacked construction, and modular peripheral connections, it looks more like some kind of high-tech scientific instrument than a computer; homebrew or otherwise.

[Filip] says he was inspired to build this 500 kHz (yes, kilohertz) beauty using only discrete logic components by [Ben Eater]’s well known 8-bit  breadboard computer and [Robert Baruch]’s LMARV-1 (Learn Me A RISC-V, version 1). He spent six months simulating the machine before he even started creating the schematics, let alone design the individual boards. He tried to keep all of his PCB’s under 100 x 100 mm to take advantage of discounts from the fabricator, which ultimately led to the decision to align the nine boards vertically and connect them together with pin headers.

In the video below you can see [Filip] start up the computer, call up a bit of system information, and even play a rudimentary game of snake before peeking and poking some of the machine’s 512 kB of RAM. It sounds like there’s still some work to be done and bugs to squash, but we’ve already seen enough to say this machine has more than earned entry into the pantheon of master-crafted homebrew computers.

Continue reading “Homebrew RISC-V Computer Has Beauty And Brains”

Someone Get This Minimalist Wooden PC A Martini

It’s interesting to imagine what computers may have looked like throughout different time periods that precede their portability or even their existence altogether. In the 1950s and ’60s, computers still filled entire rooms, but if the age of the PC had arrived earlier one is left to wonder what might a minimalist mid-century PC might look like.

Well, if we were lucky, it would have looked something like [xmorneau]’s cubical computing creation. This DIY beauty is made of scrap oak and a sexy set of hairpin legs. As hot as it looks, [xmorneau] shouldn’t have to worry about overheating — the bottom is completely open except for an intake fan, there’s another fan at the top that exhausts hot air through a mesh grille, and those lovely little legs elevate it four inches off the desk. Our favorite part (after the legs) has to be the secret lid that blends in beautifully.

The cube measures 32cm³ (~12.6in³), so [xmorneau] went with a mini-ATX motherboard, but was able to fit in a full-size graphics card. Everything is mounted internally to wood except for the mobo, which is mounted on a panel of sheet metal that makes up the back wall.

We love the way this looks and are glad to see that this build changed [xmorneau]’s opinion of RGB a little bit, because we can’t help but like it both ways.

Too sophisticated for your taste? Check out this LEGO-Minecraft mashup.

Undocumented X86 Instructions Allow Microcode Access

For an old CPU, finding all the valid instructions wasn’t very hard. You simply tried them all. Sure, really old CPUs might make it hard to tell what the instruction did, but once CPUs got illegal instruction traps, you could quickly just scan possible op codes and see what didn’t throw an exception. Modern processors, though, are quite another thing. For example, you might run a random instruction that locks up the machine or miss an instruction that would have been valid but the CPU is in the wrong mode. [Can Bölük] has a novel solution: By speculatively executing the target instruction and then monitoring the microcode sequencer, he can determine if the CPU is decoding an instruction even if it refuses to execute it.

Some unknown instructions may have power for good or evil, such as the recently announced undocumented instructions that can apparently rewrite the microcode. We expect to see a post soon on how to reprogram your Intel processor to run as a 6502 natively.

Continue reading “Undocumented X86 Instructions Allow Microcode Access”

Video Ram Transplant Doubles RTX 3070 Memory To 16 GB

Making unobtainium graphics cards even more unobtainable, [VIK-on] has swapped out the RAM chips on an Nvidia RTX 3070. This makes it the only 3070 the world to work with 16 GB.

If this sounds familiar, it’s because he tried the same trick with the RTX 2070 back in January but couldn’t get it working. When he first published the video showing the process of desoldering the 3070’s eight Hynix 1 GB memory chips and replacing them with eight Samsung 2 GB chips he hit the same wall — the card would boot and detect the increased RAM, but was unstable and would eventually crash. Helpful hints from his viewers led him to use an EVGA configuration GUI to lock the operating frequency which fixed the problem. Further troubleshooting (YouTube comment in Russian and machine translation of it) showed that the “max performance mode” setting in the Nvidia tool is also a solution to stabilize performance.

The new memory chips don’t self-report their specs to the configuration tool. Instead, a set of three resistors are used to electronically identify which hardware is present. The problem was that [VIK-on] had no idea which resistors and what the different configurations accomplished. It sounds like you can just start changing zero Ohm resistors around to see the effect in the GUI, as they configure both the brand of memory and the size available. The fact that this board is not currently sold with a 16 GB option, yet the configuration tool has settings for it when the resistors are correctly configured is kismet.

So did it make a huge difference? That’s difficult to say. He’s running some benchmarks in the video, both Unigine 2 SuperPosition and 3DMark Time Spy results are shown. However, we didn’t see any tests run prior to the chip swap. This would have been the key to characterizing the true impact of the hack. That said, reworking these with a handheld hot air station, and working your way through the resistor configuration is darn impressive no matter what the performance bump ends up being.

Continue reading “Video Ram Transplant Doubles RTX 3070 Memory To 16 GB”

chadaustin's sculpt keyboard test pads wired to protonC

Tether Tames Temperamental Typing

[chadaustin] has a favorite keyboard with a great ergonomic shape, key travel distance, and size, but after switching to Windows 10, the wireless connection introduced a terrible delay. Worse yet, the receiver is notoriously susceptible to interference from USB 3.0 hubs. To provide 128-bit AES encryption, the receiver is paired with the keyboard at the factory and cannot be replaced. If you lose that, you gain a highly ergonomic paper-weight. The solution for [chadaustin] was tethering the keyboard and receive several crash-courses in hardware hacking along the way. As evidenced by the responses to this project on ycombinator, many long-time fans of the Microsoft Sculpt Ergonomic Keyboard, introduced in 2013, suffer similar issues.

chadaustin's sculpt keyboard USB board layout
KiCad USB controller board layout

We really appreciate that [chadaustin] took an incremental approach, tackling one problem at a time and getting help from others along the way for first attempts at many complex steps. The proof-of-concept involved hand-soldering each lead from the keyboard matrix’s test pads to a QMK Proton C, which worked but couldn’t fit inside the keyboard’s case. For a more permanent and tidy solution, [chadaustin] tried a ribbon-cable breakout board and other microcontrollers, but none of those were compact enough to fit inside the case either. This required a custom PCB, another first for [chadaustin].

After a one-day intro to KiCad, [chadaustin] dug into the datasheets, completed a schematic for the board, and generously shared the process of choosing components and creating the layout. [chadaustin] ordered a board and found the mounting holes’ placement needed to be shifted.

With the full matrix mapped by [johnmilkspill], flashing QMK onto the AT90USB1286 controller went fairly smoothly. [chadaustin] chose to map both sides of the split spacebar back to the space key but did add a feature by repurposing the battery indicator LED to Caps Lock. And the results?

chadaustin's sculpt keyboard USB controller fit into case
USB controller fits into the plastic case, wires added to ISP for bootloader button

According to testing done with Is It Snappy?, the latency dropped from the wireless 78 ms down to 65 ms over USB. More importantly, this latency is now consistent, unaffected by USB hubs, and there is no receiver to lose. Of course, [chadaustin] has ideas for future improvement, including regaining the multimedia function keys, as these kinds of hacks are never really done; they are just in the current revision. No word on the fate of the detached number pad, but that likely needs its own tether and is a project for another day.

Thanks for the tip [Linus Söderlind]

Full DIY: A UNIX Clone On TTL

Making a CPU or indeed a whole computer system from scratch using discrete logic chips is by no means an unusual project, but it’s still one that requires quite a lot of technical ability and understanding of how computers work. Similarly, writing a UNIX-like operating system from scratch is something that’s been done more than once, but which definitely puts the author in an exclusive breed.  Creating a CPU and computer system from discrete logic and then writing a UNIX-like OS for it? That’s definitely something new, but here’s [RobotMan2412] with both CPU and operating system to prove it!

The GR8CPU as he calls it is an 8-bit design with a 16-bit address space, making it equivalent to a typical mid-to-late 1970s 8-bit chip. He’s on revision 3 of the processor, and even makes the bold suggestion that it might be the most complex breadboard CPU ever made. That’s impressive enough, but to add a UNIX-like operating system makes it special.

While he has a real GR8CPU, it appears he’s also written an emulator with access to a disk filesystem, and it’s on this that he shows us the OS running. Don’t expect an all-singing all-dancing desktop OS here, instead it’s a kernel and very basic command line that’s just about able to run a Hello World. The kernel is hand-coded in assembler and is about 5 kB in size.

We look forward to seeing more of this project, and hope maybe he’ll one day soon publish the source. As a reminder that this is a perfectly capable platform for the job, here’s the original UNIX running on a vintage DEC PDP7.

2:3 Scale VT100 Is A Perfect Pairing For PDP-8/I Replica

When he went shopping for a vintage serial terminal to go along with his reproduction PDP-8/I computer, [Michael Gardi] came down with a bad case of sticker shock. But rather than be discouraged, he reasoned that if his “retro” computer could stand to have modern components at its heart, so could the terminal he used to talk to it. Leaning on his considerable experience in designing 3D printed replica hardware, he’s built an absolutely gorgeous scaled down DEC VT100 terminal that any classic computer aficionado would be happy to have on their desk.

Now to be clear, [Michael] hasn’t created a true serial terminal. Since the faux PDP-8/I is running on a Raspberry Pi, all he needed to do was come up with something that could connect to its HDMI and USB ports. Put simply, he’s essentially just made a 3D printed enclosure for the Pi’s monitor and keyboard. Oh, but what a gorgeous enclosure it is.

Recreating the VT100 in CAD was made more difficult by the fact that [Michael] couldn’t get his hands on the authentic hardware. But of course, that’s never stopped him before. It turns out DEC provided some very detailed dimensions for the terminal in their original documentation, and while comparing them to photographs of the actual terminal did uncover a few key differences, the overall look is spot on. Once the design was done, he reports it took two rolls of filament and more than 200 hours to print out all the parts for the enclosure.

To help sell the authentic look [Michael] tracked down a 4:3 LCD of the appropriate size, and the use of an off-the-shelf portable mechanical keyboard should make text entry a pleasure. For a little fun, he even came up with a themed arcade controller for the VT100 that can be used with RetroPie. The printed logo plate is an especially nice touch, and we’re more than willing to forgive the fact that he had to print it at a larger scale than the rest of the terminal to get all the detail in with his printer’s 0.4 mm nozzle.

On a technical level, this is perhaps the most straightforward replica we’ve ever seen from [Michael]. But even on a relatively simple project like this, his signature attention to detail and craftsmanship is on full display. It’s always a good day when he’s got a new build to show off with, and we’re eager to see what he comes up with next.