
BE6502 SBC
tebl/BE6502-Build-a-65c02-computer
A PCB being made while watching Ben Eaters "Build a 6502 computer" video series. Includes the computer itself, a standalone slow clock and an Arduino Mega shield for the bus monitor sketch..

PCB project for BE6502 educational computer
BE6502 SBC is an open-source printed circuit board by FilipCichowski, from the FilipCichowski/BE6502_computer_PCB repository on GitHub. It is a 2-layer board of 99.1 × 99.1 mm with 61 parts on 68 nets, routed with 4,169 tracks and 15 vias.
It is built around the 74HC00D and HM62256BLP-7. Its parts include 21 resistors, 8 diodes, 7 capacitors, 7 ICs and 6 switches. It belongs with the computers and single-board computers boards of this library.
Ben Eater has been a huge inspiration for many getting into building computers using basic electronic building blocks, his videos are truly excellent and it is no wonder he's often referred to as the Bob Ross of Breadboards! His latest project is building a 6502 computer on a breadboard, a video series that I'm sure will also inspire a lot of new users to the art of building stuff with the 6502! Check out the main README for an overview of all the modules available to the BE6502 computer.
This module specifically contains all of the modules that makes the BE6502 an actual computer, it has the CPU, RAM, ROM and a way of interacting with the world using the VIA-chip. Also described as an SBC-module which means that it is a Single Board Computer though I'm certainly a fan of building more things around it, I just look at it has giving the computer more tricks that it can use to both entertain and educate us at the same time.
As you can see, I've also got the 1 Mhz oscillator installed as it is listed in Ben Eaters design though it is not connected by default so that the adjustable or manual clock can be used instead - to enable the 1 Mhz clock you'll need to install a jumper as shown below.
I did however have some issues running the CPU reliably at this speed, this is due to the reset circuit specified not being suitable for use at anything other than very low speeds. While we're probably waiting for part 8 of the video series to fix this issue, you can build one yourself on a breadboard with just about the same parts seen earlier in the series.
The hardware solution I'm using is a somewhat simplified version of the one at RC6502 Reset Circuit, this is mainly by leaving out the oscillator (since we've already got one) and the 74LS74. For masters of the Commodore 64 the circuit will seem familiar, this is because it's the one originally used on its boards! Alternatively as a software solution, the Arduino Mega can also be used to perform this task - this is done by holding down the first switch (since revision B of the Mega Adapter) or by typing in reset via the serial interface.
| Reference | Position | Description |
|---|---|---|
| LCD_EN | 1-2 | Enable LCD |
| 2-3 * | Disable LCD without physically removing it | |
| LED_EN | o-o * | Jumpered to enable port B LEDs |
| CLOCK_SEL | 1 ** | VCC |
| 2-3 ** | Jumper to enable 1 Mhz clock | |
| 4 ** | GND |
*) Marks the default jumpered positions when performing tasks associated with the first parts of the video series. Later, when the LCD is introduced, these will have to be changed.
**) CLOCK_SEL is also used as a connector when connecting the clock module, the pins are made to directly match the 4 positions on both modules. Pins 2-3 should only be jumpered when using 1Mhz clock, but you can also use pins 1 and 4 when powering other circuits.
The supplied KiCad files should be sufficient as both a schematic and as a starting point for ordering PCBs (basically you could just zip the contents of the export folder and upload that on a fabrication site), the schematic is also available in PDF-format so that you can refer to it while troubleshooting. You could even print it out and hang it on your office wall, excellent conversation starter at any technology-oriented business worth working at (or so I keep telling myself)!
*) R18 was added to SBC revision B boards as I had forgotten to add the pull-up for the BE-line, causing instability on the boards due to it floating around. Refer to this picture for a convenient spot to add it to revision A boards.
When constructing the board I recommend using 60/40 solder as the lead-free is more trouble than it's worth for hobby use, take your time with it and try to build up the board starting with the lowest components before moving on to the larger pieces. The LCD will be mounted on top of other components, so check that nothing shorts on the underside and unless you're 100% sure about the construction and my design - install some female header pins on it so that you can easily remove it while troubleshooting the circuit underneath!
I created PCB using Topor Lite autorouter. "autoroute" folder contain necessary files.
I've just created different, better in my opinion PCB. Original KiCad files belongs to tebl. Link to his profile: https://github.com/tebl
| Qty | Value | Footprint | References |
|---|---|---|---|
| 9 | 220 | Resistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolder | R10, R11, R12, R13, R14, R15, R16, R17, R19 |
| 8 | LED | LED_THT:LED_D5.0mm | D1, D2, D3, D4, D5, D6, D7, D8 |
| 7 | 1k | Resistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolder | R4, R5, R6, R7, R8, R9, R21 |
| 6 | 100nF | Capacitor_SMD:C_1206_3216Metric_Pad1.42x1.75mm_HandSolder | C1, C2, C3, C4, C5, C7 |
| 4 | Mounting | mounting:1pin | M1, M2, M3, M4 |
| 2 | 3.3k | Resistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolder | R3, R18 |
| 2 | 3k3 | Resistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolder | R1, R2 |
| 1 | 1MHz | Oscillator:Oscillator_DIP-14 | X1 |
| 1 | 220nF | Capacitor_SMD:C_1206_3216Metric_Pad1.42x1.75mm_HandSolder | C6 |
| 1 | 28C256 | Package_DIP:DIP-28_W15.24mm_Socket_LongPads | U3 |
| 1 | 47k | Resistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolder | R20 |
| 1 | 74HC00 | Package_DIP:DIP-14_W7.62mm_LongPads | U5 |
| 1 | Barrel_Jack_Switch | Connector_BarrelJack:BarrelJack_Horizontal | J3 |
| 1 | CLOCK_SEL | Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Vertical | J2 |
| 1 | Control | Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_Vertical | J4 |
| 1 | DOWN | Button_Switch_THT:SW_PUSH_6mm | SW4 |
| 1 | Expansion | Connector_PinSocket_2.54mm:PinSocket_2x18_P2.54mm_Vertical | J1 |
| 1 | HM62256BLP-7 | Package_DIP:DIP-28_W15.24mm_Socket_LongPads | U2 |
| 1 | LCD_EN | Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_Vertical | JP2 |
| 1 | LED_EN | Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_Vertical | JP1 |
| 1 | LEFT | Button_Switch_THT:SW_PUSH_6mm | SW5 |
| 1 | LM555 | Package_DIP:DIP-8_W7.62mm_Socket_LongPads | U7 |
| 1 | MIDDLE | Button_Switch_THT:SW_PUSH_6mm | SW2 |
| 1 | RC1602A | Display:WC1602A | U6 |
| 1 | RESET | Button_Switch_THT:SW_PUSH_6mm | SW1 |
| 1 | RIGHT | Button_Switch_THT:SW_PUSH_6mm | SW6 |
| 1 | R_POT | Potentiometer_THT:Potentiometer_Bourns_3296W_Vertical | RV1 |
| 1 | UP | Button_Switch_THT:SW_PUSH_6mm | SW3 |
| 1 | W65C02 | Package_DIP:DIP-40_W15.24mm_Socket_LongPads | U1 |
| 1 | WD65C22 | Package_DIP:DIP-40_W15.24mm_Socket_LongPads | U4 |
It measures 99.1 × 99.1 mm and has 2 copper layers, 1.6 mm thick.
61 parts, built around the 74HC00D and HM62256BLP-7. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the FilipCichowski/BE6502_computer_PCB repository on GitHub, at the commit this page was made from: the board is BE6502 SBC.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask FilipCichowski before reusing the design.

tebl/BE6502-Build-a-65c02-computer
A PCB being made while watching Ben Eaters "Build a 6502 computer" video series. Includes the computer itself, a standalone slow clock and an Arduino Mega shield for the bus monitor sketch..

gianluca-rainis/Z80DevBoard
An advanced development board for the Z80 microprocessor, powered by an RP2040.






sammothxc/6502-stacked-cardputer
my Ben Eater 6502 Computer Kit personal repo