• Stars
    star
    215
  • Rank 183,925 (Top 4 %)
  • Language Rich Text Format
  • License
    Other
  • Created almost 9 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Imaging ultrasound dev/hacking kit

ko-fi

The Murgen open-source ultrasound imaging dev-kit

What is this ?

Getting a home-made open-source ultrasound machine (dev-kit) up and running in your garage / hackerspace / fablab for less than 500$ (want the bolts and nuts of the murgen-based prototype ? Read a more complete hardware Readme.md and in general the murgen repo ).

For a full overview of the adventure, visit our Hackaday page =)

For the full documentation of the overaching project, please visit our full doc

Getting the rough rough first image

We've got our first ultrasound image with the murgen board =) Not a baby, mind you, but at least an echo coming from a part of a fantom (condom filled with agar gel and tapioca balls) in front of the transducer. And we haven't tapped into the full capabilities of the board yet, so it can be improved! Enclosed, the picture of the same fantom, using a commercial, 100k$ ultrasound machine.

A nice image

Setting up a prototype

Disclaimers

Disclaimer #1: though an engineer, this project is the first of its sort, we never did something related. Bear with us, and the discovery process โ€“ weโ€™re happy to learn on the way =)

Disclaimer #2: ultrasound raises questions. In case you build a scanner, use caution and good sense! Disclaimer #3: this project is not part of echopen.

How-to start

Time to get some shopping done !

  • Get a murgen dev-kit: 140โ‚ฌ in electronics + PCB. Or 100โ‚ฌ with the components to put on a breadboard =)
  • Get a BitScope: 150โ‚ฌ
  • Get a transducer : 110โ‚ฌ for brand new adaptaed ones, ~100โ‚ฌ for one found on ebay and hacking it
  • Get a Trinket Pro / Arduino : 10โ‚ฌ
  • Get some small electronics (breadboard, cables et al) : 20โ‚ฌ
  • Misc (Pizza, Beer, and a donation to Murgen): 15โ‚ฌ

Total spent: 400โ‚ฌ to 450โ‚ฌ

Setup

Connections

  • Connect the BitScope Chan A to Trinket Pin 11, and Chan B to Tests Points2 and 3.
  • Connect the trinket pins 12 and 13 to a 5-to-3V convertor (or double invertor), then to the board USPP and USPN pins.
  • Bring power to the board (GND, 5V, 3.3V) - the board uses ~150mA at 5V, so you can use a breadboard alim (see IMG_2413 below).

Hardware setup presentation

PhysicalSpace

Software Userโ€™s Quick-Start Guide

Just Install the following:

  • BitScope BitLib
  • python math tools
  • Install something to code arduino - ArduinoIDE ?
  • Clone the murgen repo

You're good to go !

Learn more : the lab log

  • Session 1 : Powering the board, power use, first (bad) trigging and echoes (06 March 2016)
  • Session 2 : Non-controlled pulsing, inverters, better echoes (11 March 2016)
  • Session 3 : Getting controlled pulsing, but width not controlled (15 March 2016)
  • Session 4 : Width of the pulses is getting controlled =) (19 March 2016)
  • Session 4b : Simple data visualisation with BitScope (19 March 2016)
  • Session 5 : moving the transducer to get the first image (20 March 2016)
  • Session 6 : Getting a clinically usable image (28 March 2016)
  • Session 7 : Getting cleaner images - code improvements (3 April 2016)
  • Session 8 : Comparing acquisition speeds (3 May 2016)
  • Session 9 : Playing with ATL10PV (3 July 2016)
  • A more complete hardware ReadMe : Information, and more, with a focus on the electronic part of the project
  • A more complete software ReadMe : Information, and more, with a focus on the code part of the project (arduino, python, and such)

FAQ

I want to get to run one

Where should I go? You can peruse a discussion/tutorial with a new user of the board here.

What do I find here?

A full official dev release, including:

  • Terms of reference for the project
  • Bibliography
  • Detailed designed
  • Source file for the electronic board
  • Source for the Arduino controlling the board
  • Source for acquisition, processing and storage of the images
  • A full laboratory log

Typical Application

Playing with a broken transducer in a haribo sweet box to see if you can hack ultrasound scanners.

Software / Firmware Summary

Up to v1.0, we're still playing with the board, so there's not interface with the BBB.

However, there's a series of tools to play with the board, one of which being the bitscope, a bit more handy than the redpitaya, and though it is less precise, we do have less issues (trigging, memory, ...) with it.

What is the timeline?

