A breadboard filled with logic chips and wiring

SPAM-1 Is A Well-Documented Discrete CPU With An Impressive Software Library

Here at Hackaday we love projects that are so well-documented that you can spend days reading up on what the designer has achieved. [John Lonergan] didn’t disappoint when he designed the SPAM-1, an 8-bit CPU built from discrete logic gates. His detailed log contains a wealth of information on such things as designing opcodes, optimizing program counter logic, running a digital simulation, as well as his thoughts on microcode design. The sheer volume of it may be a bit off-putting to beginners, so it might be best to start with the video series that describes the architecture and goes into detail on several sub-blocks.

The design has changed a bit since [John] first started on the project, as he decided to add more and more features, but the final result is a well-thought out architecture that keeps the simplicity needed for discrete hardware but still has enough features to keep it interesting for seasoned CPU aficionados. The instruction size is rather large (48 bits) to simplify the instruction decoding at the expense of larger code size. Conditional jump instructions are not present; instead, all instructions have an optional control flag to make them conditional, a feature inspired by the ARM instruction set.

Once the design was mature enough, [John] modelled the entire thing in Verilog and simulated his design to verify correct operation and to check the timings, estimating it to be workable up to 5 MHz or so. A large stack of breadboards and DIP chips from the 74xx series then brought the design to life.

Not content with simply designing, simulating and implementing a custom CPU in hardware, [John] also spent significant effort on the software side of things, writing an assembler and even a C-like compiler for the SPAM-1 platform. And if that wasn’t enough, he also added an emulator for the classic CHIP-8 language, which allows it to run existing programs like Pong and Tetris. Input and output for all this software is mostly through a UART connection to a PC. A VGA interface is still on [John]’s to-do list, but he did build an adapter to connect a classic NES controller to the system.

The SPAM-1 is a worthy addition to the long list of discrete-logic CPUs we’ve seen here, such as this breadboard computer running a UNIX-like OS or this minimalistic one. If you’d like to see one that implements an existing instruction set, try this homebrew RISC-V computer.

Continue reading “SPAM-1 Is A Well-Documented Discrete CPU With An Impressive Software Library”

A breadboard full of chips

BreadBin Is An 8-bit TTL CPU On A Breadboard, In A Bread Bin

Building a CPU out of logic gates is a great way to learn about the inner workings of microprocessors, and we’ve seen several impressive projects in this area. [c0pperdragon] set himself the task of designing a very capable 8-bit CPU using just 74HC type logic chips on a large plug-in breadboard. To emphasize the “bread” theme, he put the whole thing inside an actual bread bin and named the accompanying software BERND after an anthropomorphic loaf from a German TV channel.

Getting a reliable breadboard big enough for the task at hand required some engineering by itself: cheap breadboards often have trouble making a reliable contact at each and every pin, while the length of the ground path and lack of shielding cause trouble for high-speed circuits. [c0pperdragon] therefore bought high-quality breadboards and soldered the ground wires together to get a proper low-resistance path. A ground plane made of aluminium foil should also help to prevent signal integrity issues.

A breadboard computer inside a wooden bread binThe total circuit is incredibly compact for a complete CPU, using just 33 chips. This includes 64 KB of flash to store programs as well as a 555 timer to generate a clock signal. I/Os are limited to simple eight-bit input and output buses, but a sixteen-bit address bus gives it plenty of space to add ROM, RAM or fancier interfaces.

The aforementioned BERND program is an emulator that allows the BreadBin to run code written for the 65C816 processor, the 16-bit CPU used in the Super Nintendo and the Apple IIGS. This makes it easy to re-use programs developed for [c0pperdragon]’s earlier OS816 system, which uses an actual 65C816 chip.

This has to be one of the cleanest breadboard CPU designs we’ve seen so far, certainly a lot cleaner than this one. If you’d like to watch a detailed guide to building an 8-bit CPU on a breadboard, we recommend this project.

3D-Printed, Hot-Swap Keyboard PCB Generator Is Super Cool

About a month ago, [50an6xy06r6n] shared their hot swap 3D-printed circuit board for keyboard design with the mechanical keyboard subreddit. It’s more of a prototyping tool than a permanent fixture, though nothing is stopping you from using it permanently. Well, now it’s even better, and open source to boot.

[50an6xy06r6n] came up with this to test split ergo layouts faster and not have to solder anything — the switch pins make contact with the row wires and folded diode legs. In fact, prepping all the diodes is probably the thing that takes the longest.

The design can be generated from layout data, or you can convert directly from a KLE JSON file. We love how delightfully clean this keyboard breadboard generator looks, and we wish we had thought of it!

[50an6xy06r6n]’s PCB generator currently supports Cherry MX/clones and Kailh Choc switch footprints. If you want ALPS, somebody’s gonna have to send [50an6xy06r6n] some ALPS to make that happen.

As long as all the contact points are good, you should be able to use this as the final PCB indefinitely. We’ve certainly seen our share of 3D-printed wire guides. Really, you could print the whole thing, including the switches.

Silicon Jumpers Make This Wire-Free Breadboard Programmable

There’s no doubting the utility of the trusty solderless breadboard, but you have to admit they’re less than perfect. They’re not ideal for certain types of circuits, of course, but that’s less of a problem than those jumper wires. The careless will end up with their components hopeless tangled in a rat’s nest of jumpers, while the fastidious will spend far more time making the jumpers neat and tidy than actually prototyping the circuit itself. What to do?

