Skip to the content
2 layers52.8 × 99 mmPiCoCo Breakout, the printed circuit board in 3D

PiCoCo Breakout

cognitivegears/PiCoCo4

CoCo cartridge interface with the Pi Pico

Size
52.8 × 99 mm
Copper layers
2
Thickness
1.6 mm
Parts
7
Nets
41
Pads
90
Tracks, vias
106, 0
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
3 Dec 2023
Updated
28 Oct 2026

Overview

PiCoCo Breakout is an open-source printed circuit board by cognitivegears, from the cognitivegears/PiCoCo repository on GitHub. It is a 2-layer board of 52.8 × 99 mm with 7 parts on 41 nets, routed with 106 tracks and 0 vias.

Its parts include 2 capacitors, 2 connectors, 1 resistor, 1 diode and 1 fuse. It belongs with the interfaces and adapters and retro computing and games boards of this library.

README

breakout/README.md

PiCoCo Cartridge Breakout v1.0

A dumb adapter: the 40 fingers of a Tandy Color Computer cartridge slot brought out 1:1 to a 2x20 0.1" header, so the PiCoCo bus interface can be breadboarded. It carried the breadboard phase before the main board existed; docs/breadboard-plan.md points to the results.

text
CoCo slot ──[this board]──40-way IDC ribbon──[2x20-to-breadboard adapter]──breadboard

