One proton precession magnetometer design: a polarization board, a signal-processing and control board with a Raspberry Pi Pico 2 and an ADS1256 ADC, an off-board two-stage amplifier, the sensing and polarizing coils…
SignalProcessing&ControlBoard is an open-source printed circuit board by ethanewer, from the ethanewer/ece455 repository on GitHub. It is a 2-layer board of 99 × 99 mm with 60 parts on 74 nets, routed with 350 tracks and 114 vias.
Its parts include 21 capacitors, 9 resistors, 7 connectors, 4 switches and 2 ICs. It belongs with the RP2040 boards of this library.
README
README.md
ECE 455 proton magnetometer
One proton precession magnetometer design: a polarization board, a signal-processing and control board with a Raspberry Pi Pico 2 and an ADS1256 ADC, an off-board two-stage amplifier, the sensing and polarizing coils, and the Pico firmware. docs/design.md describes how they fit together and lists open issues.
make firmware and make test compile the firmware on the host with $CC, or clang or gcc. Building and flashing the Pico needs the Pico SDK and Arm toolchain; see firmware/README.md.
Commands
sh
make test # all tests: board/schematic/BOM/firmware consistency, coil forms, LTspice translation, breadboard, estimator
make firmware # only the firmware estimator tests
make sim # simulate ltspice/AmplificationSim.asc and regenerate docs/simulation/
make breadboard # check the breadboard layout and regenerate docs/breadboard/
make verify # test, sim, and breadboard
make flash # build the Pico firmware and flash it over USB
make plot # plot captures from the Pico (sets up .venv on first use)
Status
Both PCBs match their schematics, and the firmware's SPI pins match the ADS1256 header on J3. The amplifier exists only as an LTspice drawing and a breadboard layout; no op amp has been chosen. From the coil workbook and print files, the coils as built should give a best-case FID of about 2 µV, a fifth of the drawing's 10 µV. The coil forms are sized for the sensing coils to sit inside the polarizing coil, where its turn-off would induce on the order of 100 V in them, beyond what the damping switch and amplifier input are rated for. The firmware now polarizes and captures on a button press but does not drive the damping switch. Nothing here has been measured on hardware; see docs/verification-plan.md.
It measures 99 × 99 mm and has 2 copper layers, 1.6 mm thick.
What parts does the SignalProcessing&ControlBoard use?
60 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 SignalProcessing&ControlBoard KiCad files?
From the ethanewer/ece455 repository on GitHub, at the commit this page was made from: the board is kicad/signal_control_board/SignalProcessing&ControlBoard.kicad_pcb and its schematic kicad/polarization_board/PolarizationBoard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the SignalProcessing&ControlBoard design in my own project?
Its repository states no licence, so its author keeps all rights: ask ethanewer before reusing the design.
One proton precession magnetometer design: a polarization board, a signal-processing and control board with a Raspberry Pi Pico 2 and an ADS1256 ADC, an off-board two-stage amplifier, the sensing and polarizing coils…
The PCB must be produced in 0.8mm thickness. Production files are provided under the "Releases" tab. These do not include the through-hole OLED module.