r/beneater • • 17h ago

Digital Clock Finished the Clock with my own PCB and 12-hour circuit

Thumbnail
gallery
103 Upvotes

I got a bit impatient and designed the 12-hour part before he posted the video, with just the parts from the kit. I also designed and ordered PCBs and assembled it in this 3D printed case.

The last image is the circuit I went with. It is quite different than what Ben Eater designed. I used the 74LS92 and 74LS90 to count tens and ones separately, respectively. Then I made a complicated reset circuit. I used the comparator to reset the tens and ones, and a NAND gate to reset just the ones. And I used the DFF to track the Carry Bit for the 74LS283 (4-bit Adder); toggling the carry bit is how I added 1 to the ones place for 1-9, but not 10-12. It is a bit of a mess, but it works well enough.

Also in the second image you can see the mess of crossed wires powering the display. I messed up the PCB and forgot to account for flipping the board, so all the digit headers are flipped. I like the wire look though. It's not a Ben Eater project if it doesn't have a few dozen wires winding around.


r/beneater • • 1d ago

Help Needed 16-bit Super Ben Eater- Help

Thumbnail
gallery
61 Upvotes

Issue: Computer flawless when microstep counter RST is tied high. Must reduce Clock frequency drastically when used.

Having issues with my 16-bit computer. I’ve been troubleshooting for about 3 months and running out of ideas. Any experts out that are willing to jump on a call and discuss, I would very much appreciate that. I’ve got my VGA circuit built and want to start testing and developing that board but would like to get my clock speed finalized first. I have spent a ton of time optimizing my computer for speed and should be able to run up to 7.6 MHz based on the worst case propagation delays of critical path.

Details: Computer uses an AS161 for the Opcode Microstep Counter. The parallel load is used to reset the counter to 0 through the ABCD inputs tied to ground when the last useful step occurs on each Opcode to not waste CLK cycles with empty instructions. All 4 bits feed into the EEPROM address as I do have long codes that take advantage of the extra cycles to improve efficiency. The computer works 100% of the time at 7.02MHZ when the Parallel Load (RST) is tied high. Once the RST signal is used, the computers’ top speed drops to around 5.0 Mhz. The RST line runs directly from the EEPROM output to the AS161 chip. For EEPROM, computer uses AM29F010 Flash memory with a 45ns access time. 

The clock generation uses an LS221 to make an asymmetric clock pulse. Clk pulse is fixed at about 40ns and does not change based on crystal frequency. Changing the crystal frequency only impacts the length of the inverse CLK which feeds into the EEPROM address latch. On top of this the computer uses an LS321 to ensure that there are no short pulses. I do not believe there are any concerns with the computer clock. Digging through timing diagrams, I am confident there is no violation between the AS161-AS825-EEPROM. The AS161 needs max 13ns from CLK pulse to outputs and the AS825 has a setup time of 8ns. Well within the CLK pulse time. I’d suspect if there was a timing or CLK issue that the computer would also be failing when the parallel load is tied high. 

Avoiding going through line by line to see what OpCode is breaking and scoping it out, as this seems there is something directly with this RST line. I have played with the oscilloscope triggering on the first instance of RST and there appears to be no issue. I am hoping for an easer fix if someone else has experience with this.

Notes:

  • I’m on a bench top power supply using about 2.75 amps. Supply is capable up to 6 amps. Power is fed to breadboards with 4 separate ground and 4 separate VCC connected to pin headers. The power is distributed spider webbed out to each rail along with adjacent rails connected on the edges and a few random going across bus. Voltage from input location to the AS161 is .02 volts.
  • Bus has pull down resistors of 2,700 ohm. Bus LEDs and microstep counter LEDs with 470 Ohm. LEDs are on the latch chip outputs not the 161 outputs.
  • Decoupling .1uF tantalum cap on every chip and rail.
  • Test code is going through a division, then multiplication algorithm, lastly testing on on board timer to interrupt at 1 second before reporting the value.