One way to crack this nut is to make the solderless breadboard jumperless, too. That’s the idea behind “breadWare” a work-in-progress undertaken by [Kevin Santo Cappuccio]. The idea is to adapt a standard breadboard so that connections between arbitrary pairs of common contact strips — plus the power rails — can be made in software. The trick behind this is a matrix of analog CMOS switch chips, specifically the MT8816AP. Each chip’s 128 crosspoint switches can handle up ± 12 volts, so there are plenty of circuits that can use these programmable silicon jumpers.

[Kevin] is currently on version 0.2, which is sized to fit under a solderless breadboard and make a compact package. He shared details on how he’s connecting to the breadboard contacts, and it looks like a painful process: pull out the contact, cut a small tab at the gutter-end, and bend it down so it forms a lead for a through-hole in the PCB. It seems like a lot of work, and there must be a better way; [Kevin] is clearly open to suggestions.

While we’ve seen crosspoint switching used to augment solderless breadboarding before, we find this project pleasing in its simplicity. The thought of tossing out all those jumpers is certainly tempting.

Brilliant Brick Prototyping

Have a rusty collection of protoboards wired together that would benefit from mechanical support? Working on putting together a robot and need to attach PCBAs without drilling holes, zipping a cable tie, or globing hot glue? Add some stud holes with [James Munns]’ Brick Mount! This isn’t the first time we’ve seen an interface between everyone’s favorite Nordic building system and circuitboards, but this implementation has the elegance we’ve come to expect from [James]’ software work.

4×8 Feather Medium protoboard

The project repository contains two things: a KiCad library with components for holes in standard patterns and sizes (1×1, 1×2, etc) and a series of protoboards made with those hole components. The protoboards feature a couple common elements; QUIIC connectors for easy chaining between them and holes in the middle or edges for easy mounting on studs. Some are intended to be carriers for Feather-format PCBAs (very convenient!) and others are primarily undifferentiated prototyping space. Of particular note is the “medium” Feather breakout seen to the left, which incorporates clever cutouts to make it easy to wires down under the board so it can be mounted flush against another board.

The thesis here is that getting custom PCBs fabricated is easier and less expensive than ever before. So easy and inexpensive that fabricating customized protoboard to use in one-off projects is cost-efficient enough to be worthwhile. Waste concerns aside this does seem like a great way to level up those temporary projects which find a more permanent home.

ESP8266 Socket Is A Snap-Fit, Breadboard-Friendly Wonder

It all started with wanting to program an ESP-12 variant of an ESP8266 module without involving any solder. Displeased with all the socket offerings on Thingiverse, [tweeto] set out to design their own breadboard-friendly snap-fit socket.

This certainly looks like a handy solution. All you have to do is print the thing, add all the wires, and stick your ESP in there. Even that wire is easy to find; [tweeto] used 0.8 mm paper clips which are sturdy, conductive, and haunting the darkest corners of every desk drawer. They’re also a little bit on the thick side, so [tweeto] plans to test out 0.6mm copper wire in the future.

The challenge with this type of print is to design something that will stand up to repeated breadboardings without losing legs or falling apart. [tweeto]’s elegant solution is a tiny groove for each wire in the bottom of the socket — it keeps the wire in place by countering the play caused by inserting it into and removing it from a breadboard. See how [tweeto] bends the paper clips in the short video after the break.

There’s more than one way to use 3D printing to your circuit-building advantage, even in permanent circuits — just take a look at this PCB-free Arduboy.

Continue reading “ESP8266 Socket Is A Snap-Fit, Breadboard-Friendly Wonder”

[Ben Eater]’s Breadboarding Tips

A solderless breadboard is a place where ideas go to become real for the first time. Usually, this is a somewhat messy affair, with random jumpers flying all about the place, connecting components that can be quickly swapped to zero in on the right values, or to quickly change the circuit topology. Breadboards aren’t the place to make circuit artwork.

That is, however, not always the case, and we’ve seen more than a few examples from [Ben Eater] on breadboarding that approaches the circuit sculpture level of craftsmanship. And like any good craftsman, [Ben] has shared some of his breadboarding tips and tricks in a new video. Starting with a simple 555 blinkenlight project that’s wired up in the traditional anything-goes fashion, [Ben] walks us through his process for making a more presentation-worthy version.

His tools are high-quality but simple, with the wire strippers being the most crucial to good results. Surprisingly, [Ben] relies most heavily on the simple “scissors-style” strippers for their versatility, rather than the complicated semi-automatic tools. We found that to be the biggest take-home from the video, as well as the results of practice. [Ben] has done tons of this type of breadboarding before, which means when he “eyeballs” stripping 0.3 inches of insulation, he can do it down to a ten-thousandth precision.

Granted, there’s not much new here, but watching this video is a little like watching [Bob Ross] paint — relaxing and strangely compelling at the same time. You can get more of the same with pretty much any of his videos that we’ve covered, like this 6502 breadboard computer build. We’ve also seen [Eater]-inspired builds that are pretty impressive, like this full-8-bit breadboard computer.

Continue reading “[Ben Eater]’s Breadboarding Tips”