YOU CAN BUILD THE BOARD THAT LOOKS INSIDE SOLID OBJECTS WITH SOUND
A development board that fires a high-voltage pulse into a piezo crystal and catches the echo microseconds later, built from published schematics and driven from a Raspberry Pi.
by kelu124
Open-hardwareScience
- difficulty
- ●●●●●
- time
- a weekend-plus
- license
- TAPR-OHL-1.0 (hardware), GPL-3.0 (software), CC-BY-SA-3.0 (docs)
- repo
- repo ACTIVE173 stars
●●●●● · a weekend-plus · TAPR-OHL-1.0 (hardware), GPL-3.0 (software), CC-BY-SA-3.0 (docs) · 173 stars · repo ACTIVE
WHAT YOU’LL NEED
- 3D printer + filament — printable parts — files are in the repo
- Electronic parts — full list with part numbers in the repo BOM
- Dev board / microcontroller — runs the project firmware
Partner
COMPAREE VERDICT
un0rick is a single-channel open-hardware ultrasound board that does the genuinely hard part of an ultrasound machine: firing a 25 volt pulse into a piezo element, then catching the returning echo with a variable-gain amplifier and a 65 megasample-per-second ADC, all coordinated by a Lattice iCE40 FPGA that writes every sample into static RAM before a Raspberry Pi or USB host reads it out. The acquisition is fully programmable down to pulse width and a 200 microsecond time-gain compensation curve, which is what stops deep echoes from disappearing into noise. The gateware builds with IceStorm, the Python library handles control, and the documented example is a single-element piezo in water aimed at a reflector a few centimetres away. This is a development kit for learning how ultrasound works and for looking inside objects, not a medical scanner. The thing most likely to go wrong is the board bring-up itself: surface-mount assembly with a mixed-signal layout, FPGA toolchain configuration, and timing-critical analog paths all in one weekend. If you have never reflowed a PCB or debugged an FPGA, this will consume more than one Saturday. If you have, and you want to understand ultrasound acquisition at the hardware level, every file you need is here.
IN THE REPO
NOT IN THE REPO
- —Full KiCAD schematics and PCB layout for the main board and the Raspberry Pi interface.
- —Bill of materials with Digi-Key and Mouser part numbers, though some components are surface-mount and require reflow.
- —FPGA gateware builds with IceStorm open-source toolchain; Python library for acquisition and control is included.
- —Documentation covers hardware bring-up, software setup, and a water-tank reflector test; no medical imaging guide.
- —Hardware under TAPR Open Hardware License 1.0, software under GPLv3, documentation under CC BY-SA 3.0. All three permit commercial use with attribution.
- —The author states explicitly that this is not a medical ultrasound scanner and is intended for teaching and non-medical imaging only.
Can I build this?
Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.
Partner · KickstarterHeyGears G1: 10M+ colors and transparent parts in one print, plus UV printing on flat objects. Figures, parts and labels — no painting.
Gallery
Start here
Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.
- 1.Read the documentation in the GitHub repository and verify the BOM against current supplier stock. (Some components may have moved to newer variants; check footprints before ordering PCBs.)
- 2.Order PCBs for the main board and Raspberry Pi interface, plus the full BOM including the FPGA, ADC, transducer, and passives.(Surface-mount assembly required — plan reflow or hand-soldering time accordingly.)
- 3.Set up the IceStorm FPGA toolchain on a Linux host and clone the repository. (The gateware builds with open-source tools; Windows users will need WSL or a VM.)
- 4.Assemble the board, flash the FPGA, connect the Raspberry Pi, and run the Python library test with a transducer in water.(The documented example is a single-element piezo aimed at a reflector; start there before moving to real targets.)
Resources
Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.
KNOWN ISSUES
- The board is surface-mount and includes a mixed-signal layout with high-speed ADC and FPGA timing paths — if you have never debugged an analog acquisition chain or reflowed a dense board, this will take longer than a weekend.
- The IceStorm FPGA toolchain runs on Linux; Windows users need WSL or a virtual machine, and the build process is not one-click.
- The documented example uses a single-element transducer in a water tank; moving to real objects or multi-element arrays requires understanding the physics and is not covered in the repository.
- The TAPR Open Hardware License permits commercial use but requires attribution and publication of modifications; read the full license before adapting the design.
- This is explicitly not a medical ultrasound scanner — using it for diagnostic purposes is unsafe, unlicensed, and forbidden by the author.
- Some BOM components may have been updated or gone end-of-life since the design was published; verify part numbers and footprints before ordering PCBs.
Can I use this to scan a person?
No. The author states plainly that this is not a medical ultrasound scanner and is not safe or licensed for diagnostic use. It is a development kit for learning and for imaging non-biological objects.
What is the resolution and penetration depth?
The documented example uses a single-element transducer in water with a reflector a few centimetres away. Resolution and depth depend entirely on the transducer frequency and the target material; the repository does not provide imaging performance specs.
Do I need a Raspberry Pi or can I use something else?
The board can be controlled over USB or from a microcontroller such as an M5Stack, but the documented setup and Python library assume a Raspberry Pi. Other controllers will require adapting the software.
How hard is the FPGA gateware to modify?
The gateware is open-source and builds with IceStorm, but modifying acquisition timing or adding features requires understanding Verilog and the iCE40 architecture. The existing code is a working starting point, not a tutorial.
Can I order a pre-assembled board?
No commercial vendor is listed in the repository. You will need to fabricate and assemble the PCBs yourself or use a board house that offers assembly services.
Community builds
No community builds yet — be the first, we feature the best ones.
Discussion1
FROM THE COMPAREE TEAM
The board samples at 65 million times a second and writes every echo into FPGA-controlled RAM before the Pi even sees it. What would you aim this at first?
kelu124
kelu124 built un0rick as part of a long-running project to make ultrasound imaging accessible outside hospital budgets. It extends his earlier echOmods work, which explored modular ultrasound hardware for teaching and research. The design is deliberately single-channel and non-medical, published under open licenses to support experimentation rather than clinical use.
DISCLAIMER
- Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
- Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
- Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.


CompareeTEAM9d ago
Practical notes from our verification: the repository includes full KiCAD files, a BOM with supplier part numbers, and Python acquisition code, but there is no official video walkthrough and the documented example stops at a reflector in water — moving to real imaging is left to the builder. The FPGA gateware builds with IceStorm on Linux; the toolchain setup is straightforward if you have done it before, but it is not a one-click process. The single biggest challenge is not the code, it is the board bring-up: mixed-signal layout, reflow assembly, and analog path tuning all before you see your first echo. The author's honesty about the non-medical scope is the most important sentence in the repository.