
Pcb pro controller
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

A clone of the UNILAB BBC Micro computer interface. Compatible with all UNILAB modules this allows control from a BBC Micro rateher than the usual 3-Chip Plus.
Unilab bbc is an open-source printed circuit board by croz-tech, from the croz-tech/Unilab-Computer-Module repository on GitHub. It is a 2-layer board of 100 × 100 mm with 66 parts on 88 nets, routed with 758 tracks and 0 vias.
Its parts include 29 resistors, 8 diodes, 4 capacitors, 4 ICs and 4 connectors.
This is a clone of the UNILAB BBC Micro computer interface.
Compatible with all UNILAB modules this allows control from a BBC Micro rateher than the usual 3-Chip-Plus. This device connects to both PA and PB of the 6522 interface adapter (BBC User Port for input and BBC Printer Port for output). Credit goes to Louis Higgins who shared detailed photographs of both sides from an original board, enabling this clone to be created. You'll note that this board is smaller than the original. While my 3-Chip-Plus clone kept the original board dimensions, this recieved mixed feelings. In this case I've compressed the board to just 100x100mm to keep it to the $5 level for most board manufacturers.
Example code to read/write these ports from BASIC is included on the schematic.
This board should work fine with the BBC Micro (model B), the B+ range and the Master range, although I think the Master Compact lacks the user port so this is probably incompatible with that machine.
Note that is the first issue of this schematic/board there are a couple of errors (both to be corrected on a future revision):
Note also that I have decided to not fit the diodes D2 and D3 from the CB1/CB2 ports to VREF on my first build. While this might make sense to clamp the H1/H2 inputs (converting to TTL levels safe for the Beeb) I'm concerned that CB1/CB2 can be driven as outputs which might stress the 6522. Will check on the 6522 datasheet and address this later.
The module connects to the Beeb's User and Printer ports using a 20-way and 26-way IDC ribbon cables respectively. Unlike the original I've gone with IDC headers rather than IDC solder terminators on the PCB since these are becoming more difficult to get hold of and it means the cables can be entirely removed from the board for easier storage. I've made the cable around 0.5m length and these are 1:1 cables (pin numbering identical at either end). The unit takes its power from the Beeb's User Port and can also power UNILAB peripheral boards. The board is fitted with a 500mA polyfuse to protect the Beeb from any short circuits (the original boards used a 1/4 inch glass fuse).
| Qty | Value | Footprint | References |
|---|---|---|---|
| 12 | 220K | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R12, R13, R14, R15, R16, R17, R18, R19, R20, R21, R22, R23 |
| 4 | 100n | Capacitor_THT:C_Rect_L7.2mm_W2.5mm_P5.00mm_FKS2_FKP2_MKS2_MKP2 | C1, C2, C3, C4 |
| 4 | 10K | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R26, R27, R28, R29 |
| 4 | 110R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R4, R5, R6, R7 |
| 4 | 680R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R8, R9, R10, R11 |
| 3 | 220R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R2, R3, R25 |
| 2 | 1 | TestPoint:TestPoint_THTPad_D3.0mm_Drill1.5mm | TP6, TP9 |
| 2 | 1N4001 | Diode_THT:D_DO-41_SOD81_P10.16mm_Horizontal | D2, D3 |
| 2 | 2 | TestPoint:TestPoint_THTPad_D3.0mm_Drill1.5mm | TP5, TP8 |
| 2 | 4050 | Package_DIP:DIP-16_W7.62mm_Socket_LongPads | U1, U2 |
| 1 | '1' GRN | LED_THT:LED_D3.0mm | D8 |
| 1 | '2' YEL | LED_THT:LED_D3.0mm | D7 |
| 1 | '4' RED | LED_THT:LED_D3.0mm | D6 |
| 1 | '8' RED | LED_THT:LED_D3.0mm | D5 |
| 1 | 'FUSE' RED | LED_THT:LED_D3.0mm | D1 |
| 1 | 0 | TestPoint:TestPoint_THTPad_D3.0mm_Drill1.5mm | TP10 |
| 1 | 0 | unilab_bbc:SPDT SIP SLIDE | SW4 |
| 1 | 1 | unilab_bbc:SPDT SIP SLIDE | SW3 |
| 1 | 100R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1 |
| 1 | 2 | unilab_bbc:SPDT SIP SLIDE | SW2 |
| 1 | 3 | unilab_bbc:SPDT SIP SLIDE | SW1 |
| 1 | 3 | TestPoint:TestPoint_THTPad_D3.0mm_Drill1.5mm | TP7 |
| 1 | 390R | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R24 |
| 1 | 3V0 | Diode_THT:D_DO-34_SOD68_P7.62mm_Horizontal | D4 |
| 1 | 4 | TestPoint:TestPoint_THTPad_D3.0mm_Drill1.5mm | TP4 |
| 1 | 4049 | Package_DIP:DIP-16_W7.62mm_Socket_LongPads | U4 |
| 1 | 500mA | Fuse:Fuse_Bourns_MF-RG400 | F1 |
| 1 | 74LS06 | Package_DIP:DIP-14_W7.62mm_Socket_LongPads | U3 |
| 1 | 8 | TestPoint:TestPoint_THTPad_D3.0mm_Drill1.5mm | TP3 |
| 1 | BBC PRINTER PORT (OUT) | Connector_PinHeader_2.54mm:PinHeader_2x13_P2.54mm_Vertical | J3 |
| 1 | BBC USER PORT (IN) | Connector_PinHeader_2.54mm:PinHeader_2x10_P2.54mm_Vertical | J2 |
| 1 | H1 | TestPoint:TestPoint_THTPad_3.0x3.0mm_Drill1.5mm | TP1 |
| 1 | H2 | TestPoint:TestPoint_THTPad_3.0x3.0mm_Drill1.5mm | TP2 |
| 1 | LOGO | unilab_bbc:mep | G*** |
| 1 | LOGO | unilab_bbc:unilab | G*** |
| 1 | PORT A | unilab_bbc:10W_RA_Female | J1 |
| 1 | PORT B | unilab_bbc:10W_RA_Female | J4 |
It measures 100 × 100 mm and has 2 copper layers, 1.6 mm thick.
66 parts. 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 croz-tech/Unilab-Computer-Module repository on GitHub, at the commit this page was made from: the board is unilab_bbc-backups/unilab_bbc-2023-07-02_150338/unilab_bbc.kicad_pcb and its schematic unilab_bbc-backups/unilab_bbc-2023-07-02_150338/unilab_bbc.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 croz-tech before reusing the design.

hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!



famichu/MagLev_Switch_MX
The 3D printable magnetic levitation contactless switch with the linear output hall effect sensor.

mmccoyd/hillside
Family of split ergonomic keyboards with three rows of six or five keys and a generous thumb arc



Ardumower/ardumower
Develop an open source robotic lawn mower (HW+SW reference platform)