An Ultrasound Driver With Open Source FPGAs

Ultrasound imaging has been around for decades, but Open Source ultrasound has not. While there are a ton of projects out there attempting to create open ultrasound devices, most of this is concentrated on the image-processing side of things, and not the exceptionally difficult problem of pinging a sensor at millions of times a second, listening for the echo, and running that through a very high speed ADC.

For his entry into the Hackaday Prize, [kelu124] is doing just that. He’s building an ultrasound board that’s built around Open Hardware, a fancy Open Source FPGA, and a lot of very difficult signal processing. It also uses some Rick and Morty references, so you know this is going to be popular with the Internet peanut gallery.

The design of the ultrasound system is based around an iCE40 FPGA, the only FPGA with an Open Source toolchain. Along with this, there are a ton of ADCs, a DAC, pulsers, and a high voltage section to drive the off-the-shelf ultrasound head. If you’re wondering how this ultrasound board interfaces with the outside world, there’s a header for a Raspberry Pi on there, too, so this project has the requisite amount of blog cred.

Already, [kelu] has a working ultrasound device capable of sending pulses out of its head and receiving the echo. Right now it’s just a few pulses, but this is a significant step towards a real, working ultrasound machine built around a reasonably Open Source toolchain that doesn’t cost several arms and legs.

10 thoughts on “An Ultrasound Driver With Open Source FPGAs

  1. Took an ultrasound class in EE grad school. It covered physics and math. But one day we did a lab where we had the chance to use an ultrasound machine like one used in a doctor’s office. We had a cylinder filled with fluid with a mystery object we were supposed to identify. That lab gave me a great appreciation for how difficult using an ultrasound machine is. The object was basically a square with a circle cut out of the middle and no one in the class could figure it out.

  2. “the exceptionally difficult problem of pinging a sensor at millions of times a second”

    You don’t necessarily have to. You can sweep the signal frequency up and down to compare where the transmission and the return echo match in phase, which means there’s something that wavelenght away. Basically, you mix the incoming signal in analog with your outgoing signal and you can measure the difference as slow as you want.

  3. Not to diminish this great work to make this more open, but if you want to skip the drudgery of making one, you can get grade-A, FDA-certified, made-in-USA USB ultrasound probes starting at $5k. Interson has been making them in California (Bay area) for a couple of decades now. I’ve used them. They’re fine. Not a $80k Toshiba, GE, or Seimens, but fine.

    If you want to get the knockoffs from the usual Asian sources, you can get functional, perfectly adequate devices for much less than $1k.

    And you can’t be “pinging a sensor at millions of times a second”. You ping, then have to wait for the echoes to come back. At 1.5 millimeters per microsecond it takes a while. Pulse repetition frequencies are in the kilohertz range. Sampling the receiver(s) happens at megahertz rates though. High-end systems run 256 channels at 12-14 bits at 40-80 MHz. And that’s why they are in the $100k ballpark.

  4. Not to diminish this great work to make this more open, but if you want to skip the drudgery of making one, you can get grade-A, FDA-certified, made-in-USA USB ultrasound probes starting at $5k. Interson has been making them in California (Bay area) for a couple of decades now. I’ve used them. They’re fine. Not a $80k Toshiba, GE, or Siemens, but fine.

    If you want to get the knockoffs from the usual Asian sources, you can get functional, perfectly adequate devices for much less than $1k.

    And you can’t be “pinging a sensor at millions of times a second”. You ping, then have to wait for the echoes to come back. At 1.5 millimeters per microsecond it takes a while. Pulse repetition frequencies are in the kilohertz range. Sampling the receiver(s) happens at megahertz rates though. High-end systems run 256 channels at 12-14 bits at 40-80 MHz. And that’s why they are in the $100k ballpark.

    1. I’m a radiologist and have said for years the price of US, CT , and MRI units are outrageous (no I don’t own one). That said – type in “portable Ultrasound” into ebay. The units there are $1-$3k, shipped from China, and medical grade. The company rep assured me that shipping/ customs was not an issue for medical professionals. They get rebadged into commercial units for the big manufacturers, where we all pay. They have 1-3 probes, of various MHz ranges (usually up to 7.5)…AI is already disrupting radiology/medicine. It’s time to disrupt the hardware too, via opensource.

Leave a Reply to PaulCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.