Link

Patreon Kofi Slack made-with-Markdown

Open source ultrasound

Non destructive testing and imaging ultrasound have been around since the ’50s. Many ultrasound open-source projects are emerging, mostly focusing on image processing - while hardware has been left behind. Several teams have produced succesful designs to be used on commercial US scanners, but they are not cheap, and are difficult to access.

I couldn’t find designs to play with, that would be affordable or open, so I decided to make one for makers, researchers and hackers.

Two boards

For this project, I developped two boards, the un0rick and the lit3rick boards, based on the hx4k and up5k lattice fpga, respectively. Both are open hardware certified (check for un0rick and lit3rick ).

un0rick

lit3rick

Comparing the two designs

They have their own specificities:

  un0rick lit3rick
FPGA HX4K, HX8K UP5K
Onboard high voltage 0, 24, 48, 72V 5V
RAM External 8Mb Internal 1Mb
ADC 64Msp, 10bits, interleaved at 128Msps 64Msps 12 bits
Amplification / VGA AD8331 AD8331
Pulser Unipolar, 0 to 100V Bipolar, -100V to 100V
Size Larger Raspberry pHAT size
USB capable Yes (FTDI) No
     
     

What can be done with this hardware?

This board has been developped for pedagogical purposes, to understand how ultrasound imaging and non-destructive testing work. This structure can be used to develop:

  • ultrasound prototypes, eg can be used as a platform for A-mode, or B-mode imaging (pulse echo works best);
  • it can also be used for array imaging - the modules can be used with a multiplexer for do synthetic aperture beamforming;
  • new signal processing methods;
  • test transducers - which can be used as well for maintenance and repairs of ultrasound probes;
  • use old mechanical probes to get ultrasound images;
  • play with ultrasound tomography;
  • can be connected to arduinos;
  • other non-destructive testing apparatus.

ice40 - a specificity

These two boards build in particular on the famouse ice40 FPGA family which is low-cost, … and open-sourced.

It can use the “Project IceStorm”, which aims at reverse engineering and documenting the bitstream format of Lattice iCE40 FPGAs and providing simple tools for analyzing and creating bitstream files.

There’s a bit of action around these FPGAs these days, be it for tools, extensions, DIP designs,… and I thought using those for a ultrasound imaging device would permit to mix both FPGA and OpenSource.

How is this better?

Compared to previous iterations, the two un0rick and lit3rick boards are :

  • more robust;
  • more cost efficient;
  • integrated - and SNR is far better than earlier;
  • better memory for bigger captures;
  • are Open Source Hardware Certified

Working together

Who’s working on this?

A summary of the contributors using this family of hardware is detailed below. Some continents are still to be represented!

And you?

  • Want to learn more? We are on the Matrix as an open chat, if you want to discuss, but there are plenty of other sources:
  • Hackaday page too
  • You can also fork the project repo,
  • The slack channel is being deprecated.
  • Or, you can go vintage and see:
    • Old repo can be used for an extensive archive for the source files, raw data and raw experiment logs or explore the hackaday page, where I tried to blog day-to-day experiments in a casual format
    • Obviously, you can read the online manual/book for a easily readable and searchable archive of the whole work on this family of hardware

Articles

Under CC-BY-4.0, main article here. Other articles are in the pipeline.

License

This work is based on a previous TAPR project, the echOmods project. The un0rick project, the lit3rick project and their boards are open hardware and software, developped with open-source elements, as much as possible.

Copyright Kelu124 (kelu124@gmail.com) 2018-2020

  • 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(s)

This project is distributed WITHOUT ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING OF MERCHANTABILITY, SATISFACTORY QUALITY AND FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. Also:

  • This is not a medical ultrasound scanner! It’s a development kit that can be used for pedagogical and academic purposes - possible immediate use as a non-destructive testing (NDT) tool, for example in metallurgical crack analysis.
  • As in all electronics, be careful, especially.
  • This is a learning by doing project, I never did something related -> It’s all but a finalized product.
  • Ultrasound raises questions. In case you build a scanner, use caution and good sense!