0% found this document useful (0 votes)
164 views13 pages

Body Ultrasound Sonography With Arduino

This document describes a project to build a basic body ultrasound scanner using inexpensive parts and an Arduino. The author was inspired by a more complex commercial project. The transmitter circuit uses a piezoelectric transducer driven by an Arduino to emit ultrasound pulses. The receiver circuit amplifies the echo signals received by the transducer and sends them to the Arduino for processing and display on a screen. The author was able to see echoes from skin and bones when scanning his own body, though the images were not as clear as commercial solutions. The project demonstrates that ultrasound imaging is possible using simple methods and components not intended for medical use.

Uploaded by

mirta jhoswanda
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
164 views13 pages

Body Ultrasound Sonography With Arduino

This document describes a project to build a basic body ultrasound scanner using inexpensive parts and an Arduino. The author was inspired by a more complex commercial project. The transmitter circuit uses a piezoelectric transducer driven by an Arduino to emit ultrasound pulses. The receiver circuit amplifies the echo signals received by the transducer and sends them to the Arduino for processing and display on a screen. The author was able to see echoes from skin and bones when scanning his own body, though the images were not as clear as commercial solutions. The project demonstrates that ultrasound imaging is possible using simple methods and components not intended for medical use.

Uploaded by

mirta jhoswanda
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

instructables

Body-ultrasound Sonography With Arduino

by stoppi71

Hello!

My hobby and passion is to realize physics projects. One of my last work is about ultrasonic sonography. As always I tried
to make it as simple as possible with parts you can get on ebay or aliexpress. So let's take a look how far I can go with my
simple items...

I was inspired by this a bit more complicated and more expensive project:

https://hackaday.io/project/9281-murgen-open-sourc...

Here are the parts you'll need for my project:

the main parts:

a gauge to measure the thickness of paint for 40 USD: ebay paint thickness gauge GM100
or just the 5 MHz transducer for 33 USD: ebay 5 MHz transducer
an arduino Due for 12 USD: ebay arduino due
a 320x480 pixel display for 11 USD: 320x480 arduino display
two 9V/1A power supplies for the symmetric +9/GND/-9V supply
ultrasound-gel for sonography: 10 USD ultrasound gel

for the transmitter:

