Nunc Ille Est Magicus
Non destructive testing and imaging ultrasound modalities have been around since the ’50s in . More and more ultrasound-based initiative are emerging, mostly focusing on image processing - while hardware has been left behind. Several teams have produced succesful designs for the different possible uses, mostly efforts from research laboratories. Most have been used on commercial US scanners, traditionaly used as experiment platforms, but they are not cheap, and yield very little in terms of data access and control. Others have been developped in labs, but, sadly, very few have been open-sourced. This particular project stems from a previous beaglebone-based design, as well as an arduino-like module-based design.
It has also been shown that simple (be it low-power, low-cost and small) can be achieved - and this, even for relatively complex systems, based on 16 to 64 parallel channels front-end processing and software back-end processing (embedded PC or DSP). This makes it a bit more complex for the layman, hobbyist, or non-specialist researcher to use, not to mention the very little information that is accessible.
How about a case study?
The board was connected to a single element piezo, in water, with a reflector a few centimers away, immersed in water. Pulser is set up at 25V high pulses. Control was done through a Raspberry Pi W.
Acquisition is realized, with a small offset, between 32Msps and 64Msps. Data is explored a bit further.
Non Quod Maneat, Sed Quod Adimimus
Simplified hardware: specs and features
- FPGA: Lattice iCE40HX4K - TQFP 144 Package
- 8 Mbit SRAM, 10ns, 512 k x 16, equivalent:
- 65 full lines of 120us at 64Msps
- 840 lines of 120us at 10Msps, 8 bits * 8 Mb SPI Flash for FPGA configuration
- Ultrasound processing:
- VGA: AD8331 controled by DAC
- Pulser: MD1210 + TC6320
- ADC: 10Msps ADC10065
- 10 bits of data / sample
- 2 bits of line counters
- 4 bits of IOs (counters, …)
- Parameters: Settings programable via USB or Raspberry Pi
- Type of acquisition (one line / set of lines)
- Number of lines
- Length of lines acquisitions
- Delay between acquisitions
- Pulse width
- Delay between pulse and beginning of acquisitions
- 200us time-gain-compensation programmable (8 bits, from 0 to Max), every 5us
- 2 x Pmod connectors
- SMA plug for transducers
- RPi GPIO
- User Interfaces:
- 2 x PMOD for IOs
- 3 x push button (with software noise debouncing)
- Jumpers for high voltage selection
- Input Voltage:
- 5 V from RPi or USB
- Uses 350mA-450mA at 5V
- Fully Open Source:
- Hardware: github repository
- Software: github repository
- Toolchain: Project IceStorm
- Documentation: gitbook
- Operating Voltage:
- FPGA and logics at at 3.3 V
- High voltage at 25V, 50V, 75V
- Dimensions: @todo!
- Weight: @todo!
Si (Non) Confectus, (Non) Reficiat
If it’s not broken..
- Ready-made commercial platforms range in the 1000s$ .. and even smallish one-channel boards can be around 2k$. Each has pros and cons (for example a 2k$ board samples at 160Msps but can only store 4k pts). Not open-source.
- Research gigs are not always published. Not open-source.
- Some arduino-like modules were developped. A whole set is around 350$ for AFE+ADC+controls. Open source. DIY quality (acceptable, not for pros). Open source.
- This board has more or less only plusses compared to the competition =)
Quia Ego Sic Dico
- Install the image on the Raspberry
- Burn bitstream
- Acquire the signal
- Process and display!
Moneta Supervacanea, Magister?
- Send me a mail at firstname.lastname@example.org !
- Or wait for the Tindie shop to order.
- First sets around 449$. Vilis Ad Bis Pretii !
Non Ante Septem Dies Proxima, Squiri
V1 RELEASE ! @todo
Liber Paginarum Fulvarum
- BiVi - always here to chat
- Charles - bringing neat insights
- David - what would I have done without you?
- echOmods - the fundations of this work
- Fabian - already so many insights
- Fouad.. and team - awesome works there
- Jan - piezooos
- Johannes and Felix - hardware is .. hard, but rewarding!
- Marc - share these echoes =)
- Murgen - early elements
- Sofian - early ideas!
- Tindie - to allow people sharing their niche hardware, and for others to search for these
- Visa - exploring amode
- Vlad - you pulse
- .. and all the others !