8-bit counter made from 555s

555 Timer Contest Entry: A Digital Counter With Nothing But 555s

With a 555 on the BOM, you never know what you’re going to get. With 40 of the versatile timer chips in a build, you might just get something completely unexpected, like this 555-based eight-bit digital counter.

This one comes to us by way of [Astronomermike], who chose to make a digital circuit with nothing but 555s and a largish handful of passives as his entry in the current 555 Timer Contest. The ubiquitous timer chip is not exactly the first chip that comes to mind for digital applications, but it does contain an SR latch, which only requires a little persuasion to become a JK flip flop. His initial design for the flip flop that would form the core of the circuit had a pair of 555s surrounded with a bunch of OR gates and inverters — within the rules of the contest but hardly in its spirit. Luckily, the 555 makes a fine inverter too, and along with some diode-resistor OR gates, the basic counter module was born.

The video below shows the design and build, as well as the trip down the troubleshooting rabbit hole courtesy of a bad breadboard. Each half-nibble stage of the 8-bit counter occupies a full breadboard with ten 555s; the whole 40-chip string actually works and looks pretty cool doing it.

Truth be told, this is exactly the kind of thing we had in mind when dreaming up this year’s 555 contest, so good on [Astronomermike] for thinking outside the box for this one. To see what other uses people have found for the chip that keeps on giving, or to get your entry in before the deadline on January 10, head over to the contest page.

Continue reading “555 Timer Contest Entry: A Digital Counter With Nothing But 555s”

A Well Documented BreadBoard Computer Shows Dedication

These pages have not been exactly devoid of home-built computers, with those constructed on solderless breadboard less frequent, but still not rarities. But what is more of a rarity is this ground-up 8-bit 74xx logic-based computer (video, embedded below) with full source, an emulator, assembler and test suite. [JDH] spent a solid couple of weeks working late into the night to build this, and the results show for themselves.

The new JDH-8 is now a figment of reality.

The architecture is a traditional 8-bit load/store microcoded processor with the microcode stored in easily programmable AT28C64 EEPROMs for ease of tweaking.  The address bus is 16-bits, which is quite ample for this, and puts it in line with (admittedly more sophisticated) 8-bit micros of old such as the 6502. There is also a hardware stack, and a discrete-logic ALU as well! Finally, since that wasn’t enough work already, he added in his own discrete logic video controller.

Wise people simulate before prototyping something like this

There are sixteen instructions covering memory access, ALU operations and I/O operations. One of the great things about this project is that [JDH] readily admits the mistakes made along the way, and how the architecture didn’t need to be this complex. One example is that hardware stack wasn’t really necessary as it could just have been implemented in software. Also, due to the implementation, memory accesses were so fast compared with the achievable cycle time, that there really was no point to using load/store architecture at all! Still, [JDH] had fun building and programming it!

It was interesting to see the use of LogiSim-Evolution to debug first a high level model of the architecture and then the translation into TTL chips. This scribe wasn’t aware of that tool (the shame!) but is going to try this out real soon.

All code for the software side of things can be found on the project GitHub. Perhaps the hardware design will appear there as well, be at the time of writing we couldn’t seem to find it.

Can’t get enough breadboard computers? (We can’t) check this out from last year. Stuck for a suitable enclosure for your latest bread breadboard computer? How about a bread bin.

Continue reading “A Well Documented BreadBoard Computer Shows Dedication”

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.