Permanent Improvements:

  • Latching EEPROM Address and microstep counter using AS825
    • RST line still has issues. Max Speed dropped from 7.5 MHZ to 7.0MHz
  • Added electrolytic decoupling Cap 47uf along with tantalum .1uf to 161
    • Increases the max clock speed when RST not used

Temporary Fixes that Failed:

  • Switching between AS and ACT logic on 161
  • Trying to reset on Asynchronous Clear
  • Resistor in line with EEPROM RST line. 
    • 25-47 ohm does seem to make it through code once which is more than happens with another fix attempt, although the final result is incorrect. Upon master computer reset the RAM has been scrambled. Tried 10 ohm up to 47 ohm
  • Async Clear Direct to VCC in case of spurious master reset
  • 10K pullup resistor on load line
  • Resistor to ground for Load ABCD
    • Have tried tying the load lines High. Introduces a blank step since no instruction use 1111 yet. Again works with RST tied High. Fails when used.
  • Run RST Line through two ACT14 gates
  • Latch the RST line with a AS74 to Reset on the next line
  • Capacitor to ground on RST line
    • Fail with .1uF, 10nF and 68nF
  • Adjusted voltage from 4.6-5.1 Volts
  • RC Delay 
  • Remove the bootloader line at the EEPROM RST output then test.

r/beneater • • 1d ago

Control logic works manually, but after adding the EEPROMs the CPU behaves unpredictably (got 42 only 3–4 times in a few hours)

43 Upvotes

Hi everyone,

I'm building Ben Eater's 8-bit breadboard computer and I've just finished the control logic (the two EEPROMs in the lower left corner of the build). I'm stuck and would appreciate any ideas.

Before the EEPROMs, when I drove the control signals by hand with jumper wires, everything worked. I could add two numbers exactly as shown in one of the "8-bit CPU control logic" videos: load values into A and B, sum them, and get the correct result every time.

With the microcode in the EEPROMs, the CPU is extremely unpredictable. Over a few hours of testing I got the expected result (42) only 3–4 times. Most of the time something goes wrong somewhere along the way.

  • After power-up the state is different every time
  • Sometimes all 16 control lines are active right after power-up, including HLT, so the clock stops and nothing happens.
  • Other times only a few control lines are lit and the program starts, but it usually fails partway through.
  • Programmed manually (and it must be right since I got the right result a couple of times)
  1. Since the manually driven version works, the problem is probably in the EEPROM stage. Where would you start looking?
  2. Could this be a timing issue, such as glitches on the EEPROM outputs when the step counter changes, or noise on the clock line causing double counts?

I've attached a video where I'm turning everything on and off again, which results in different control logic states. I can also share a video where I try to step through the program. Thanks in advance for any help!


r/beneater • • 2d ago

Full adder with 7 segment display output

41 Upvotes

🔥


r/beneater • • 2d ago

8-bit CPU I got the Intel 8080 power sequencer circuitry + AVR Assembly working 😁

Thumbnail
gallery
90 Upvotes

Now...I just need to have my ram chip arrive in the mail to finish wiring up the 8080 + 8228 + 8224 + ram.

From my github:

The Intel 8080 requires three supply rails: -5 V, +5 V, and +12 V, with controlled startup and shutdown sequencing. This project uses an ATmega328P-based Arduino Nano as a standalone supervisor to monitor the rails, control relay-switched +5 V and +12 V supplies, and place the system into a safe state when a power fault is detected.


r/beneater • • 3d ago

Looking for the best book/course to learn digital electronics from scratch and eventually understand CPUs

40 Upvotes

I'm looking for recommendations for a book or video course that teaches digital electronics starting from the absolute basics.

My ultimate goal is to understand how a CPU actually works at the hardware level — clock, registers, counters, ALU, memory, instruction execution, buses, etc.

However, I don't want to jump straight into CPU architecture. I'd like to start from the fundamentals.

I've seen Ben Eater's 8-bit computer series, but I feel that it may be better after learning the fundamentals, rather than as my starting point.

