
8 Bit Computer
The-Invent0r/8-bit-Computer-PCB
These are the KiCAD files for my 8-Bit Computer.

Simple tool for testing and repairing floppy drives
FloppyExerciser is an open-source printed circuit board by schlae, from the schlae/FloppyExerciser repository on GitHub. It is a 2-layer board of 100 × 100 mm with 118 parts on 141 nets, routed with 1,978 tracks and 299 vias.
It is built around the ATMEGA328PB-MN, 74LS245SC and 74LS04PC, with the 74LS32SC among its other parts. Its parts include 28 resistors, 19 diodes, 13 switches, 11 connectors and 8 transistors. It belongs with the AVR (ATmega, ATtiny) boards of this library.

This board helps test floppy drives of several different types:
The board basically breaks out every signal to a control switch, indicator LED, or test point. It's not designed as a flux imaging tool--it's just a simple way to exercise features of a floppy drive.
There is an optional section of the board that is a step controller for the head stepper motor. This controller has an encoder wheel and a small 7-segment display. It will let you select and automatically step to a particular track.
Features include:
The fab files are here.
The schematic is here.
The bill of materials is here
The board is 100mm x 100mm, 2 layer, standard 1.6mm thickness.
Use toggle switches, not slide switches, otherwise the silkscreen markings will be reveresed.
Use a 3-position switch for the TG43 switch.
Use SIP sockets for RN1 and RN2 so you can swap in different termination resistor values. I usually use 1K.
Be careful about putting any signals on J2. If EN WRITE gets grounded (the adjacent pin is ground) then it will enable writes on any connected drive, erasing the existing track.
The board can directly drive an external 4-phase stepper motor. Attach the stepper motor to J1 and connect either +12V or +24V power to the test points on the left side, and set jumper J4 to pick the voltage.
The code for the ATMega328PB microcontroller is meant to run without a bootloader and can be built from the command line if you have installed avr-gcc and avrdude.
make
make fuses
make progNote that the avrdude command lines in the makefile are hard-coded for the usbtiny programmer. You'll want to change that if you have another type of AVR programmer.
The MCU is new enough that your version of avr-gcc and avrdude may not support it yet, see here for instructions on how to fix that.
The bottom of the board has a standard 6-pin AVR programming header as a surface mount footprint. Since you only need to program it once, you could plug a header into the programmer's cable and physically push it up against the board, or you could temporarily tack-solder it in place. Or just leave it soldered in place and install standoffs in the corners of the board.
On startup, the display will temporarily indicate HI and then prompt you for the stepping mode:
Half step mode and 1.5x step are supported on the direct drive stepper motor header and the Apple II header.
Select the mode with the encoder wheel and then push it down to select the option.
The display now indicates the current track. Move the encoder wheel to pick a new track. The display will blink to indicate your desired track. Once you are satisfied with it, push down on the encoder to select that track.
For additional functions, you can push the menu button. Menu options are selected with the encoder wheel:
To exit alignment modes, push the menu button.
The board will control the TG43 (track greater than 43) signal used by 8" drives as long as the switch is set to "AUTO".
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. See https://creativecommons.org/licenses/by-sa/4.0/.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 25 | TestPoint | Conn:TP_KEYSTONE_5005_9 | TP1, TP2, TP10, TP11, TP12, TP13, TP14, TP15, TP16, TP17, TP18, TP19, TP20, TP21, TP22, TP23 +9 |
| 10 | 220 | Passive:RESC1608X55 | R12, R13, R14, R15, R16, R17, R18, R19, R20, R21 |
| 9 | 10K | Passive:RESC1608X55 | R1, R10, R11, R23, R24, R25, R26, R27, R28 |
| 8 | 1K | Passive:RESC1608X55 | R2, R3, R4, R5, R6, R7, R8, R9 |
| 8 | D_ALT | Active:DIOM5226X210 | D3, D5, D7, D9, D16, D17, D18, D19 |
| 8 | ~ | Active:SOT95P230X117-3 | Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8 |
| 6 | LED_Small_Filled | Active:LEDM1608X50 | D10, D11, D12, D13, D14, D15 |
| 4 | LED_ALT | Active:LEDM1608X50 | D2, D4, D6, D8 |
| 4 | MH | Conn:MH_125_200 | H1, H2, H3, H4 |
| 2 | 0.1 | Passive:CAPC1608X100 | C1, C2 |
| 2 | R_Network08 | Resistor_THT:R_Array_SIP9 | RN1, RN2 |
| 1 | 3.3K | Passive:RESC1608X55 | R22 |
| 1 | 74LS04 | Active:SOP127P620X175-14 | U4 |
| 1 | 74LS245 | Active:SOP127P1065X265-20 | U2 |
| 1 | 74LS32 | Active:SOP127P620X175-14 | U3 |
| 1 | APPLE II | Connector_PinHeader_2.54mm:PinHeader_2x10_P2.54mm_Vertical | J12 |
| 1 | ATmega328PB-M | Package_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.1x3.1mm | U1 |
| 1 | DENSITY | Switch:SW_SPDT | SW13 |
| 1 | DIR | Switch:SW_SPDT | SW10 |
| 1 | DISKCH_RST | Switch:ESWITCH_TL1105 | SW3 |
| 1 | DRIVE_SELECT | Switch:SW_SPDT | SW6 |
| 1 | DSEL | Switch:SW_DPDT | SW4 |
| 1 | DSEL2 | Switch:CTS_220AD_04 | SW5 |
| 1 | HEAD_LOAD | Switch:SW_SPDT | SW9 |
| 1 | HEAD_SEL | Switch:SW_SPDT | SW8 |
| 1 | HP 26-PIN | Connector_PinHeader_2.54mm:PinHeader_2x13_P2.54mm_Vertical | J8 |
| 1 | HP 34-PIN | Connector_PinHeader_2.54mm:PinHeader_2x17_P2.54mm_Vertical | J7 |
| 1 | IBM | Connector_PinHeader_2.54mm:PinHeader_2x17_P2.54mm_Vertical | J6 |
| 1 | IBM 31SD | Connector_PinHeader_2.54mm:PinHeader_2x18_P2.54mm_Vertical | J10 |
| 1 | ISP | Connector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_Vertical_SMD | J3 |
| 1 | LITEON_LTD-2601G-11 | Active:LTD-2601G-11 | D1 |
| 1 | MENU | Switch:ESWITCH_TL1105 | SW12 |
| 1 | MOTOR_ON | Switch:SW_SPDT | SW7 |
| 1 | PS/2 | Conn:EDAC_395-040-559-212 | J11 |
| 1 | PW | Passive:BOURNS_3386_VERT_UNIVERSAL | RV2 |
| 1 | RATE | Passive:BOURNS_3386_VERT_UNIVERSAL | RV1 |
| 1 | RotaryEncoder_Switch | Switch:PANASONIC_EVEY | SW1 |
| 1 | SHUGART | Connector_PinHeader_2.54mm:PinHeader_2x25_P2.54mm_Vertical | J9 |
| 1 | STEP | Switch:ESWITCH_TL1105 | SW2 |
| 1 | STEPPER | Connector_PinHeader_2.54mm:PinHeader_1x05_P2.54mm_Vertical | J1 |
| 1 | TG43 MODE | Switch:SW_SPDT | SW11 |
| 1 | V | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J4 |
| 1 | WRITE | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J2 |
It measures 100 × 100 mm and has 2 copper layers, 1.6 mm thick.
118 parts, built around the ATMEGA328PB-MN, 74LS245SC, 74LS04PC and 74LS32SC. 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 schlae/FloppyExerciser repository on GitHub, at the commit this page was made from: the board is FloppyExerciser.kicad_pcb and its schematic FloppyExerciser.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask schlae before reusing the design.

The-Invent0r/8-bit-Computer-PCB
These are the KiCAD files for my 8-Bit Computer.


hkzlab/CGA_Redux
The Color Graphics Adapter Redux board is a more or less faithful clone of the original IBM CGA, based on the original schematics




