Skip to the content
2 layers112 × 202 mmRIAA, the printed circuit board in 3D

Open-source RIAA phono preamp for the Bang & Olufsen BeoGram 4002/4004 turntable (KiCad)

Size
112 × 202 mm
Copper layers
2
Thickness
1.6 mm
Parts
63
Nets
55
Pads
187
Tracks, vias
438, 23
Pours
216
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
18 Apr 2024
Updated
22 Oct 2026

Overview

RIAA is an open-source printed circuit board by leicht-io, from the leicht-io/BeoGram-4002-RIAA repository on GitHub, published under the CERN-OHL-S-2.0 licence. It is a 2-layer board of 112 × 202 mm with 63 parts on 55 nets, routed with 438 tracks and 23 vias.

It is built around the OPA2134UA/2K5, LM317D2TR4G-JSM and CL31A106KBHNNNE, with the FZ1V100M0506, MKS2C023301A00JSSD and CL31B104KBCNNNC among its other parts. Its parts include 26 resistors, 22 capacitors, 4 diodes, 3 ICs and 3 connectors. It belongs with the audio and music boards of this library.

Main components

12

README

README.md

BeoGram 4002 RIAA Preamp

KiCad Hardware licence: CERN-OHL-S v2 Docs licence: CC BY-SA 4.0

An open-source RIAA phono preamplifier board for the Bang & Olufsen BeoGram 4002 / 4004 turntable, designed in KiCad.

PCB render

StatusPrototype v3 (SMD) – designed, not built yet. v2 was manufactured and tested working.
ToolKiCad 10
Board2-layer, 1.6 mm, ~112 × 202 mm
Hardware licenceCERN-OHL-S v2
Docs licenceCC BY-SA 4.0

This project is community driven. Build reports, measurements and design improvements are very welcome – see CONTRIBUTING.md. Questions and build help: Discussions.


Contents


Technical overview

A dual-stage active/passive RIAA equalizer per channel, based on the classic LM833 application topology but using the OPA2134 for lower distortion. Full details are in docs/design-notes.md.

  • Stage 1 (U5A / U6A): non-inverting gain stage that sets the 3180 µs / 318 µs part of the RIAA curve.
  • 75 µs network: passive RC between the stages.
  • Stage 2 (U5B / U6B): flat gain of about 4.75×.
  • Output: 100 Ω (R113 / R213) in series with each output keeps cable capacitance away from the op-amp, and limits the current when the mute relay shorts the output.
  • Gain: about 38 dB at 1 kHz (simulated, not yet measured). B&O's MMC cartridges give about 2.5–3 mV, so the output is roughly 200–250 mV.
  • Power: an LM317 makes about 20.8 V from the turntable's 30 V rail, which is unregulated (B&O bridge rectifier and 4000 µF). The op-amps run from this single supply.
  • Bias: each channel has a filtered half-supply reference (VREF_L / VREF_R). Stage 1 is biased from it, so supply ripple is not amplified, and stage 2 is DC-coupled to stage 1. R103/R203 (47 k) also set the 47 kΩ cartridge load.
  • Grounding: each pickup return runs next to its signal trace and joins GND at one point, at the input stage (net ties NT1/NT2).
  • Mute relay: an Omron G6K-2F-Y (24 V DC coil) shorts both outputs to ground until the turntable's RELAY ON signal has been present for a while. The delay is set with RV1, and the board mutes instantly when the signal drops. Q1 is a Darlington (BCV49), as on the original B&O board.
  • Capacitors: ceramic wherever a ceramic works. Six electrolytics remain (C103/C203, C106/C206, C108/C208), where a ceramic would pick up vibration or add distortion (see the design notes).

Simulated response

Simulated RIAA response: the v3 response follows the RIAA curve within 0.1 dB from 50 Hz to 20 kHz; v2 rises to +0.7 dB at 10–20 kHz

Simulated with nominal part values, an ideal source and a 47 kΩ amplifier input. It has not been measured yet.

Frequencyv3 deviation from RIAAv2 deviation from RIAA
20 Hz−0.63 dB−0.85 dB
50 Hz−0.08 dB−0.23 dB
100 Hz+0.03 dB−0.12 dB
1 kHz0 (reference)0 (reference)
10 kHz−0.02 dB+0.70 dB
20 kHz−0.03 dB+0.73 dB

The roll-off below 50 Hz comes from the coupling capacitors. Real boards also vary with the 5 % tolerance of the RIAA film capacitors. To regenerate the chart after changing values, edit them in scripts/riaa_response.py and run python3 scripts/riaa_response.py images/riaa-response.svg.

Connectors

The board takes the place of B&O's PCB 8, the muting module (8005014 in the 4002, 8005022 with remote control in the 4004). Pin n of the original 9-pin P8 and P10 is pins 2n−1 and 2n here.

P8 – From main PCB (2×9, 2.54 mm)

PinSignal
1, 2RELAY ON
3, 4GND (main board)
5, 6Pickup cable shields (GND)
7, 8L IN (pickup)
9, 10L pickup return (joins GND only at NT1)
11, 12R IN (pickup)
13, 14R pickup return (joins GND only at NT2)
15, 1621 V (relay supply)
17, 1830 V (preamp supply)

