
Marble
BerkeleyLab/Marble
Dual FMC FPGA carrier board developed for general purpose use in particle accelerator electronics instrumentation.

Circuit boards to beep out the backplane in the Apollo update test box
Beeper is an open-source printed circuit board by shirriff, from the shirriff/beepomatic repository on GitHub. It is a 2-layer board of 166.2 × 152.4 mm with 16 parts on 56 nets, routed with 527 tracks and 72 vias.
It is built around the PCAL9555AHF. Its parts include 5 connectors, 3 capacitors and 3 ICs.
This repository describes hardware and software for reverse-engineering a test box used with Apollo space hardware. This is unlikely to be useful to anyone else, but I figure I'll document it.
In the Apollo mission to the Moon, the Up-Data Link was used to send data up to the spacecraft from the ground.
To test the Up-Data Link, the Up-Data Link Confidence Test Set was used. Unfortunately, we can't find any documentation on this test box, so I'm reverse-engineering it.
The box consists of 25 circuit boards plugged into a wire-wrapped backplane. It's almost impossible to figure out how the boards are connected through this tangle of wires. I beeped out some connections with a multimeter, but it is extremely tedious to do this manually through trial and error. So I decided to automate the beeping process.
My idea was to build two boards that will automatically beep out the connections between them. The idea is to pull one pin low and then see which other pins are pulled low on the other board; this indicates the pins are connected.
I still need to put boards into each combination of slots, so I need to run 300 scans. This is still somewhat tedious, but much better than probing the entire backplane manually to find a single connection.
The backplane is implemented with 47-pin Elco connectors. Each board has three 16-bit GPIO chips connected to these pins; I used PCA9555A chips.) The chips are driven over I2C from a Teensy microcontroller. (Thanks to PCBWay for sponsoring these boards.)
On the software side, I wrote a simple program beeper.ino, which cycles through the 47 pins on each board, pulling each pin low in turn. It reads the remaining pins to see which ones are low and outputs that data to the serial port. It takes under a second to perform this scan.
I run beeper.py on my laptop; it records the output for each scan in output files.
Finally, the program net.py processes these output files to find connected components and output the wiring nets.
I pulled out all the boards, so I don't get any interference from the circuitry. However, the power and ground connections are still wired to the filter capacitors. As a result, I see phantom connections between power and ground because of current flow through the capacitor. (This happens with multimeter beeping too.) More inconvenient, though, is that once the capacitors are charged low, they can continue to pull the ground pins low even when I'm scanning unrelated pins. This can make it appear that most pins are connected to ground. I filter this out in the software analysis.
A second problem is that the box has a lot of wiring to front panel switches, which are connected to power or ground (depending on their position). I'll need to sort out that wiring manually.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | .1uF | Capacitors_ThroughHole:C_Disc_D3.0mm_W2.0mm_P2.50mm | C1, C2, C3 |
| 3 | Conn_01x16 | Pin_Headers:Pin_Header_Straight_1x16_Pitch2.54mm | J2, J3, J4 |
| 3 | PCAL9555 | Housings_SSOP:TSSOP-24_4.4x7.8mm_Pitch0.65mm | U1, U2, U3 |
| 1 | 8P8C | SparkFun:RJ45-8 | J1 |
| 1 | Conn_01x47_Male | beeper:elco-47 | J5 |
| 1 | SolderJumper_3_Bridged12 | SparkFun:SMT-JUMPER_3_NO_SILK | JP1 |
The 12 most common of 16 parts.
It measures 166.2 × 152.4 mm and has 2 copper layers, 1.6 mm thick.
16 parts, built around the PCAL9555AHF. 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 shirriff/beepomatic repository on GitHub, at the commit this page was made from: the board is kicad/beeper.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 shirriff before reusing the design.

BerkeleyLab/Marble
Dual FMC FPGA carrier board developed for general purpose use in particle accelerator electronics instrumentation.


google/mozc-devices
Circuit diagrams and firmware source code for Gboard DIY keyboards

conorpp/u2f-zero
U2F USB token optimized for physical security, affordability, and style

rusefi/rusefi
rusefi - GPL internal combustion engine control unit

VoronDesign/Voron-Hardware
Cool Hardware designed by the Voron Design group

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

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