Pangram verdict · v3.3
We believe that this document is a mix of AI-generated, and human-written content
AI likelihood · overall
MixedArticle text · 954 words · 4 segments analyzed
The pic0rick The pic0rick is the current recommended board in the un0rick family. It replaces the FPGA-based designs with an RP2040/RP2350 microcontroller, delivering comparable ultrasound acquisition performance at a fraction of the cost and complexity — with no FPGA toolchains or specialized hardware knowledge required.New to the project? Start with the Getting started guide for a step-by-step walkthrough from unboxing to your first echo. Specifications Parameter Value Microcontroller RP2040 (dual-core Cortex-M0+, 133 MHz). RP2350 also supported ADC 60 Msps, 10-bit resolution TGC amplifier AD8331 — 7.5 dB to 55.5 dB variable gain TGC control MCP4812 SPI DAC Pulse generation Three-level pulser via MD1210 + TC6320 (on pulser PMOD board) Pulse voltage +-25 V (via HV generation board) Input protection HV clipping on receive path PMOD connectors 1x single (pulser), 1x double (VGA, MUX, PSRAM, or custom) Data interface USB (serial) PIO usage PIO0: acquisition timing, PIO1: VGA output (when connected) Power USB bus powered Design files KiCad (open source) Firmware C/C++ for RP2040 — Arduino-like development environment Certification OSHWA open-source hardware certified as FR000023 System architecture The pic0rick is a modular three-board system:Main board — The core of the system. Contains the RP2040 microcontroller, the 60 Msps 10-bit ADC, the AD8331 TGC amplifier with SPI-controlled gain curve, and HV input protection on the receive path. The main board hosts both PMOD connectors and the USB interface.Pulser board (single PMOD) — Generates the transmit pulse on behalf of the main board. Uses a pair of MD1210 + TC6320 to produce three-level pulses. Requires the HV board for high-voltage supply.HV board — A simple +-25V generation board that plugs into the pulser board.
Provides the high-voltage rail needed for pulse generation.The signal chain works as follows:RP2040 → PIO triggers pulse → Pulser board → Transducer → Echo returns → HV clipping (protection) → AD8331 TGC → 60 Msps ADC → RP2040 → USB → Computer The RP2040’s two PIO units are used for precise timing: one drives the acquisition sequence (pulse trigger + ADC sampling), and the other can drive a VGA output for real-time visualization — leaving the two Cortex-M0+ cores free for your own application code. How does it replace the FPGA? Previous boards (un0rick, lit3rick) used a Lattice iCE40 FPGA for precise timing control of the pulse-echo sequence. The pic0rick achieves the same timing precision using the RP2040’s Programmable Input/Output (PIO) state machines. PIO programs run deterministically at the system clock rate, providing the sub-microsecond timing needed for ultrasound acquisition — without requiring HDL knowledge or FPGA synthesis tools.This means you can modify the acquisition timing, pulse patterns, and sampling parameters by editing C code in a standard Arduino-like environment, rather than writing Verilog or VHDL and running a synthesis toolchain. PMOD extensions The double PMOD connector supports several expansion boards: Extension Function VGA output Real-time display of acquisitions on a VGA monitor — uses PIO1 MUX board Multiplexer for driving multiple transducers — enables array imaging and synthetic aperture PSRAM Additional memory for longer acquisition buffers Custom The PMOD pinout is documented — design your own extensions Note: the PMOD headers include a 5V rail in addition to the standard signals, so they are not strictly PMOD-compliant — but this allows powering more demanding extension boards directly.For more details, see the Extensions page. Board comparison How does the pic0rick compare to the older un0rick-family boards?
pic0rick un0rick lit3rick lit3-32 Status Active Legacy Legacy Legacy Years 2024–now 2018–2025 2020–2024 2021–2024 Controller RP2040 / RP2350 iCE40 HX4K/HX8K iCE40 UP5K iCE40 UP5K Type Microcontroller FPGA FPGA FPGA ADC speed 60 Msps Up to 64 Msps Up to 64 Msps Up to 64 Msps ADC resolution 10-bit 10-bit 10-bit 10-bit TGC amplifier AD8331 (48 dB range) AD8331 (48 dB range) AD8331 (48 dB range) AD8332 (92 dB range) Onboard HV No (separate board) Yes No No Form factor Compact + PMODs Large single board RPi pHAT RPi pHAT Programming C/C++ (Arduino-like) Verilog + Python Verilog + Python Verilog + Python FPGA required No Yes Yes Yes Extensible PMOD connectors Limited RPi GPIO RPi GPIO Cost Lowest Medium Low Medium-high Best for New projects, education, fast prototyping Users needing full FPGA flexibility RPi-integrated setups Weak signal detection (high gain) For new projects, we recommend the pic0rick unless you specifically need FPGA-level timing control or the 92 dB gain range of the lit3-32.
Example of acquisition A typical acquisition looks like this — the large spike on the left is the transmit pulse, and the smaller peaks to the right are reflections from your target: The pic0rick alongside older boards Source files All design files are open source: Hardware (KiCad): Main board, pulser board, HV board — in the pic0rick repository Firmware: RP2040 C/C++ source code — in the software/ directory Documentation: Published under CC BY-SA 3.0 Get one Buy assembled: Available on Tindie Build your own: All KiCad files and BOM are in the GitHub repository Questions? Reach out on Slack or email orders@un0rick.cc Thank you to Abdelrahman Lap License This work is based on three previous TAPR projects, the echOmods project, the un0rick project, and the lit3rick project — their boards are open hardware and software, developed with open-source elements as much as possible.Copyright Luc Jonveaux (kelu124@gmail.com) 2024 The hardware is licensed under TAPR Open Hardware License (www.tapr.org/OHL) The software components are free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. The documentation is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. Disclaimer This project is distributed WITHOUT ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING OF MERCHANTABILITY, SATISFACTORY QUALITY AND FITNESS FOR A PARTICULAR PURPOSE.Table of contents