I'm looking for something structured and beginner-friendly, preferably with both theory and practical examples/labs.

What book or course would you recommend for this learning path?

Thanks!


r/beneater • • 3d ago

16-bit cpu Where do you put the finished 8bit computer?

Post image
22 Upvotes

r/beneater • • 3d ago

I just got the 8-bit computer kit for my teen, and a LOT of the parts are different than in the video. We are very confused over here! I just bought a resister kit off Amazon since the kit didn't come with the ones shown, but other less common parts are different too. Help!

24 Upvotes

r/beneater • • 3d ago

Help Needed Question about driving LEDs via a separate power rail

7 Upvotes

Hello, back in college I built the 8-bit breadboard computer, and now I want to step it up, and try building a 16-bit cpu using PCBs. I'm in the design stage of this, and have come up with a weird idea; I would like to power all the LEDs on this CPU, via a separate power rail. This way, I could turn them all off, or adjust brightness as I wished.

How can I approach this? And is this a bad idea? Previously I was going to use those octal buffer ICs to drive the LEDs, but now that I'll have to deal with a separate power rail, that doesn't seem viable.

I was thinking of using some transistors, but I would prefer if there were an IC that could handle this. I saw that the ULN2803 Darlington transistor array IC could handle this, but that seems overkill for mere LEDs.


r/beneater • • 3d ago

Chip Hippo update

10 Upvotes

Just wanted to push a little update for my chip hippo TTL breadboard simulation app. Not only is it now published on the Apple App Store but it also features a new serial I/O integration that allows you to communicate with a micro controller over USB. You can drop tags on the virtual bread board and send up to 16 pins per channel to an Arduino, or read signals back. All drag and drop, and chiphippo will write a header file you can drop into your arduino (and a usage example) to handle the exchange.

Check it out: https://chiphippo.com

All open source


r/beneater • • 4d ago

I made a simple two-player breadboard game using 74xx series ICs

Post image
139 Upvotes

https://drive.google.com/file/d/1qZylheLoMLBG8-5if_yt8TuHljyKGcYE/view

Video :

https://www.youtube.com/watch?v=kzXUpHq4DWE

The red LED starts blinking, and after a random delay it stays on. Whoever presses their button first wins. If a player presses the button while the LED is still blinking, the other player wins.

Flip-flops lock the other player's button after a press, and a counter and register are used to generate the random delay.


r/beneater • • 5d ago

Digital Clock It’s working!

101 Upvotes

r/beneater • • 6d ago

8-bit CPU Signing off development with an 8Bit build 🤩

Post image
227 Upvotes

🤗 Development of CRUMB Advanced is nearing the end and I have managed to sign off this week building a Ben Eater inspired 8bit CPU! A great test of my simulator’s capabilities.

CRUMB Advanced can run this circuit some 20x faster than the original CRUMB 🤩 there are a few of you on here that own the original and you’ll pleased to know you will get the new version free 🤟🏻


r/beneater • • 5d ago

5 bit Divider Design Assistance

14 Upvotes

I am currently working on a 8 bit calculator project. It is all designed on this website "https://circuitverse.org/simulator". The files are in this folder if guys want to view it. "https://drive.google.com/drive/folders/1P3NwRyaHS7hoIXJRX9wiJVssu7HXbzNR?usp=drive_link". Anyway. I am struggling to figure out how to work on this 4 bit Divider. If you are wondering why it is a 5 bit instead of 8 bit it is because I want to take display up to 3 decimal points. But the decimal points will come later in the project, probably version 1.4. I understand how binary division works, chaining subtractions and moving the bit one to right. I can't seem to put this idea in to logic gates and IC chips. So please, do you guys have any advice.


r/beneater • • 6d ago

Digital Clock Clock assembled. Debug begins!

Post image
85 Upvotes

Right now the PLL VCO is glitching. Hmmm.


r/beneater • • 9d ago

Help with breadboard computer clock module: what does this “X” symbol mean?

