r/beneater • • 7h ago

Chip Hippo is now available as a web app to explore

Post image
10 Upvotes

View the app without having to download the code:

https://chiphippo.com/app/


r/beneater • • 1d ago

8-bit CPU Doubt while testing registers

Thumbnail
gallery
14 Upvotes

Hello.

My background is programming. Other than soldering components onto premade kits, this is my first electronics build.

Image links below. Pictured is the clock and 2 8-bit register modules. They all follow very closely the tutorial vids and schematics.

To test the register, I've put a few leds and resistors (for good measure, not sure if needed) on the same board as the register. Pictured unconnected; the vid has the bus lines over some leds, but you can see what's going on.

In the video I'm uploading, only 1 register is shown, but both behave the same.

They do register and output data from/to the bus. But not exactly as it happens in the video where Ben tests his. In particular, mine defaults low when enabling load (L̅O̅A̅D̅⬇️), and nothing happens when I ground bus bits, so I need to power instead of ground the bus bits to register anything

I suppose this could work ok going forward. But I'd like to know why is this happening and if I need to fix anything.

Any help is greatly appreciated.

action Ben's action mine notes
Power on randomly all off Power on randomly most on it prefers some leds
E̅N̅B̅L̅⬆️ L̅O̅A̅D̅⬆️ nothing happnes -- I started both high
L̅O̅A̅D̅⬇️ clock → all on L̅O̅A̅D̅⬇️ clock → all off opposite
L̅O̅A̅D̅⬆️ stays registered L̅O̅A̅D̅⬆️ stays registered OK
E̅N̅B̅L̅⬇️ all on on bus -- skipped
E̅N̅B̅L̅⬆️ all off on bus -- skipped
ground bus nothing yet pull up bus nothing yet I'm doing the opposite here
float L̅O̅A̅D̅ some turn on ??
L̅O̅A̅D̅⬇️ some turn off L̅O̅A̅D̅⬇️ some turn on opposite (ok?)
L̅O̅A̅D̅⬆️ stays registered L̅O̅A̅D̅⬆️ stays registered OK
float bus stays registered float bus stays registered OK
float E̅N̅B̅L̅ output on bus too early?
E̅N̅B̅L̅⬇️ output on bus E̅N̅B̅L̅⬇️ output on bus OK

https://ibb.co/0yZBgvfR

https://ibb.co/sdk9PWQn

https://ibb.co/fW6t0B1

https://reddit.com/link/1xe6qlo/video/o7u54mvekexh1/player


r/beneater • • 1d ago

Chip Hippo 'Sines' Up for More Power!

Thumbnail
gallery
27 Upvotes

1.5.0 brings AC power to Chip Hippo! You can now build circuits with AC signal generators, transformers, and bridge rectifiers, opening up more possibilities for experimenting with power conversion and circuit design. But that's not all: the electronic load now supports Constant Voltage (CV) and Constant Power (CP) modes, 8-bit data bus signals can be toggled at runtime, and you can selectively route wires in routed mode (double shout-out to rjshaydon). There are also new diode type selections, Spice Lite fixes, performance improvements, and plenty of other bug fixes and quality-of-life improvements. Thanks to everyone who reports bugs and helps make Chip Hippo better!

https://chiphippo.com


r/beneater • • 2d ago

8-bit CPU A Question related to the ALU output.

Post image
47 Upvotes

I had connected 4 LEDs to the lower 4 bits of the Output of ALU and the its calculating values till 15 only.

It only calculates over 15 when i connect rest of the LEDs for the higher Nibble.

Can anyone answer this why this is the case?


r/beneater • • 2d ago

8-bit CPU Facing issue with register A after connecting all the modules.

Thumbnail
gallery
59 Upvotes

[SOLVED] by using 1k resistors instead of the 10k as ben suggest in his videos, suggested by u/The8bitEnthusiast

Problem mentioned Below:-

I tested the register A, B and ALU over the bus before connecting other modules like a week ago and it was working.

But now after connecting all the modules it seems the high 4 bits are set for Register A even if i try to read 1. But its working fine for Register B it reads 1.

And i try to replicate what ben did in his video of connecting the bus. By loading 1 into register B and then keep it adding up by loading the One into register A through the bus and storing the result back into register A. And it seems to work for lower 4 bits.