a step-up-converter for the needed 100V for 5 USD: 100V boost converter
a common step-up-converter supplying 12-15V for the 100V-boost-converter for 2 USD: XL6009 boost-
converter
a LM7805 voltage regulator
mono op-IC 74121
mosfet-driver ICL7667
IRL620 mosfet: IRL620
capacitors with 1nF (1x), 50pF (1x), 0.1µF (1x electrolytic), 47µF (1x electrolytic), 20 µF (1 x electrolytic for
200V), 100 nF (2x MKP for 200V: 100nF20µF
resistors with 3kOhm (0.25W), 10kOhm (0.25W) and 50Ohm (1W)
10 kOhm potentiometer
2 pcs. C5-sockets: 7 USD C5 socket

Body-ultrasound Sonography With Arduino: Page 1


for the receiver:

3 pcs. AD811 operational ampli e: ebay AD811


1 pcs. LM7171 operational ampli e: ebay LM7171
5 x 1 nF capacitor, 8 x 100nF capacitor
4 x 10 kOhm potentiometer
1 x 100 kOhm potentiometer
0.25W resistors with 68 Ohm, 330 Ohm (2 pcs.), 820 Ohm, 470 Ohm, 1.5 kOhm, 1 kOhm, 100 Ohm
1N4148 diodes (2 pcs.)
3.3V zener diode (1 pcs.)

Body-ultrasound Sonography With Arduino: Page 2


Step 1: My Transmitter- and Receiver-circuits

Body-ultrasound Sonography With Arduino: Page 3


Sonography is a very important way in medicine to look thickness of paint layers. Though not really intended for
inside the body. The principle is simple: A transmitter looking inside the body i am able to see my bones.
sends ultra-sonic-pulses. They spread out in the body,
are being re ected by inner organs or bones and come The GM100-transmitter works with a frequency of 5
back to the receiver. MHz. Therefore you have to create very short pulses with
a length of 100-200 nanoseconds. The 7412-mono op is
In my case I use the gauge GM100 for measuring the able to create such short pulses. These short pulses go to

the ICL7667-mosfet-driver, which drives the gate of an After the third step you'll need a precision-recti er. For
IRL620 (attention: the mosfet must be able to handle this purpose I use an LM7171 operational ampli er.
voltages up to 200V!).
Pay attention: I got the best results, when I shorten the
If the gate is switched on, the 100V-100nF-capacitor input of the precision-recti er with a dupont-wire-loop
discharges and a negative pulse of -100V is applied to (? in the circuit). I don't really understand why but you'll
the transmitter-piezo. have to check it if you try to reconstruct my ultrasonic-
scanner.
The ultrasonic-echoes, received from the GM100-head
are going to a 3-stage ampli er with the fast OPA AD820.

Body-ultrasound Sonography With Arduino: Page 4


Body-ultrasound Sonography With Arduino: Page 5
Step 2: The Arduino-software

Body-ultrasound Sonography With Arduino: Page 6


The re ected pulses have to be stored and displayed by Each analog-input-value is then transformed into an
a microcontroller. The microcontroller must be fast. value between 0 and 255. With this value a further grey-
Therefore I choose an arduino due. I've tried two coloured-rectancle will be drawn on the display. White
di erent types of fast analog-read-codes (look at the means high signal/echo, dark-grey or black means low
attachments). One is faster (about 0.4 µs per conversion) signal/echo.
but I got 2-3 times the same value when reading in the
analog input. The other one is a bit slower (1 µs per Here are the lines in the code for drawing the rectangles
conversion), but hasn't the disadvantage of the with 24 pixel width and 1 pixel height
repeated-values. I've chosen the rst one...
for(i = 0; i < 300; i++)
There are two switches on the receiver-board. With {
those sitches you can stop the measurement and choose
two di erent time-bases. One for measure-times values[i] = map(values[i], 0, 4095, 0, 255);
between 0 and 120 µs and the other between 0 and 240
µs. I realized this by reading out 300 values or 600 values. myGLCD.setColor(values[i], values[i], values[i]);
For 600 values it takes twice the time, but then I take just
every second analog-in-value. myGLCD. llRect(j * 24, 15 + i, j * 24 + 23, 15 + i);

The incoming echoes are being read with one of the }


analog-input-ports of the arduino. The zener-diode
should protect the port for too high voltages because After one second the next column will be drawn...
the arduino due can only read voltages up to 3.3V.

Body-ultrasound Sonography With Arduino: Page 7


Download

https://www.instructables.com/ORIG/F48/JME3/JU8N5EDJ/F48JME3JU8N5EDJ.ino

Download

https://www.instructables.com/ORIG/FK3/MZH7/JU8N5EE2/FK3MZH7JU8N5EE2.ino

Download

https://www.instructables.com/ORIG/FYF/JVR6/JU8N5EBJ/FYFJVR6JU8N5EBJ.ino

Download

https://www.instructables.com/ORIG/FG4/7TSP/JU8N5EBK/FG47TSPJU8N5EBK.ino

Download

https://www.instructables.com/ORIG/FEL/WE9T/K1YJVE6N/FELWE9TK1YJVE6N.ino

Download

https://www.instructables.com/ORIG/FHV/QWMH/K1YJVE6O/FHVQWMHK1YJVE6O.ino

Download

https://www.instructables.com/ORIG/FS0/ZQZD/K1YJVE71/FS0ZQZDK1YJVE71.zip

Download

https://www.instructables.com/ORIG/F1E/Z5DD/K1YJVE7E/F1EZ5DDK1YJVE7E.zip

Body-ultrasound Sonography With Arduino: Page 8


Step 3: Results

I've examined di erent objects from aluminim-cylinders But and this is the most important thing, I've tried it and
over water- lled balloons to my body. To see body-echos did my best. I hope you liked this instructables and it was
the ampli cation of the signals must be very high. For at least interesting for you.
the aluminum-cylinders a lower ampli cation is needed.
When you look at the pictures you can clearly see the If you like to take a look at my other physics-projects:
echoes from the skin and my bone.
https://www.youtube.com/user/stopperl16/videos?
So what can I say about the success or failure of this
project. It is possible to look inside the body with such
simple methods and using parts, which aren't more physics projects: https://stoppi-homemade-
commonly intended for that purpose. But these factors physics.de/
are limiting the results too. You don't get such clear and
well structured pictures compared with commercial
solutions.

Body-ultrasound Sonography With Arduino: Page 9


Body-ultrasound Sonography With Arduino: Page 10
https://www.youtube.com/watch?v=OyyI-fC30t0

Hello Stoppi,
This is a great project, love it. What kind of breadboard you recommend for this project?
Thanks,
Hi! Sorry for the late answer. I bought mine from china via ebay: https://www.ebay.com/itm/5-
10pcs-single-side-pcb-p...
It's the 9x15cm model... Good luck with your project, cheers stoppi
Hello Stoppi,
Happy New Year. Finally got all the parts from ebay (shipping delay due to holidays). Now I am
assembling all the parts. Can you please help me answer the following questions?

What does "IN" mean in Receiver circuit diagram? Where should this be connected to?
What does "Piezo" mean in Sender circuit diagram?
Where should the C5 sockets be connected, since they are not shown in both Sender and
Receiver circuit diagram?
Also, what does -9V mean? where should this be connected to?

Thanks,
Gouda
Hello! The ultrasonic-head has two cables, pulse-in and signal-out. The pulse-in has to be
connected with the piezo in my schematics, the signal out with the Input (in) of the receiver. The
C5 sockets are located at "piezo" and "in" to connect the ultrasonic-head with the emitter and
receiver...
For the operational amplifiers you need a negative voltage (-9V). I use two 9V-switching power
supplies and connect them in series. The middle point is Ground, and the other two potentials are
+9V and -9V...
Good luck.

Hello Stoppi,

Thank you so much for the additional info. I completed assembling all the components and tested
the connections with multi-meter.

I am having an issue with TFT screen display. Basically, it just shows up blank white screen. It
Body-ultrasound Sonography With Arduino: Page 11
does turn on but nothing is being displayed.

I am using the same code with UTFT library, program compiled and uploaded successfully. But
there is no output on the screen. Please see the attached screenshot showing the blank display.

I am using the following TFT screen :


"HiLetgo 3.5" TFT LCD Display ILI9486/ILI9488 480x320 36 Pins for Arduino Mega2560"
https://www.amazon.com/gp/product/B073R7Q8FF/ref=p...

Can you please tell me how to make the display work with Arduino Due?
As always, truly appreciate your input.

Hi! I really loved this project and want to develop it for a student organization at Ohio State.
Would it be possible to chat?
place a link so folks can vote for you easily.

Hey Stoppi! I love your project. I am currently a high school student and am not as skilled with
arduino wiring. I am a coding person. However, I am very interested in the medicine field
therefore I want to try to make this project. Is there any way you could show the wiring and how
you put it together? I tried my best with the schematics, but couldn't really figure out all the wiring.
Is there any way you can maybe make this wiring a little bit easier for me? Thank you so much.
And again, AMAZING project!
Hello!
Thank's for the compliment. I've added a picture of the whole circuit in step 1: My Transmitter-
and receiver-circuits. There you can see the shematics and the real circuits too. For the +100V I
needed two step-up-converters. The first for delivering about +16V and the second one for the
+100V.

There are just 4 connections between the circuit and the arduino. Two come from the two
switches to select the timebase and to stop the image, then the trigger-pulse from the arduino to
the transmitter-circuit and then the analog-signals from the receiver, which are connected to
analog-7 from the arduino.

The display is just plugged into the arduino-due-socket ;-)