Everything here is generated by tools/gen_breakout.py (run it with KiCad's bundled Python). Do not hand-edit the .kicad_sch; the .kicad_pcb is also generated, including all routing, and is safe to regenerate.

What is on the board

RefPartPurpose
P140 gold fingers (PiCoCo:COCO-CART-FINGERS)mates with the CoCo slot
J12x20 shrouded (keyed) IDC box header, verticalheader pin n = cart pin n; the key stops a reversed ribbon
F10.5 A hold polyfuse, 1812in series with +5V so a breadboard slip cannot short the CoCo's 5 V rail
C110 uF 0805 X5R, >= 10 V+5V bulk after the fuse
C2100 nF 0805+5V bypass
R1 + D11 kΩ 0805 + 0805 LEDpower indicator

Cart fingers 1 and 2 (-12 V and +12 V on CoCo 1/2, unused on CoCo 3) are left open, so ±12 V can never reach the ribbon. Header pins 1 and 2 are tied to GND instead, which gives the ribbon four ground conductors (1, 2, 33, 34) rather than two.

Board: 52.8 x 99 mm, 2 layer, 1.6 mm. Measured on the CoCo: from the connector face to the outside of the case is about 1 3/4" (44.5 mm), so with the 10 mm finger tab the case surface sits about 55 mm from the finger tip. The header's near row is at 77 mm, its shroud starts at about 74 mm, so there is a 17 mm bare grip zone outside the case below the shroud, and the ribbon plugs in with the case on. A silk line at 55 mm marks the approximate case surface. Both copper layers carry a GND pour that stops 1 mm short of the finger tab.

The shroud of J1 is 58.4 mm long and the board is 52.8 mm wide, so the plastic overhangs each side edge by about 2.8 mm. That is deliberate: a keyed header is worth more than a flush one. (An earlier note here claimed the board could not be wider than the finger tab; measured on 2026-09-18 the CoCo 3 opening is 114.3 x 30.2 mm, so it can.) A reversed ribbon at an unkeyed header would land +5V on /CTS.

Finger geometry versus the original cart footprint

Finger width (1.27 mm), pitch (2.54 mm), x positions, layer assignment (odd on top, even on bottom), and the far end of every pad are identical to COCO-CART-2.1X1.75, the footprint the main PiCoCo board uses. One thing was changed on purpose: the leading edge of the 39 full-length fingers was pulled back from 0.44 mm to 1.30 mm from the board edge. JLCPCB's order form states that a 30° bevel on 1.6 mm stock is 1.13 mm deep (0.53 mm residual thickness at the tip), so any copper closer than that sits on the chamfer and gets ground off, leaving bare copper at the finger tips. 1.30 mm keeps every finger fully on the flat. The contact wipe zone is millimetres further in, so mating is unaffected. The +5V finger (9) was already short at the leading edge (mates last) and is unchanged. The main board's footprint has the same trim.

Bill of materials

RefQtyValueExample part
J112x20 shrouded IDC box header, 2.54 mm, vertical, through-holeany generic "2x20 box header"; overhangs the board edges, see above
F11polyfuse 0.5 A hold / 1 A trip, 1812Bourns MF-MSMF050-2, Littelfuse 1812L050
C1110 uF 0805 X5R 10 Vsame as the main PiCoCo BOM
C21100 nF 0805 X7Rsame as the main PiCoCo BOM
R111 kΩ 0805
D11LED 0805, any colourcathode (pin 1) faces the header

Off-board, for the breadboard end:

  • 40-way IDC ribbon, 15-20 cm, with 2x20 female IDC sockets on both ends (sold as "40-pin Raspberry Pi GPIO ribbon cable"). Keep it short; the CoCo bus is unterminated.
  • The PiCoCo-Cobbler board from this directory plus one 2x20 shrouded box header and two 1x20 pin headers. Do not substitute a Raspberry Pi cobbler; see the note below.

fab/breakout/PiCoCo-Breakout-BOM.csv and -pos.csv are the machine readable versions, if you want JLCPCB to place the five SMD parts.

If you would rather not solder SMD: F1 can be replaced by a wire link (you lose the short-circuit protection), C1/C2/R1/D1 can all be left off (the board still works, you lose the LED and local bypass). Everything else is through-hole.

Ordering

Gerbers, drill and position files are in fab/breakout/; PiCoCo-Breakout-gerbers.zip is the upload. Regenerate with:

text
bash tools/gen_fab.sh breakout/PiCoCo-Breakout.kicad_pcb fab/breakout

Use the JLCPCB settings in fab/READ-BEFORE-ORDERING.txt. The ones that matter for this board, as the JLCPCB form presents them:

  • Layers 2, thickness 1.6 mm (slot fit), 1 oz copper.
  • Surface finish: ENIG. JLCPCB only offers the gold-finger process on an ENIG board; with HASL selected the form warns that the fingers will merely be tinned.
  • Gold Fingers: Yes. Beveling: 30°. The form then shows the bevel depth (1.13 mm) and residual thickness (0.53 mm) the finger geometry was designed around.
  • Confirm Production File: Yes is worth the extra day on a gold-finger board; you get to see how they interpreted the fingers and bevel.
  • Everything else at defaults: outline tolerance ±0.2 mm, flying-probe test, no castellations, no edge plating, no blind slots.
  • Minimum quantity is 5. Keep the spares.

Fab-rule check against the published requirements (JLCPCB help "Gold fingers"; PCBWay "PCB Gold fingers" page):

RuleRequirementThis board
finger to board edge, 30° bevel, 1.6 mmJLC bevel depth 1.13 mm (order form); help page says >= 0.6 mm; PCBWay >= 0.5 mm1.30 mm
copper in the bevel zonenonenone: fingers end at 1.30 mm, pours stop 11 mm up, traces leave pads inward
pads / plated holes near fingers>= 1.0 mmnearest is J1 at ~38 mm
board size after bevelJLC >= 50 x 50 mm, PCBWay width > 45 mm52.8 x 99 mm (inside the 100 x 100 mm price tier)
fingers on one edge onlyyesyes

On PCBWay's order form the equivalents are "Gold fingers: Yes", "Beveling: 30°", surface finish for the fingers is implied by the gold finger option. The cobbler has no fingers and needs no special options.

When the boards arrive, test-fit one into the slot with the CoCo off before soldering anything.

Pin map

Header pin n is cart pin n, except 1 and 2 which are GND on the header and open at the fingers. Odd pins are on the header row nearest the fingers (top copper), even pins on the far row (bottom copper), which is also how the fingers are arranged on the card edge. Signal directions are from the CoCo's point of view.

PinSignalDirPinSignalDir
1GND (cart -12 V finger open)2GND (cart +12 V finger open)
3/HALTin, open collector4/NMIin
5/RESETout (also driven by reset button)6Eout
7Qout8/CARTin (FIRQ)
9+5V (after F1)power10D0bidi
11D1bidi12D2bidi
13D3bidi14D4bidi
15D5bidi16D6bidi
17D7bidi18R/Wout
19A0out20A1out
21A2out22A3out
23A4out24A5out
25A6out26A7out
27A8out28A9out
29A10out30A11out
31A12out32/CTSout
33GND34GND
35SNDin (audio)36/SCSout
37A13out38A14out
39A15out40/SLENBin

The cobbler note (read before buying an adapter)

Raspberry Pi "cobbler" style adapters are the obvious 2x20-IDC-to- breadboard part, and their silkscreen will show Pi names (GPIO2, 5V, GND...) that mean nothing here; ribbon conductor n still lands on breadboard position n. The Pi header pin names, for cross-reference when you are staring at a cobbler:

PinPi labelPinPi label
13V325V
3GPIO245V
5GPIO36GND
7GPIO48GPIO14
9GND10GPIO15
11GPIO1712GPIO18
13GPIO2714GND
15GPIO2216GPIO23
173V318GPIO24
19GPIO1020GND
21GPIO922GPIO25
23GPIO1124GPIO8
25GND26GPIO7
27ID_SD28ID_SC
29GPIO530GND
31GPIO632GPIO12
33GPIO1334GND
35GPIO1936GPIO16
37GPIO2638GPIO20
39GND40GPIO21

The trap, and it is real: Adafruit's T-Cobbler Plus joins all eight GND-labelled pins (6, 9, 14, 20, 25, 30, 34, 39) into one net and both 5V pins (2, 4) into another, on the cobbler PCB itself. That is verified from the Eagle schematic in Adafruit's Adafruit-Pi-Cobber-PCBs GitHub repo. Plugged into this breakout it would short CoCo E, +5V, D4, A1, A6, A11, GND and A15 together the moment the ribbon is seated. Assume every Pi cobbler and Pi GPIO breakout does the same unless you have measured it.

Use PiCoCo-Cobbler instead. It is the second board in this directory: a keyed 2x20 IDC box header on top, two 1x20 pin rows underneath 0.3" apart to straddle the breadboard channel, and forty straight traces. Nothing is bussed. The shroud key means the ribbon can only seat one way at that end. Order it in the same JLCPCB batch (fab/cobbler/PiCoCo-Cobbler-gerbers.zip, plain 2-layer, no gold fingers needed). Parts: one 2x20 shrouded box header, two 1x20 pin headers, soldered with the pin headers on the bottom.

Assembly notes

  • Cobbler: solder the two 1x20 pin headers on the bottom (long pins down) and the box header on top. Trim the box header's pin stubs flush on the bottom; they sit over the breadboard's centre channel, and on breadboards where that channel is not a groove the stubs would rest on the plastic.
  • Cobbler: the two pin rows are 0.3" apart, so they land in rows e and f of a standard breadboard, leaving four free holes per signal on each side.
  • Breakout: orientation is the same as a Program Pak: component side (the side with the "1" finger label and all the parts) faces up in a CoCo 3 side slot, i.e. the way the cartridge label would face.
  • Ribbon: 40-way, female IDC both ends, red stripe to pin 1 at both ends. Shorter is better; 15-20 cm is plenty. The CoCo bus has 5 ns TTL edges and only four ground returns in the ribbon, so a 50 cm cable will ring.

Before the first insertion (five minutes with a meter)

  1. Breakout, nothing plugged in: no continuity between header pin 9 (+5V) and any of pins 33/34/1/2 (GND); no continuity between any two adjacent header pins except 1-2 and 33-34.
  2. Continuity finger 3 to header pin 3, finger 10 to pin 10, finger 39 to pin 39, finger 40 to pin 40 (spot-check both sides and both rows).
  3. Continuity finger 9 to header pin 9 through F1 (a few ohms).
  4. Ribbon plus cobbler plugged in: continuity from finger 9 to the cobbler pin labelled +5V, and from finger 33 to the cobbler GND pin. If +5V lands on /CTS, a ribbon end is reversed.

Bring-up checks

  1. Board alone in the slot, ribbon unplugged: CoCo boots to BASIC, D1 lights, +5V reads about 5 V at header pin 9.
  2. Logic analyzer on E, Q, R/W, /CTS, /SCS at the breadboard: PEEK(&HC000) pulses /CTS, PEEK(&HFF41) pulses /SCS. On a CoCo 3 BASIC runs from RAM and a $C000 PEEK never reaches the cart; use the $FF41 PEEK.

Power the CoCo off before inserting or removing the board. The fuse protects the CoCo's rail from shorts, not the CoCo from hot-plugging.

Parts

7
QtyValueFootprintReferences
10.5AFuse:Fuse_1812_4532MetricF1
1100nFCapacitor_SMD:C_0805_2012MetricC2
110uFCapacitor_SMD:C_0805_2012MetricC1
11kResistor_SMD:R_0805_2012MetricR1
1CART_BUSConnector_IDC:IDC-Header_2x20_P2.54mm_VerticalJ1
1COCO-CARTPiCoCo:COCO-CART-FINGERSP1
1PWRLED_SMD:LED_0805_2012MetricD1

More from cognitivegears/PiCoCo

2
  • 2 layers98 × 77.2 mmPiCoCo, the printed circuit board in 3D

    PiCoCo

    cognitivegears/PiCoCo

    CoCo cartridge interface with the Pi Pico

    65 parts4
  • 2 layers62.3 × 23.5 mmPiCoCo Cobbler, the printed circuit board in 3D

    PiCoCo Cobbler

    cognitivegears/PiCoCo

    CoCo cartridge interface with the Pi Pico

    3 parts4

Similar boards

  • 2 layersEncoder, the printed circuit board in 3D

    Encoder

    byrantech/laptop

    anyon_e, a highly integrated, high end, open source laptop. Attempt the impossible.

    7 parts4.3kMIT
  • 2 layers40 × 20 mmSensor smd, the printed circuit board in 3D

    Sensor smd

    scottbez1/splitflap

    DIY split-flap display

    7 parts4.2k
  • 2 layers19.8 × 30 mmZ limit, the printed circuit board in 3D

    Z limit

    opulo-inc/lumenpnp

    The LumenPnP is an open source pick and place machine.

    7 parts3.7k
  • 2 layers35.6 × 58.2 mmDisplay Carrier, the printed circuit board in 3D

    Display Carrier

    AxxAxx/AxxSolder

    STM32 Based soldering station for JBC cartridges, 9-24 VDC and USB-PD power

    7 parts1.7kGPL-3.0
  • 2 layers20.3 × 16.3 mmMap MPX, the printed circuit board in 3D

    Map MPX

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    7 parts1.2k
  • 2 layers26 × 44 mmCompact carrier board, the printed circuit board in 3D

    Compact carrier board

    jamro/tiny-engineer

    A small desktop robot that brings an AI coding assistant to life, physically acting out when it reads files, thinks, writes code, and finishes work.

    7 parts1.1k
  • 2 layers26.4 × 53.8 mmAtari pickup, the printed circuit board in 3D

    Atari pickup

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    7 parts1kGPL-3.0
  • 2 layersRj45 breakout, the printed circuit board in 3D

    Rj45 breakout

    rene-dev/stmbl

    AC Servo Driver for STM32F4

    7 parts990GPL-3.0

Questions

How big is the PiCoCo Breakout PCB?

It measures 52.8 × 99 mm and has 2 copper layers, 1.6 mm thick.

What parts does the PiCoCo Breakout use?

7 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.

Where can I download the PiCoCo Breakout KiCad files?

From the cognitivegears/PiCoCo repository on GitHub, at the commit this page was made from: the board is breakout/PiCoCo-Breakout.kicad_pcb and its schematic PiCoCo/PiCoCo.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the PiCoCo Breakout design in my own project?

Its repository states no licence, so its author keeps all rights: ask cognitivegears before reusing the design.