P10 – From Keyboard (2×9, 2.54 mm). Power only; the other pins are not connected. Like the original module, the board passes 30 V, 21 V and GND from P8 through to the keyboard.

PinSignal
3, 430 V
11, 1221 V
13, 14GND

P9 – Output (1×6, 2.54 mm). Same pin layout as the original P9, so the turntable's own output harness fits.

PinSignal
1L OUT (DIN pin 3)
3R OUT (DIN pin 5)
5GND, signal ground (DIN pin 2)
6GND, chassis
2, 4Not connected (Beomaster 2400 remote lines on a 4004, see below)

BeoGram 4004: the 4004's PCB 8 (8005022) also holds the remote-control circuit for a Beomaster 2400 (start, pause and stop from the PHONO and STAND BY keys). This board doesn't have it:

  • P10 carries the same 30 V, 21 V and GND as on the 4004 board, so the turntable's own keys work. The remote-control pins of P10 are left open, so the Beomaster 2400 remote can't start, pause or stop the turntable.
  • The 4004's P9 harness has two extra wires on pins 2 and 4 (DIN pins 6 and 7, the Beomaster's remote signals). Those pins aren't connected on this board, so the harness can be plugged in as it is.

Getting the fabrication files

Gerbers and other fabrication files are not committed to the repository. CI generates them from the KiCad sources on every push, so they always match the design:

  • Releases: every tagged version (v*) has a GitHub release with the gerber zip, a schematic PDF, the BOMs, the pick-and-place files and renders.
  • Latest main / any PR: open the latest KiCad workflow run and download the fabrication artifact (you must be logged in to GitHub).
  • Locally: in KiCad, File → Fabrication Outputs, or run the kicad-cli commands from .github/workflows/kicad.yml.

The gerbers of the first (v1) prototype are no longer in the tree but remain in the git history.

The CI produces these BOMs and pick-and-place (CPL) files:

FileContents
RIAA-bom-full.csvEvery part, with manufacturer, manufacturer part number (MPN) and LCSC number. The Assembly column says whether a part is assembled by JLCPCB or soldered by hand.
RIAA-bom-jlcpcb.csv + RIAA-cpl-jlcpcb.csvUpload-ready files for JLCPCB SMT assembly (parts from LCSC; film capacitors excluded).
RIAA-bom-pcbway.csv + RIAA-cpl-pcbway.csvUpload-ready files for PCBWay turnkey assembly. The BOM lists every part, including the film capacitors and connectors, by manufacturer and MPN, with the LCSC number as distributor part number. The CPL lists the surface-mount parts.

Every part in the schematic has Manufacturer and MPN fields; parts JLCPCB can place also have an LCSC PN field.

Building one

  1. Order the board with assembly from one of the two fabs:

    • JLCPCB: SMT assembly with the gerber zip, RIAA-bom-jlcpcb.csv and RIAA-cpl-jlcpcb.csv. The film capacitors are not included (step 2).
    • PCBWay: turnkey assembly with the gerber zip, RIAA-bom-pcbway.csv and RIAA-cpl-pcbway.csv. PCBWay sources every part, including the through-hole film capacitors and connectors, so step 2 is not needed.

    Check the part rotations and the polarity of the diodes and electrolytic capacitors in the fab's preview before confirming. Stock of the 0.1 % resistors in the RIAA network is low at times. A 1 % part of the same value is fine if one runs out.

  2. For a JLCPCB board, hand-solder the parts marked Hand in RIAA-bom-full.csv: the film capacitors C101, C102, C105 and C201, C202, C205. C102/C202 and C105/C205 set the RIAA time constants, so tight-tolerance or matched parts give the most accurate curve.

  3. Set RV1 for the unmute delay you want (about 1 s to 10 s).

  4. Install it in the turntable. An illustrated installation guide is still missing – contributions are very welcome.

Please post a Build report issue when you have built one, whether it worked or not.

Known issues and roadmap

  • v3 has not been built yet. The hum, bias and mute-relay fixes are simulated and the board passes DRC/ERC, but they still need to be confirmed on a real board (see CHANGELOG.md).
  • Hum on some turntables (v2). If a v3 board still hums, check the 30 V rail, P10, and whether the turntable joins the pickup returns to ground somewhere else (see the design notes).
  • No measurements yet: RIAA deviation, noise and THD are still missing.
  • No installation guide or photos yet.
  • No BeoGram 4004 remote control: start, pause and stop from a Beomaster 2400 are not supported (see Connectors).

Repository layout

text
RIAA.kicad_pro / .kicad_sch / .kicad_pcb   KiCad project
parts/                                     Project-local footprints (OPA2134 D8)
3d-parts/                                  STL files for the 3D-printed board guides
docs/                                      Design notes
images/                                    Renders and photos
scripts/make_bom.py                        Builds the full, JLCPCB and PCBWay BOMs and CPL files (used by CI)
scripts/riaa_response.py                   Simulates the RIAA response and draws images/riaa-response.svg
.github/                                   CI workflow, issue and PR templates