Good luck, regards stoppi


Hi! Can I use a GM200 paint thickness gauge instead of GM100? Thanks

I'm afraid no but you can buy just the transducer from the Gm100. This will not be too
expensive...
Hey Stoppi! Thanks so much for this project, some friends and I are building it! But we can't get
the code to work, is there a special way to organize it or an unmentioned library we need
because it's not compiling :(

Look forward to hearing from you.

Body-ultrasound Sonography With Arduino: Page 12


Thanks,

Steve
Hi Steve!
I've added two versions of the complete program and two display-libraries (UTFT and HX8357). I
hope you will get your software running. If not, post here a command once again. I'd be very
interested in your results... Good luck, cheers stoppi
Hey Stoppi. Thanks for the extra libraries and help!
The ultrasonic circuits seem to work great, but I think our group's main issue is we can't
understand how to get the screen you had to work on the Due.

We connected the screen (ILI9486) directly but is there a special pinout or shield you connected
so the screen would work and not occupy D3,D4, and D5?

Steve
Hello Steve!
I took a standard 320x480 display (f.e. https://www.ebay.com/itm/3-5-inch-TFT-LCD-Color-
Display-Module-320x480-Pixels-for-Ar-Mega2560-16-Bit/113226313262?
epid=24023215785&hash=item1a5cd06e2e:g:c-sAAOSwPEFbh4~F) which is directly connected
with the header on one side of the Arduino Due or Mega. There are just 2 separate pins on the
side which go to the "reset" and "3.3V" pins.
For the digital pins D3, D4 and D4 and also for the analogpin A0 I use 90° pins
(https://www.ebay.com/itm/50pcs-single-row-male-pin-header-1x40p-40pin-2-54mm-pitch-right-
angle-90-degree/271935802218?hash=item3f50a30b6a:g:oScAAOSwdxZbIdz1), because
otherwise with 0°-pins the onboard display would be in the way. I've added two different programs
working with two different displays (UTFT and HX8357), try both. Unfortunately it's often a
problem to make the many different displays work. Good luck and if you were successful post
some results here ;-)

Body-ultrasound Sonography With Arduino: Page 13

You might also like