Files
butterfly-edfa-rack-firmware/BOM.md
T
James Bateman (hp-laptop)andClaude Opus 4.8 ffadf4b37b Add bill of materials; link it from the README
Full parts list to rebuild the MOPA: seed (DFB1550LP + CTL200 + its
5.9 V/3 A supply), Agiltron M511 EYDFA booster + v1.10 adaptor board,
ESP32 bridge, fibre/attenuator/output-connector optics, and the 3V3
signal wiring table. Electrical specs not firmly in the lab notes are
flagged to confirm from the datasheet.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-10-02 13:34:16 +01:00

4.5 KiB
Raw Blame History

Bill of materials: Butterfly EDFA Rack (MOPA)

Everything needed to rebuild the 1550 nm MOPA that this firmware drives: a Koheron-driven DFB seed into an Agiltron M511 EYDFA booster, bridged to WiFi/MQTT by an ESP32. Quantities are per rack. Where an electrical spec is not firmly established in the lab notes it is marked "confirm from datasheet" and the datasheet is named; do not treat those as verified.

Datasheets and manuals referenced below live in the Obsidian vault under Lab/Equipment/Lasers/ (Butterfly_EDFA_Rack/ for the CTL200 guide, Agiltron EDFA/ for the M511 manuals and edfa.py).

Control / bridge electronics

Item Qty Notes
ESP32-D0WD-V3 dev board (WROOM-32 class) with CP2102N USB-UART 1 The bridge MCU. This unit's MAC is b0:cb:d8:8f:ba:10; enumerates as /dev/ttyUSB0. Any WROOM-32 class board works; keep UART1 off the flash-clashing default pins (see wiring).
5 V USB supply + data cable for the ESP32 1 Powers the board and is the flash/console link (UART0).

Seed stage (master oscillator)

Item Qty Notes
Thorlabs DFB1550LP 1 1550 nm DFB laser diode in a 14-pin butterfly package with integrated TEC, thermistor and monitor photodiode. The seed.
Koheron CTL200 (v5+) digital laser-diode controller 1 Butterfly-mount current + TEC controller. ASCII serial at 115200 8N1. Firmware v0.21 on this unit. Default thermistor setpoint 10 kΩ (rtset).
Koheron 5.9 V / 3 A barrel power supply 1 Shipped with the CTL200. The CTL200 accepts 5 V or 6 V at the barrel; set SW3 ON for a 5 V supply (compliance voltages then drop by 1 V). The terminal-block VCC pin is a 3V3 output, not an input, so it must not be used to power the board.

Power-amplifier stage (booster)

Item Qty Notes
Agiltron M511 High-Power EYDFA module, PN EDFA-1C51113331111 1 Two-stage Er/Yb-doped fibre amplifier, 1550 nm, factory APC setpoint 30 dBm (~1 W). This unit: SN Y4022708, UART device ID 0x0000006F. Purchased via Laser Components, 2024-08-22. Pump-1 is the active booster stage; pump-2 is unused on this unit. Manual: EDFA_511_23-40dBm Componenet_User Manual_e.pdf, protocol: EYDFA_M511 High-Power_UART protocol_V1_e.pdf.
Agiltron M511 power adaptor board v1.10 (OEM connection board) 1 Breakout: XT30 power input + the P2 control header (3V3 UART). P2 pin order from the end opposite the XT30: N(3.3V), G, RX, SCK, MO, MI, TX, NS. Photo: Agiltron EDFA/EDFA_connection_board.jpg.
DC supply for the M511 via XT30 1 The pump diodes draw several amps at full power; confirm voltage and current rating from the M511 manual before sourcing. Size it for the 1 W (≈4000 mA pump-1) operating point with headroom.

Optical / fibre

Item Qty Notes
1550 nm SMF patch cords (SMF-28), FC/APC 3+ Seed out → attenuator → EDFA in, and EDFA out → load.
Inline fixed optical attenuator (≈3 dB pad) 1 Keeps the EDFA input within the ≤5 dBm benchtop input spec during high-power runs.
High-power-rated output connector or fusion splice 1 Required above 1 W per the Agiltron manual; a plain connector can burn at the output.
Beam dump or calibrated power meter 1 To terminate the Class-4, >1 W, invisible 1550 nm output. Never leave it open.

Interconnect / wiring

Item Qty Notes
3V3 jumper wires (Dupont / ferruled) — ESP32 ↔ CTL200 terminal block, ESP32 ↔ M511 P2 header.
Common ground link 1 Tie ESP32, CTL200 and M511 grounds together.

Signal wiring

Both instrument links are 3V3 logic at 115200 8N1 (the CTL200 is 5V-tolerant). UART1 is remapped to GPIO25/26 because its default pins clash with the WROOM SPI flash.

ESP32 pin Goes to Link
GPIO17 (TX2) → CTL200 RX (terminal block) Koheron, ASCII, \r\n, >> prompt
GPIO16 (RX2) ← CTL200 TX
GPIO26 (TX1) → M511 P2 pin 3 (RX) Agiltron, binary 0x55AA packets
GPIO25 (RX1) ← M511 P2 pin 7 (TX)
GND CTL200 GND and M511 P2 pin 2 (G) common ground

Safety

Class 4, >1 W, invisible 1550 nm. The firmware current clamps (SEED_CURRENT_MAX_MA, PUMP_CURRENT_MAX_MA) are guardrails, not interlocks. Always drop the pump to 0 before unmating any fibre, ramp the pump gradually (it overshoots ~2× on a step up and settles in 2–4 s), and terminate the output in a power meter or beam dump. See the repo README for the measured pump-current vs output-power curve.