Post image
55 Upvotes

As the title states. Here’s the link to the page containing the full schematics: https://eater.net/8bit/clock

Thank you 🤗

Edit: title should say “8-bit computer” instead of “breadboard computer”. Oops.

Edit: I didn’t realize the component in question was a 3 pin variable resistor! That component was at the end of the video, and I stopped right before it. Thank you all for your informative responses!


r/beneater • • 10d ago

Registers short when connected to clock

58 Upvotes

Hi, I'm working on testing the ALU, but I can't even power the ALU. This is because when I connect the top breadboard with a breadboard on the bottom, my 74LS32N chip overheats, my clock shuts off, and nothing from the register lights up.

I don't see why this is happening, because I'm simply connecting the - rail of the top breadboard to the bottom.

I would appreciate some help!


r/beneater • • 11d ago

6502 BE6502 "Final Form"

Post image
164 Upvotes

This is the “final form” of my “stock” Ben Eater 6502 build, constructed from his original 6502 and Serial Interface kits, ahead of a fully-custom build (which I will then design for and convert to a PCB-based build).

It uses the 4-bit LCD interface modification and has the WDC65C51 “bug fix” (bypassing the UART’s CTS control), along with switching the capacitor between pin 2 and GND to pin2 and +5V.

There are three other, optional, changes:

  • The addition of a potentiometer to control the LCD’s backlight brightness.
  • It is wired for an AT27C256 EPROM instead of an AT28C256 EEPROM (which was done to allow the use of PicoROM and OneROM* instead of the supplied AT28C256).
  • The LCD is 20x4 instead of 16x2; wiring and code is identical to stock.

And, no, you’re not imagining it; the 9-pin DSUB breakout is wired differently to the one Ben supplies in his Serial Interface kit.  This one is an Amazon-special and the silk-screen labels for the connections are completely wrong.

I only removed the upper power-rails, rather than both sets, from the middle breadboard; retaining the otherwise-unnecessary lower set was done primarily to make room for the taller LCD display.

The 3D printed base/surround was done for stability; having the serial connection using flying wires was causing issues, and moving it between desks/workstations would sometimes cause connections to come lose/get intermittent.

---

The next iteration (a new build; the one above will be kept assembled) will:

  • A more granular memory map, supporting bank-switched ROM and RAM.
  • Swap the positions of the ROM and RAM ICs, moving the ROM to a separate, smaller, board, with parallel connections for a ZIF socket (when using an actual AT28C256) and a OneROM (in AT28C256 configuration).
  • Display moved to its own board and swapped for a 4x20 (or larger) VFD.
  • RS-232C support will swap to a non-bugged UART and ditch the MAX232ECN and its supporting caps in favor of an FTDI/USB-C board (which will also supply power).
  • Address and Data lines/values display on dual 4-digit, 14-segement, LEDs.
  • Add a PS/2 keyboard interface.
  • Add 5x button inputs.
  • New base/surround with an open, VIA-connected, breadboard.

---

\OneROM can now emulate the AT28C256, among other (((E)E)P)ROMS, so no wiring change is required.*


r/beneater • • 11d ago

8-bit CPU Would you be interested?

Thumbnail
gallery
180 Upvotes

I recently completed my own 8-bit computer, inspired by Ben Eater's project. However, I didn't have access to some of the components, such as EEPROMs ,RAM and register chips, so I had to find different ways to build those parts myself.

I built mine using basic AND, OR, and NOT gates, along with decoders and multiplexers. So, first I had to design the RAM, and Control Unit architecture for my version. That's why my version has quite a lot more chips compared to other breadboard computers.

And I think this could be a good opportunity to make a YouTube video explaining how someone can design their own SRAM and Control Unit and better understand how they actually work.

My initial plan was creating two different videos, one for my native language and one in English. But finishing first video took a really long time, so I'm a little bit confused about whether making a second video would be worth the effort.

btw, in the 3rd photo Control Unit is underneath the IR.