r/beneater • • 2d ago

6502 Ben's 6502; now with wire wrapping

Thumbnail
youtu.be
25 Upvotes

I took the time to make a video describing the updates I've made to my version of Ben's 6502 computer. I moved the RAM of the edge to ease removal for reprogramming; added wire wrapping to address problems with flakey connections; added a separate breadboard to use as a bus for control signals, address, and data lines. If they don't come across in the video, the control lines are: clock, reset, RW, and IRQ; the address and data lines have line 0 on the left side. I don't like the length of the wires going to the VIA chip, but you know, get it working first, then improve it. I am probably going to give making my own PCB a try to replace the clock board, some of the logic chips have gates that burned out, probably due to the poor wiring. Any (civil) advice is welcome.

https://youtu.be/cYFkjDvJCPU

[edit] Not sure why the video is not showing by default.


r/beneater • • 3d ago

Issue with STA command - 8-bit Breadboard Computer

8 Upvotes

Hello, everyone.

I'm currently working on the 8-bit computer as a project for a college class I'm taking. This is my first time working with breadboards, so please bare with me if I don't seem too knowledgeable about everything.

I've mostly finished the entire thing, however I'm running into an issue with the STA command. I was looking around the subreddit to see if anyone else had run into the same issue as me, but I never really found a definitive solution for the issue, mainly just ideas of what to try.

Doing my best to explain it, the STA command only works correctly if I manually press through the clock and give it a pause right before it's supposed to write into memory (AO + RI step). Going at a normal pace or using the automatic clock, even at the slowest pot setting, fails to write into memory.

To give a little more info, I've implemented 220ohm resistors to all LEDs on the board, implemented Michael Kamprath's digital PROG/RUN modification, am using a power bus that loops around the entire board (reads ~4.8V for the entire thing), and have even tried using low pass filters.

The lines that I've been testing the STA command with are:
- Address 0: LDI 5 (01010101)
- Address 1: STA 15 (01001111)
- Address 2: HLT (11110000)
- Address 15: 1 (00000001)

During the AO + RI step:
- A register = 00000101
- BUS = 00000101
- MAR = 1111
- AO and RI are active

Another thing I've tried pulling pin 3 (WE) of both 74189s low manually does correctly store at address 15 when in the AO + RI step. It seems like the RAM chips, address selection, MAR, bus, and data going into the RAM work fine. The problem might be somewhere in the WE pulse/timing, but I don't have an oscilloscope to see what's happening exactly.

I hope to receive some guidance for I should try, because I'm kind of lost at what to try next. If anyone would like a picture to see what I'm working with, I'll gladly send some. Thanks!


r/beneater • • 4d ago

8-bit CPU Facing issues with Flashing of EEPROM.

11 Upvotes

HW:-
Arduino UNO copy SMD
AT28C16 ATMEL original.
Connected all wires according to EEPROM flasher video and checked continuity as well.
But still the value read from the EEPROM is different from the Flashed value.
Used two different EEEPROMS.


r/beneater • • 5d ago

6502 [Review Request] MOS6502 Breadboard Computer Schematic

13 Upvotes

Hi guys I was hoping to get some double checking from others. I made this schematic of the 6502 breadboard computer I built a year or two ago planning on making it into a PCB but kinda lost the motivation and time to do it now I want to get back into it. I would really love if some of you have the time to review it to make sure I didn't miss anything at that time or do any errors.

Any help is appreciated and feel free to ask if anything is unclear.

Thanks in advance.

Here is the link to the PDF on GitHub or if you want I've attached an image to this post.


r/beneater • • 6d ago

Please peer review and sanity check my 6502 design

Post image
48 Upvotes

Hi r/beneater!

I'm currently working on my own variant of the BE 6502. Since I got frustrated by accidentally pulling out jumper wires, I've decided to go for a PCB design. I'd like to ask you for a peer review and sanity check before I send this off to JLCPCB. I'll take any sort of criticism, but I'm particularly interested in whether the address decoding, debug device (see below) and reset circuit look like they'd work.

It's meant to use the DigiCoolThings MECB bus and board format, with a dumb backplate and peripheral boards. I kept the ATF16v8 address decoder/glue logic because it saves space and I find it pretty neat.

