BEWARE: This project has been deprecated since the arrival of the un0rick project in 2018
Modules
What are the arduino-like ultrasound module ?
Creating modules to facilitate ultrasound hacking : the principles of the echOmods is to enable a full chain of ultrasound image processing and hardware control.
We have chosen to use a module approach to make sure that each key component inside ultrasound image processing can easily be replaced and compared with another module, while providing logical logic blocks and corresponding interfaces for these modules to communicate. There’s a module for high-voltage pulsing, one for the transducer, one for the analog processing, one for data acquisiton, … and many more!
What images does it give ?
What does it look like?
The modules sit on a breadboard, and communicate through the tracks laying below. The configuration represented below show the Basic dev kit.
and used in a wider context:
A recap of the modules
ThumbnailImage | Name | In | Out |
---|---|---|---|
![]() | goblin: The aim of this echOmod is to get the signal coming back from a transducer, and to deliver the signal, analogically processed, with all steps accessible to hackers. | <ul><li>ITF-1_GND</li></ul><li>ITF-2_VDD_5V</li></ul><li>ITF-7_GAIN</li></ul><li>ITF-4_RawSig</li></ul><li>ITF-3_ENV</li></ul><li>ITF-18_Raw</li></ul><li>ITF-mET_SMA</li></ul> | <ul><li>ITF-4_RawSig</li></ul><li>ITF-3_ENV_signal_envelope</li></ul><li>ITF-mEG_SPI</li></ul> |
![]() | wirephantom: Just a phantom for calibrated signals | <ul><li>na</li></ul> | <ul><li>na</li></ul> |
![]() | lite.tbo: The aim of this echOmod is to get the HV Pulse done. | <ul><li>ITF-1_GND</li></ul><li>ITF-2_VDD_5V</li></ul><li>ITF-9_Pon</li></ul><li>ITF-10_Poff</li></ul><li>ITF-19_3.3V</li></ul><li>ITF-mET_Transducer</li></ul> | <ul><li>ITF-18_Raw</li></ul><li>ITF-mET_SMA</li></ul><li>ITF-mET_Transducer</li></ul> |
![]() | silent: The aim of this echOmod is to simulate a raw signal that would come from the piezo and analog chain. | <ul><li>ITF-1_GND</li></ul><li>ITF-2_VDD_5V</li></ul><li>ITF-17_POff3</li></ul> | <ul><li>ITF-18_Raw</li></ul> |
![]() | doj: Getting a motherboard: that’s fitting all the modules in an easy way, with an easy access to all tracks. See this for the Kicad files. | ||
![]() | retroATL3: The aim of this echOmod is to get the mechanical movement of the piezos. Salvaged from a former ATL3. | <ul><li>ITF-A_gnd</li></ul><li>ITF-F_12V</li></ul><li>ITF-N_cc_motor_pwm</li></ul><li>ITF-mET_Transducer</li></ul><li>Motor</li></ul><li>Tri-Piezo Head</li></ul> | <ul><li>Motor</li></ul><li>ITF-mET_Transducer</li></ul><li>Tri-Piezo Head</li></ul> |
![]() | pic0: Using a rp2040 to do a full blown pulse echo device. | ||
![]() | matty: The aim is to summarize all modules in a all-inclusive board. Fast ADC, good load of memory, good SNR.. the not-so-DIY module, as it comes already assembled with nothing to do =) | ||
![]() | lit3rick: The aim is to summarize all modules in a all-inclusive board. Fast ADC, good load of memory, good SNR.. the not-so-DIY module, as it comes already assembled with nothing to do. Based on up5k. | ||
![]() | elmo: The aim of this module is to achieve 20Msps, at 9bits or more. | <ul><li>ITF-1_GND</li></ul><li>ITF-2_VDD_5V</li></ul><li>ITF-19_3.3V</li></ul><li>ITF-12_RPIn</li></ul> | <ul><li>Signal Digitalized</li></ul> |
Experiments
- 2024-11-09: Testing MUX: If the mux works (20241109a)
- 2024-06-04: Impedance matching: another round (20240604a)
- 2024-04-13: test of pico: test of pico (20240413a)
- 2021-04-25: Annular MUXed: testing an annular transducer on a pink phantom (20210425a)
- 2021-04-24: BiVi piezo on the MUX: First tests of the MUX (20210424a)
- 2021-01-29:
Tri
two probes: Tri’s tests with two probes (20210129a) - 2020-12-23: test probes: testing probes with un0usb (20201223a)
- 2020-12-19: test piezos: VNAs piezos (dismanted ones) (20201219r)
- 2020-11-28: hp2121 matching: checking hp2121 probe impedance matching (20201128a)
- 2020-11-08: impedance matching: testing two piezos with impedance matching network (20201108a)
- 2020-11-07: lib 025: NDT presentation - un0rick & usb (20201107a)
- 2020-11-04: lib 024: Basics on - un0rick & usb (20201104a)
- 2020-11-03: Impedance matching: Interesting results for impedance matching. (20201103a)
- 2020-10-31: Pulse width calculation: how to get the best echo as a function of pulser waveform (20201031a)
- 2020-10-28: strange issues pyUn0: seems CS does not work (20201028a)
- 2020-10-26: usb firmware: testing it works with un0rick (20201026a)
- 2020-10-24: i2s issue: Exploring the i2s offsets (20201024a)
- 2020-10-23: Canada:
Silvio
first lit3rick tests (20201023a) - 2020-10-22: Spain:
Jorge
tests on lit3rick (20201022a) - 2020-10-08: benchmark lit3 and un0: Running acquisitions on the same rig. (20201008a)
- 2020-08-09: bard vna: bard vna tests (20200809r)
- 2020-08-08: all probes vna: getting impedance params of all probes (20200808r)
- 2020-06-08: brd35 test: testing an electromagnetic movement probe (20200608a)
- 2020-05-08: testing bard probe: Nothing much really (20200508a)
- 2020-04-21: a-law: testing a-law compressions compared to log and sqrt (20200421b)
- 2020-04-21: comparing boards: preliminary check between lit3rick and un0rick (20200421a)
- 2020-04-18: echo-tomo: Trying to get a tomo echo image (20200418a)
- 2020-04-16: testing new piezos: and calibrating new piezos against bubbles (20200416a)
- 2020-03-25: NDT pulse widths: Trying and getting different pulse on a steel block. (20200325a)
- 2020-03-21: pulse widths: Trying and getting different pulse on the test bench. (20200321a)
- 2019-10-27: lit3rick De.bin: New success with lit3rick, with dynamic DAC (20191027b)
- 2019-10-27: meh - noisy: still some tests, Dd.bin for lit3rick (20191027a)
- 2019-10-26: meh C2w: testing new bins for lit3rick (20191026a)
- 2019-10-24: getting better at dyn dac: tests (20191024a)
- 2019-10-23: lit3 success: Some better acquisitions - it works ! (20191023a)
- 2019-10-22: lit3 weird: Strange signals ahead (20191022b)
- 2019-10-22: weird acqs again: investigating (20191022a)
- 2019-10-18: first un0 acqs from Tri: his [setup seems to work](https (20191018a)
- 2019-10-16: weird acqs: what is wrong with me ? (20191016a)
- 2019-10-06: lit3 questions: what is happening ? (20191006a)
- 2019-08-04: tuto video for Un0rick: [more here on youtube](https (20190804a)
- 2019-07-13: new un0 batch: quality tests (20190713b)
- 2019-07-13: RPI3: yes, I had to test (20190713a)
- 2019-04-15: NDT tests: testing what the NDT probes does (20190415a)
- 2019-04-04: NDT tests double peak: why are there two frequencies ? (20190404a)
- 2019-03-29: NDT dual transducer: understanding the transducer (20190329a)
- 2019-03-24: lit3rick: testing at first the pulser (20190324a)
- 2019-02-26: flashing UP5K sran: using a m5stack to flash the sram of the up5K, temporarily, through a web interface (20190226a)
- 2019-02-23: Testing pHATrick flash: Testing pHATrick flash (20190223a)
- 2019-01-13: m5stack bis: retesting with details the m5stack experiment (20190113a)
- 2019-01-11: faster checks: multi, single, process commands for the lib (20190111a)
- 2019-01-04: lib improvements part II: streamlining processing images (20190104a)
- 2019-01-03: lib improvements: streamlining processing images (20190103a)
- 2018-11-26: HV tests part II: checking what’s the fact with HV parts (20181126b)
- 2018-11-26: HV tests: checking what’s the fact with HV parts (20181126a)
- 2018-11-04: matty and 724A: testing a new probe with matty v1.01 (20181104c)
- 2018-11-04: matty and Apogee10 recabled: testing a new probe with matty v1.01 (20181104b)
- 2018-11-04: matty and hp2121: playing with hp2121 and matty (20181104a)
- 2018-10-13: opening an hp2121: try and open an hp2121, while waiting for a new matty (20181013a)
- 2018-09-01: wirephantom and kretzaw145ba: wirephantom and kretzaw145ba (20180901a)
- 2018-08-31: wirephantom and retroATL3: wirephantom and retroATL3 (20180831c)
- 2018-08-26: 16bits n-cycles: Testing if the 16bits n cycles works (20180826a)
- 2018-08-25: 2D images building: Testing new functions to unpack images (with N lines) (20180825a)
- 2018-08-14: Reaching 128msps: Trying to experiment getting 128Msps (20180814a)
- 2018-08-13: pyUn0 lib glitches: Experiment to capture glitches. Now captured (bugs with timing), pending is increasing NCycles above a 8 bit count. (20180813a)
- 2018-08-12: KretzImage: Getting an image with a kretz AW14/5B/A ultrasound probe (20180812a)
- 2018-08-09: Ausonics 7.5MHz probe: Getting in a Ausonics 7.5MHz probe (20180809b)
- 2018-08-07: InterspecApogee: Opening an InterspecApogee probe (20180807b)
- 2018-08-07: ADR Ultrasound probe: Photo reportage of opening an ADR Ultrasound probe. (20180807a)
- 2018-07-21: pyUn0 python lib and TGC: Testing class-approach for acquisition and processing. Also tested Gain setup. (20180721a)
- 2018-06-20: Uwe setup: Testing ADC with Uwe setup with elmo and a 250khz source (20180620a)
- 2018-05-16: Matty file format: Testing to format the data for experiments to be easily reproduced (20180516a)
- 2018-05-11: Enveloppe detection: Checking different ways to rebuild enveloppe (20180511a)
- 2018-05-06: SPI timing on Raspberry: Checking SPI bottlenecks on Matty (20180506a)
- 2018-04-30: JSON and Servo: Better file management and servo control using Matty. (20180430a)
- 2018-04-17: echomods vs MATTY: Comparing the performances of the modules vs the FPGA board Matty (20180417a)
- 2018-04-15: Test of new batch 2/2: Testing the lite.tbo, goblin and elmo boards done at the fab - on a doj v2 motherboard. (20180415r)
- 2018-04-15: Test of new batch 1/2: Testing the goblin board with silent, then test of the new lite.tbo pulser with a piezo. (20180415a)
- 2018-04-03:
Tomas
first acq: Tomas, a user, is getting a first image from a NDT setup with a block of steel. (20180403t) - 2018-04-03: Matty TGC test: Testing matty ‘s TGC, including playing with the gain DAC and pulse control. (20180403b)
- 2018-04-03: Voltage checks: Testing matty at different voltages. (20180403a)
- 2018-03-10: Matty DAQ: testing the programmation of matty DAC control for the TGC. (20180310a)
- 2018-02-25: Matty and RetroATL3: Acquisition of a probe image with matty. (20180225a)
- 2018-02-24: Matty Gain: Testing matty’s fixed gain settings. (20180224b)
- 2018-02-24: Matty speed tests: Testing matty s acquisition at different speed, 12Msps to 24Msps. (20180224a)
- 2018-02-17: Alt.tbo and Elmo: Testing alt.tbo and elmo new boards for pulser issues (there is not positive and negative pulse, only goes in direction). (20180217a)
- 2018-02-16: Alt.tbo and Elmo: Testing alt.tbo and elmo new boards. (20180216a)
- 2018-01-15: Matty: Receiving the first matty. (20180115a)
- 2018-01-03:
Felix
experiment: Testing Felix setup with previous Bomanz module. (20180103a) - 2017-11-24: Impedance matching: Doing some tests for impedance matching. (20171124a)
- 2017-11-12: Probe: Testing new probe with new pulser (20171112a)
- 2017-11-11: Alt.tbo: Testing new pulser again 4/4 (20171111a)
- 2017-10-01: Alt.tbo: Testing new pulser again 3/4 (20171001b)
- 2017-10-01: Alt.tbo: Testing new pulser again 2/4 (20171001a)
- 2017-09-30: Alt.tbo: Testing new pulser again 1/4 (20170930a)
- 2017-07-15: RetroATL3 acquisition: Getting an image from the retroATL3 probe. (20170715a)
- 2017-07-13: Elmo: Testing the new DAQ with two ADCs. (20170713a)
- 2017-06-11: Croaker: Testing the acquisition with the croaker module. (20170611a)
- 2016-12-17: Croaker: Testing the acquisition with the croaker module. (20161217a)
- 2016-08-22: BBB+Probe: Images acquired from a BeagleBone black with a probe (20160822a)
- 2016-08-14: RPi: Testing the acquisition with the BeagleBone DAQ. (20160814a)
- 2016-08-09: Goblin tests: Testing the goblin board with the silent emulator. (20160809a)