Contributing

See CONTRIBUTING.md. In short: open an issue or discussion first for design changes, keep each PR focused, and include screenshots of what you changed in the schematic or PCB.

Safety and disclaimer

This board connects to the turntable's internal 30 V supply. Vintage equipment can be damaged by wiring mistakes. Everything here is provided as is, without any warranty (see the licence), and you build and install it at your own risk.

Bang & Olufsen, BeoGram and related names are trademarks of their owners. This project is not affiliated with or endorsed by Bang & Olufsen.

License

Author

Christian Leicht – leicht.io

Parts

63
QtyValueFootprintReferences
5100kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR22, R23, R24, R25, R26
410uFCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC1, C30, C107, C207
410uFCapacitor_SMD:CP_Elec_5x5.4C106, C108, C206, C208
433nFCapacitor_THT:C_Rect_L7.2mm_W4.5mm_P5.00mm_FKS2_FKP2_MKS2_MKP2C102, C105, C202, C205
3100nFCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC27, C28, C29
31N4004Diode_SMD:D_SMAD5, D7, D8
2100Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR113, R213
2100pFCapacitor_THT:C_Rect_L7.2mm_W4.5mm_P5.00mm_FKS2_FKP2_MKS2_MKP2C101, C201
210kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR106, R206
22.37kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR107, R207
2220uFCapacitor_SMD:CP_Elec_6.3x7.7C103, C203
222uFCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC34, C35
22kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR110, R210
247kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR103, R203
254.9kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR108, R208
2590Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR104, R204
27.5kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR109, R209
295.3kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR105, R205
2NetTie_2NetTie:NetTie-2_SMD_Pad0.5mmNT1, NT2
2OPA2134OPA2134:D8U5, U6
1100uF/6.3VCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC33
11MPotentiometer_SMD:Potentiometer_Bourns_3314G_VerticalRV1
11N4002Diode_SMD:D_SMAD6
11kResistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR21
1300Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR20
14k7Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolderR19
1BCV49Package_TO_SOT_SMD:SOT-89-3_HandsolderingQ1
1From KeyboardConnector_PinSocket_2.54mm:PinSocket_2x09_P2.54mm_HorizontalP10
1From WireConnector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_VerticalP9
1From main PCBConnector_PinSocket_2.54mm:PinSocket_2x09_P2.54mm_HorizontalP8
1G6K-2F-Y DC24Relay_SMD:Relay_DPDT_Omron_G6K-2F-YK1
1LM317Package_TO_SOT_SMD:TO-263-2U7

Similar boards

  • 4 layers100 × 100 mmLabathome pcb, the printed circuit board in 3D

    Labathome pcb

    klaus-liebler/labathome

    Der kleine Bruder von lab@home. Ermöglicht das Experimentieren mit PT1...PTn-Gliedern, die intern als RC-Kombination (entkoppelt über Operationsverstärker) ausgeführt sind.

    292 parts5MIT
  • 6 layers150 × 90 mmGasmat Gateway, the printed circuit board in 3D

    Gasmat Gateway

    kenyattaejones32-boop/Gasmat_Gateway

    KiCad 8 hardware design for the Gasmat Gateway board (Geviton).

    287 parts
  • 4 layers42 × 100 mmLockBox, the printed circuit board in 3D

    LockBox

    researchanddesire/assembly-docs

    RAD unified assembly docs — ohai.researchanddesire.com

    81 parts
  • 2 layers91.2 × 75.1 mmLyrebird Keyboard Power Supply, the printed circuit board in 3D

    Lyrebird Keyboard Power Supply

    Celcius1/Old-Projects-become-New

    Electronics Projects from the 60's to 90's redone for the modern era

    22 parts1GPL-3.0
  • 4 layers170.2 × 79 mmInt brain pcb, the printed circuit board in 3D

    Int brain pcb

    eccentricOrange/int-brain-stm32

    217 parts
  • 2 layers85.6 × 54 mmWallet dmm, the printed circuit board in 3D

    Wallet dmm

    ArgonautGit/wallet_dmm

    A multimeter the size of a credit card: DC volts, resistance, continuity and diode test, shown on a 0.91" OLED, with three buttons, an RGB LED and a piezo beeper.

    70 parts
  • 4 layers87.1 × 40.4 mmBowelProbe, the printed circuit board in 3D

    BowelProbe

    ashertok1/BowelProbe

    135 parts

Questions

How big is the RIAA PCB?

It measures 112 × 202 mm and has 2 copper layers, 1.6 mm thick.

What parts does the RIAA use?

63 parts, built around the OPA2134UA/2K5, LM317D2TR4G-JSM, CL31A106KBHNNNE and FZ1V100M0506. 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 RIAA KiCad files?

From the leicht-io/BeoGram-4002-RIAA repository on GitHub, at the commit this page was made from: the board is RIAA.kicad_pcb and its schematic RIAA.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the RIAA design in my own project?

Its repository publishes it under the CERN-OHL-S-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).