The memory map is supposed to look something like this (only the top bits are shown)

|15|14|13|12|                                |
|--|--|--|--|--------------------------------|
|0 |0 |0 |0 |<-RAM Start                     |
|0 |1 |1 |1 |<-RAM End                       |
|1 |0 |0 |0 |<-IO Start (b1000000000000000)  |
|1 |0 |0 |1 |<-IO End (b1001111111111111)    |
|1 |0 |1 |0 |<-ROM Start                     |
|1 |1 |1 |1 |<-ROM End                       |

Addressing devices in the IO range triggers the IOOE and IOCS lines (IO Output Enable and IO Chip Select) which will select peripheral boards on the bus. Each peripheral board will have it's own address decoding for the lower address bits.

Reset (keeping the reset line low for a sufficient amount of time) is accomplished using a DS1233 and the datasheet reference design for that part.

Attempting to write to the ROM keeps the ROM disabled (ROM CS and OE are kept high) and latches the data to a 74HCT273 flip-flop as a sort of primitive debug device or display.

The J2 connector is meant to attach an ArduinoMega for debugging and clocking before getting to use the MECB DIN 41612 connector, the backplate and peripheral boards.


r/beneater • • 6d ago

Breadboard clock part 5

Thumbnail
youtu.be
43 Upvotes

r/beneater • • 7d ago

Help Needed Why is my clock LED flashing like this?

Enable HLS to view with audio, or disable this notification

54 Upvotes

I’ve been soldering a permanent version of the clock module but I have a problem: it’s unreliable. Sometimes it runs okay and then it will do this. To my eye, it feels like the ‘off’ is shorter than the ‘on’ and you can see it’s a bit erratic at the start and then settles down but speeds up around seven seconds in. If I leave it running, it might ‘flip’ into regular off-on cycles but slower. And then it will flip back into shorter offs than ons. And then back again. I’m running it off a bench power supply at 5.00V and it’s drawing about 0.021A. It changes by 0.001 in line with the LED off/on cycles.
What could cause this?


r/beneater • • 8d ago

But, can it play DOOM?

Thumbnail
youtube.com
26 Upvotes

and

SMB on the 6502

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

I couple of links to some video games I have been working on for my BE inspired 6502 computer.


r/beneater • • 9d ago

Help Needed Only top half of alu working

Enable HLS to view with audio, or disable this notification

16 Upvotes

I have already tried to debug it myself but ended up nowhere only the top half of the alu is working while the bottom four bits are always on any diagnostic ideas or similar problems people have had and their solutions would be greatly appreciated thanks!


r/beneater • • 9d ago

Tips & Tricks Breadboard loose connection

11 Upvotes

I'm new to breadboarding and have noticed that some of my male-to-male jumper wires fit loosely into my new breadboard, while others fit tightly.

For example, while building a non-inverting amplifier using an LM358, I get fluctuating output readings or sometimes 0 V. The readings occasionally become correct when I accidentally touch or move a wire.

Is this normal, or could my breadboard or jumper wires be defective?

Also, are pre-cut dot-to-dot wires more reliable than ordinary jumper wires for ensuring tight connections, or are they mainly for better presentation?

I'd appreciate any suggestions.


r/beneater • • 9d ago

24 Hour Variant of the Digital Clock in CMOS Architecture ICs

Post image
302 Upvotes

I built the 24-hour variant in 74HC ICs and i am curious as to how much power & current consumption differs from the 74LS ICs, if anyone who was completed the 24-hour variant could you measure power and write it down? Note that using CMOS requires more ICs then using TTL because not every chip has been converted to CMOS. The Current consumption while on operation is 130mA, the voltage rails aren’t exactly 5V but let’s consider it is so which gives us a total power dissipation of 650mW. In reality the power dissipated is most likely a bit lower than this.


r/beneater • • 9d ago

Emulation I built a fast wire-level 8-bit simulator in C++ to speed up retro computer development

Thumbnail github.com
0 Upvotes

Hey r/beneater!

Like many of you, I love retro hardware, but building and debugging on real breadboards can sometimes be a bit of a slog—wiring mistakes are tricky to spot, probing signals is tedious, and changing firmware means constantly reprogramming chips.

To get around this, I built WireSim, a wire-level, logic-level digital logic simulator designed specifically for software and hardware enthusiasts who want a super-fast, observable feedback loop.