The murgen investigation had started in September 2015, and by the end of November, it had been activated again.

Find your way in the folders

murgen-dev-kit/				main repo
|-- hardware				hardware information on electronics and mecanics
|-- software				code to acquire, process and store ultrasound data
`-- worklogs				logs froms the lab: our path to a working ultrasound device
  • You will find the CHANGES.TXT, CONTRIB.TXT and LICENSE.TXT at the root.
  • Schematics are in the hardware\Altium\Schematics\PDF folder
  • Gerbers in in the hardware\Gerbers folder of course
  • Code for the acquisition using bitscope (at first ;) ) is in software/.

Remaining TODOs

The project's phase is coming to an end! Some ideas, lessons, stuff at our NextSteps.md

Team

Acknowledgement

  • Thanks to Murgen, Sofian, Amit, Emmanuel, Florent, Bertrand & PHH, Mike in a way, list goes on !
  • Thanks to Jerome, Farad, Vincent obviously
  • Thanks to echOpen for the environment, wifi and coffee =)

License

The Murgen project and its prototypes are open hardware, and working with open-hardware components.

Licensed under TAPR Open Hardware License (www.tapr.org/OHL)

Copyright Kelu124 ([email protected] ) 2015-2018

Source

More Repositories

1

awesome-latticeFPGAs

๐Ÿ“– List of FPGA Lattice boards using open tools
303
star
2

echomods

Open source ultrasound processing modules and building blocks
Jupyter Notebook
291
star
3

un0rick

smallish ice40 / raspberrypi ultrasound hardware
Jupyter Notebook
141
star
4

pyusbus

Python APIs for usb ultrasound probes
Jupyter Notebook
26
star
5

us_rf_processing

Showcasing how to rebuild a B-mode ultrasound image from an ultrasound probe.
Jupyter Notebook
21
star
6

lit3rick

An up5k board to manage pulse-echo ultrasound acquisition.
Verilog
19
star
7

openultrasoundprojects

Curated list of open source projects
Python
15
star
8

pyUProbe1

Python barebones for uProbe-1 ultrasound probe acquisitions
Python
12
star
9

ultrasHound

Playing with (real?) audio beacon and xtracking devices
Jupyter Notebook
12
star
10

AD8332-devboard

An AD8332 devkit
8
star
11

HV9150DevKit

A devboard for the HV9150.
6
star
12

pic0rick

An rp2040-based acquisition board for pulse-echo ultrasound
Jupyter Notebook
6
star
13

ft600

A ft600 breakout - 8bits of data, on two PMODs.
AGS Script
6
star
14

hvpppn

High voltage board - positive and negative voltage, for ultrasound pulser.
HTML
5
star
15

python-usb-un0rick

python-usb-un0rick
Python
5
star
16

pyUn0-lib

Lib going to python 3
Python
5
star
17

max14866

Breakout of max14866, ultrasound high voltage 16-switches
Jupyter Notebook
3
star
18

plasmon

Surface plasmon modeling
MATLAB
3
star
19

ADC08200-PMOD

An ADC08200 PMOD
HTML
3
star
20

Analog_Frontend

An analog circuit that consists of a transmitter and receiver for an ultrasound system.
HTML
3
star
21

PMOD_rp2040

Modules for signal acquisition and transmission - using the PMOD standard
C
3
star
22

rectennas

2
star
23

oshmri

Jupyter Notebook
2
star
24

lm3478

A small board to generate ultrasound-friendly +-90V
Shell
2
star
25

Futures

Managing links shared on my substack
Python
2
star
26

ultrasound-patents

Where patents on ultrasound first technos are mined.
Jupyter Notebook
2
star
27

ice40ppl

Mapping ICE40 community
Jupyter Notebook
2
star
28

hardware_review

Rich Text Format
1
star
29

pyS3

Code to communicate with S3 probe
HTML
1
star
30

short_papers

Short papers for Zenodo
Verilog
1
star
31

EET

Ants
MATLAB
1
star
32

UltrasoundBox

C++
1
star
33

0xa5eded

sha1(pHATrick)
JavaScript
1
star
34

kelu124

1
star
35

Website_AMA

Jupyter Notebook
1
star
36

sf

Ideas of SF
1
star
37

ebayUSprobes

Analysing ebay probes offers in case something good pops up !
Jupyter Notebook
1
star
38

medicotechnical

All about the technicomedical issues
HTML
1
star
39

NFTs

1
star
40

OAI

A lib to cache calls to OpenAI API - custom
Jupyter Notebook
1
star