Skip to content

Sergio5714/wulpus

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WULPUS

Wearable Ultra‑Low‑Power Ultrasound (v1.2.3)

Independent fork by @Sergio5714 with enhanced reproduction instructions and minor improvements.

WULPUS main

Introduction

This repository contains a stable release of WULPUS, a truly wearable ultra-low-power open research ultrasound platform.

To date, more than 70 probes have been produced worldwide, and over 12 groups have used it in academic and industrial research.

System diagram

WULPUS probe comprises two printed circuit boards (PCBs):

  • Acquisition PCB: featuring an ultrasound MCU (MSP430FR5043) and BLE MCU (nRF52832)
  • High-Voltage PCB: featuring a High-voltage multiplexer (HV MUX), a transmit/receive switch, and a MOSFET driver.

WULPUS System Diagram
WULPUS System Diagram

Hardware photos

Hardware unchanged from v1.2.2; photos show Acquisition PCB v1.2.2 and HV MUX PCB v1.1.1.

Acquisition PCB v1.2.2 top
Acquisition PCB (v1.2.2, top)
HV MUX PCB v1.1.1 top
HV MUX PCB (v1.1.1, top)

Specifications

Feature Specification
Channels 8 (time-multiplexed)
ADC 1 channel, up to 8 Msps, 12-bit resolution, approx. 1.4 MHz -3 dB bandwidth
Analog front-end 30.8 dB Programmable-Gain Amplifier + 10 dB Operational Amplifier
Wireless link Bluetooth Low Energy (BLE), 320 kbps throughput
Acquisition rate Up to 50 Hz PRF, 400 samples per acquisition (raw data streaming mode)
Size & weight 46 x 25 mm footprint, 9 g
Power 25 mW (raw data streaming mode, 50 Hz PRF)

Structure of the repository

This repository has the following folders:

  • fw, containing the firmware source code, namely:

    • source code for the nRF52832 MCU of the WULPUS probe, located at fw/nrf52/ble_peripheral/US_probe_nRF52_firmware
    • source code for the nRF52840 USB dongle, located at fw/nrf52/peripheral/US_probe_dongle_firmware
    • source code for the MSP430 ultrasound MCU, located at fw/msp430
  • sw, containing the Python code for the WULPUS Graphical User Interface

  • hw, containing the CAD source files for

    • WULPUS Acquisition PCB (located at hw/wulpus_acquisition_pcb)
    • WULPUS High-Voltage PCB (located at hw/wulpus_hv_pcb)
    • WULPUS Programmer PCBs (located at hw/wulpus_programmer_pcbs)
    • WULPUS Silicone Rubber package (located at hw/wulpus_silicone_package)
  • docs, containing the project documentation (e.g., images of the device, user manual, ...)

Documentation

The comprehensive WULPUS User Manual can be found in the docs/ folder. It covers everything about WULPUS, from assembly instructions to example measurements and troubleshooting, making the platform user-friendly for everyone, regardless of technical expertise.

Build Instructions

Please find the detailed instructions in chapter 2 of the WULPUS User Manual.

In a nutshell, to build your own instance of WULPUS, the following steps should be completed:

  1. PCBs manufacturing and assembly
    You can find the design files (Altium source files, schematics, bills of materials) under the hw folder.
  2. Flashing MSP430 firmware
    You can find the instructions on setting-up the toolchain, compiling the firmware and flashing the MSP430 MCU in the fw/msp430 folder.
  3. Flashing nRF52 MCU and USB dongle firmware
    You can find the instructions on setting-up the toolchain, compiling the firmware, flashing the nRF52 MCU and USB dongle in the fw/nrf52 folder.
  4. Python dependencies installation on the host PC
    Follow the instructions in the sw folder to install the dependencies.

PCBWay shared projects for WULPUS PCBs

For convenient one-click PCB production and assembly, you can use the PCBWay shared projects (optional; DIY via the hw folder is also supported):

This option is convenient for outsourced PCB production and assembly, with an estimated ~1 month lead time and a price of about USD 180 per probe (Acquisition + HV PCB), based on mid-2025 pricing.

Usage

Please refer to chapter 3 of the WULPUS User Manual for detailed information.

Starting a measurement with WULPUS can be accomplished in three simple steps:

  • Power up the probe, either from the micro-USB connector or from the battery connector
  • Connect the USB dongle to the host PC
  • Activate the Python environment, launch the Jupyter notebook located in sw folder, and follow the instructions in the notebook

Citation

If you would like to cite the project, please use the following repository citation:

@misc{wulpus_repo_sergio5714_2026,
  title={WULPUS: Wearable Ultra Low-Power Ultrasound (Independent Fork)},
  author={Vostrikov, Sergei},
  year={2026},
  howpublished={GitHub repository},
  url={https://github.com/Sergio5714/wulpus}
}

If you prefer to cite the original scientific publication, please use:

@inproceedings{frey2022wulpus,
  title={WULPUS: a Wearable Ultra Low-Power Ultrasound probe for multi-day monitoring of carotid artery and muscle activity},
  author={Frey, Sebastian and Vostrikov, Sergei and Benini, Luca and Cossettini, Andrea},
  booktitle={2022 IEEE International Ultrasonics Symposium (IUS)},
  pages={1--4},
  year={2022},
  organization={IEEE}
}

Works that use WULPUS

Selected highlights:

[1] Vostrikov S, Anderegg M, Benini L, Cossettini A. "Unsupervised Feature Extraction from Raw Data for Gesture Recognition with Wearable Ultra Low-Power Ultrasound." IEEE Transactions on Ultrasonics, Ferroelectrics, and Frequency Control. 2024 May 24.

[2] Spacone G, Vostrikov S, Kartsch V, Benatti S, Benini L, Cossettini A. "Tracking of Wrist and Hand Kinematics with Ultra Low Power Wearable A-mode Ultrasound." IEEE Transactions on Biomedical Circuits and Systems. 2024 Sep 23.

[3] Lu, Jinhao, et al. "Compact Low-Cost Wireless Ultrasonic System for Non-Destructive Testing and Wearables." 2025 IEEE International Ultrasonics Symposium (IUS). IEEE, 2025.

Full list: see docs/works.md.

Authors

This fork is maintained independently by @Sergio5714 (Sergei Vostrikov).

The WULPUS system was originally developed at the Integrated Systems Laboratory (IIS) at ETH Zurich by:

Thanks to all the people who contributed to the WULPUS platform:

License

The following files are released under Apache License 2.0 (Apache-2.0) (see sw/LICENSE):

  • sw/

The following files are released under Solderpad v0.51 (SHL-0.51) (see hw/LICENSE):

  • hw/

Images are licensed under Creative Commons, but not all under the same terms:

  • docs/images/ is CC-BY-4.0 by default (see docs/images/LICENSE)
  • docs/images/v1_2_2/ is CC-BY-ND-4.0 (no derivatives) See docs/images/README.md for details.

The fw/msp430/ and fw/nrf52/ directories contain third-party sources that come with their own licenses. See the respective folders and source files for the licenses used.

Limitation of Liability

In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.

About

Wearable Ultra Low-Power Ultrasound probe

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages

  • C 86.2%
  • Python 9.8%
  • Makefile 1.2%
  • HTML 1.1%
  • Batchfile 0.8%
  • Jupyter Notebook 0.6%
  • Linker Script 0.3%