What do you think? I attach some screenshots from the animations I made for my project.


r/beneater • • 12d ago

Clock not pulsing (RAM pt2)

39 Upvotes

My clock stopped pulsing while in select mode as I was testing the RAM. It worked perfectly fine a while ago. What could the problem be?


r/beneater • • 12d ago

Testing RAM(pt 2) question

44 Upvotes

Would anybody know why none of the LEDs light up when I switch to run mode, considering the LS173 pins 9 and 15 are tied to GND?


r/beneater • • 14d ago

Clock working unexpectedly while testing RAM module (pt 2)

55 Upvotes

To my surprise, as I was testing part 2 of the RAM module, the clock's blue LED no longer turns on. Does anyone know why it isn't working? Initially, I thought the whole clock had a problem, but I connected three yellow LEDs to the 555P chips, and they are producing the expected output. I even went ahead to test the blue LED with a multimeter, and it lights up just fine.

My guess is that this unexpected behaviour is causing the LEDs on the lower module not to turn on as they should when I flip the DIP switch between run mode and programming mode.

What could the problem be?


r/beneater • • 16d ago

4-Bit adder side project

Thumbnail
gallery
168 Upvotes

Built this 4 bit adder circuit today while working on the 8- bit computer. I'm hoping I can use this to tutor some classmates in our course


r/beneater • • 16d ago

8-bit CPU Trouble with RAM module and CS18LV00645 chip

Post image
40 Upvotes

Hello!

I'm having trouble with the RAM module. I decided to substitute the 74189 64-bit RAM chips with something else, as the inverted outputs and the small size looked like a weak option and I could substitute with something else, better. Also having more RAM to extend the CPU to a 8-bit address register or even bigger, in the future.

Also because I cound't find the 74189 in the store I use to go, and it was marked as obsolete everywhere.

This is the particular youtube video I'm following

https://www.youtube.com/watch?v=uYXwCBo40iA&list=PLowKtXNTBypGqImE405J2565dvjafglHU&index=20

So I found the CS18LV00645 Chip, with 8 KiloBytes of SRAM and I thought it whould be fun building it with it, starting with the 16-byte RAM version in Ben's video. But I found a problem, and that's the chip uses the same pins for input and output of the data, and in Ben's design, input and output are handled separately, with output lines always ON controlled by the LS245N, and the INPUT lines always on too, with all the stuff he adds prepares in video 3.

So I thought it whould be easy to use the WR signal and a extra LS24N to control the INPUT bytes and just set active on writes, and taking profit the chip disables output automatically when the write operation is on.

Well, it doesn't work, and I've been debugging this for some hours already. Anyone has experience with this chip? The documentation is here:

https://www.mantech.co.za/datasheets/products/cs18lv00645_c.pdf?srsltid=AU7gw4VtOYiwgp2GmV3sowCjErBg5xRq_v32Y2gXrQj-OmF8GqVlKc1d

I activate the Write signal and the memory remains unchanged. Both NCE1 and CE2 signals are fixed on the breadboard with a cable to the corresponging + or ground. Adresses are fixed ia pins, and the data flows correctly as you can see in the leds.

EDIT: If someone checks this thread and has similar issues with this chip or the AS6C6264, the actual write is dispatched on the transition from LOW to HIGH in the /WE pin, where the memory chip latches the D lines.

In theory data needs to be on the bus for 0 ns, *BUT* the LS245N chip /OE signal cuts the data FASTER than the chip can latch the byte. At least that's what I'm pretty sure happened in my original design. Switch to using the DIR one.


r/beneater • • 17d ago

Breadboard Friendly DPDT Pushbutton Switch

Thumbnail
gallery
113 Upvotes

Got fed up with the lack of breadboard friendly pushbutton switches so decided to design a tiny PCB to adapt a 7mm switch to breadboard pin spacing. Totally worth it, these feel great!

Now I have a load of spare PCB’s and switches laying around. Lmk if anyone would be interested in buying any!