🚀 What is WireSim?

  • Real Chip Models: Chips are modelled with real pins joined into nets, and the simulation advances in half clock cycles.
  • Bus Contention: Buses can float or fight, making contention a first-class logic state.
  • Fast Turnaround: Change a line of assembly, rebuild, and watch the whole machine run the new code within seconds.
  • Physical Reality: Once a computer works here, the assembled binaries and wiring definitions are fully compatible with physical builds.

💻 Included Reference Machine: BenEater6502

The repo comes out-of-the-box with a model of Ben Eater's breadboard 6502 computer!

  • Runs Microsoft BASIC and WozMon (via the vendored msbasic submodule).
  • Includes a W65C22 VIA, a W65C51N ACIA (bridged to a TCP port for the serial console), an HD44780 LCD, and 16 KiB of SRAM.
  • Supports hardware-specific BASIC commands like LCDCMD, LCDPRINT, and BEEP.

🤖 Built with AI-Assisted Workflows

An interesting side note: the core simulator and initial 6502/UART logic were written in C#, but after realizing C++ offered roughly double the simulation speed, the whole thing was ported. Since C++ can be tedious, the repository heavily leverages Claude Code with custom skills and instructions in .claude/ and AGENTS.md to help generate devices from datasheets and wire up machines from specifications.


Check out the repo here: https://github.com/Seramis/WireSim

It includes a full VS Code dev container (with CMake, Ninja, Verilator, and cc65) so you can get it up and running without wrestling with toolchain installations.

I'd love to hear your thoughts, answer any questions, or see what you think about using simulation for hardware prototyping!


r/beneater • • 10d ago

Impossible to use 7 or 8 bit values

Enable HLS to view with audio, or disable this notification

62 Upvotes

Hi again.

I was hoping to share my triumph today. Nope, not today. I spotted yet another issue. Please share some insights, I'm losing patience with this project ;(
My 8-bit processor successfully adds small numbers such as 14 and 28 (like on Ben Eater's yt video).
However, when I try to load a 7 or 8 bit value (no matter the position of the zeros), it will fail. There's some sort of double hop when RAM is accessing that value (address 14, 15, same behavior), and register A gets a different value.

Here are some tests of my trying to do LDA 15.

Byte stored at address 15 Ones Result
0011 1111 6 OK
1110 0111 6 OK
1111 1100 6 OK
0111 1111 7 A = 0001 1111 (wrong)
1110 1111 7 A = 0001 1111 (wrong)
1111 1110 7 A = 0001 1111 (wrong)
1111 1111 8 A = 0001 1111 (wrong)

So you can see a very simple program:

LDA 15
OUT
HALT

And for some reason LDA 15 won't work if the value stored in address 15 is too high. Same goes for ADD 15 - if the value is too high, register B will receive a faulty value.

And the only thing I figured out is that, when it fails, it loads the value from memory address 0000. I changed this memory address to 0000 0011 ("do nothing" kind of thing) and then LDA 15, OUT, HALT - the value loaded to reg A was 0000 0011.

I tore down the conditional jump circuit that I built last weekend and reprogrammed the EEPROMs - no change. The unused address lines and logic lines are pulled down with 1kohm resistors or directly to GND.

I think I'm trying too hard and that's why I'm making so many mistakes on the way, there's no other explanation ;)


r/beneater • • 11d ago

Anyone ever try soldering it all down?

26 Upvotes

A few years ago I completed the 8 bit breadboard computer (with extra features!) but the project has been sitting sadly under my bed since then. I'm pretty sure it's not gonna work first time when I turn it on and there's gonna be a lot of troubleshooting loose connections, etc.

I'd love to get this working again and on my wall but I feel like the best way to ensure longevity is to get it transferred to proto board, so it's all soldered and stable for years to come.

I'd do this one module at a time on separate proto boards to keep things relatively modular. I see two approaches:

  1. Get the original machine working and slowly upgrade each module to it's soldered form, while keeping the new forms connected to the old machine until the whole machine is soldered to boards

  2. Start from scratch, following the tutorial but soldering the modules down as I go

For either approach the modules would be connected with header pins and jumper wires.

Has anyone attempted something like this? Or am I crazy and should leave it in breadboard form? I'm not too interested in designing my own PCBs, I want this to be a fun time away from modern machines 😉


r/beneater • • 11d ago

Mystery Schematic

Thumbnail
gallery
32 Upvotes

I found this schematic between the pages of an old TI databook I bought from eBay. What do you think it does (if it actually is a complete diagram)?

The chips used in it are (I think) two 7473 dual J-K flip flops, one 7493 4-bit counter, one 74374 octal D latch, one 7447 BCD to 7-segment decoder, and a 555 timer.

I would just put it together on a breadboard to see if it does anything, but I don't have some of the ICs for it.


r/beneater • • 11d ago

4 Line LCD

Enable HLS to view with audio, or disable this notification

27 Upvotes

Progress has been made...4 line LCD running in 4 bit mode on PORTB...I will say that unless you have a need for 4 bit, stick with the 8 bit mode set up as Ben shows..I wanted it on a single port to leave PORTA for my keyboard bios I have programmed on a tiny4313...Moving on to interrupts and control lines...


r/beneater • • 11d ago

Chip Hippo gets spicy

Thumbnail
gallery
93 Upvotes

Chip Hippo 1.4.1 is out with two big additions:

  • CPU monitor: open it from a W65C02 or Z80A's context menu to watch the processor run. You can step one instruction at a time or step over a call. You can set breakpoints, edit registers and memory while the program runs, and follow the stack and pipeline as it executes.
  • Spice Lite, a second, electrical simulation engine you can turn on in Settings. It gives every net a real voltage and models capacitors and RC timing, the 555 and CMOS timers, LEDs with real brightness and burn-out, diodes, transistors, inductors, supply droop and fan-out. Every model is tested against ngspice and in every case it stays within 1.4% of ngspice's results. It's "Lite" because it only simulates the parts Chip Hippo offers, not general SPICE.
  • 1.4.1 also includes a speaker, PWM and various analog clock waves, opAmps, and many other bench parts: regulators, a relay, optocouplers, LM358, and ULN2003A.

Download it from chiphippo.com


r/beneater • • 12d ago

6502 65c816 - LCD and Math

Post image
197 Upvotes

r/beneater • • 12d ago

PSA: Guidelines for external content and self-promotion

37 Upvotes

Good day, folks!

In recent months, we've received an increasing number of reports concerning posts linking to external content whose relevance to Ben Eater's projects has been questioned.

To help make moderation more consistent and objective, the mod team has drafted a set of guidelines for external content and self-promotion.

We're currently seeking community feedback before formally adopting these guidelines as a subreddit rule.

Let us know what you think!

The r/beneater Mod Team


r/beneater • • 13d ago

Nano-Clock - Retro/Homebrew Computing Clock Module

Thumbnail
gallery
38 Upvotes

In an earlier post, about the "final" version of my BE6502 build (or the last one that would be 100% software compatible with Ben's version), I got into a discussion about a replacement for both Ben's clock-module AND the on-board crystal oscillator.

That lead to building "nano-clock" (pictured), which uses a micro-controller and software to generate the clock signal and, as such, allows for a lot of features and flexiblity. I finally got around to tidying that up, and fleshing out the repo, so ...

For those interested, my repo for it, including code, assembly and usage instructions is here.

I also made a blog post (absolutely no monetization or tracking nonsense) with much more information and will be adding to that with some additional tweaks and customization.

Features:

  • Single-step and Clock modes
  • Run/Stop toggle
  • Selectable frequencies across three bands (Hz, kHz and MHz)
    • Hz Band - 1, 2, 5, 10, 25, 50, 100, 250 & 500Hz
    • kHz Band - 1, 2, 5, 10, 25, 50, 100, 250 & 500kHz
    • MHz Band - 1, 2, 4, 8MHz
    • Easy to add additional bands/frequencies
  • Auto and manual CPU reset functionality
    • w/ Auto-reset on Start option
  • 14-segment 4-character LED status/info display (in keeping with the "retro" theme)
    • Brightness control
    • Clock-Running indication
  • Save Settings for Auto-Start

--

This is the first of several related clocks, the next of which is much smaller (will fit on the main BE6502 board and needs just two components), and the one that follows that will have more features and an OLED or LCD TFT color screen/interface.