You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
unknown fa8c142e3d added header 8 months ago
ADuCM350_ASH firmware updates 1 year ago
hex_files more efficient and easier to use, all in one 1 year ago
iar all working 9 months ago
images more efficient and easier to use, all in one 1 year ago
inc firmware updates 1 year ago
src firmware updates 1 year ago
tools firmware updates 1 year ago
usb functional firmware 1 year ago
LICENSE.txt added header 8 months ago
OpenEIT.c added header 8 months ago
PinMux.c dynamica re-initialization 9 months ago
README.md added header 8 months ago
README_old.md more efficient and easier to use, all in one 1 year ago
Uart_CharEcho.c dynamica re-initialization 9 months ago
lookup.h added header 8 months ago
modes.h added header 8 months ago
sequences.h added header 8 months ago
test_common.c functional firmware 1 year ago
test_common.h functional firmware 1 year ago

README.md

Intro

This details the function and operation of the firmware. Wondering how the impedance measures are made? Want to get magnitude AND an accurate phase out of the device? Want to try different electrode stimulation patterns? This is the place to be. This branch requires IAR Embedded Workbench to run, and there is another gcc-toolchain branch for those interested.

Hardware

This firmware is designed for the Spectra: 32 electrode EIT device, which is also capable of bio-impedance spectroscopy and time series impedance measurements. It measures 2” square and is based on the ADuCM350 precision analog impedance analyzer chip.

Running the installed firmware.

The device comes pre-programmed with this firmware. Each time you reset the device a set of menu options is communicated via UART or Bluetooth. Once you select an option, press the return key and that option will start executing until you power cycle once more.

Options Outlines: A) Time series - This outputs the impedance magnitude at 40 frames per second at 50kHz(or whatever frequency is set in firmware).

How to take a measurement with bioimpedance spectroscopy: A+, V+, V- ,A-

Example of Use

B) Bioimpedance Spectroscopy -

This outputs impedance magnitudes at the following frequencies, and then repeats the cycle. 
frequencies = {200,500,800,1000,2000,5000,8000,10000,15000,20000,30000,40000,50000,60000,70000};

Example of use:

C) Electrical Impedance Tomography - This is configurable in firmware to 8, 16, 32 electrodes dependent on desired timing and resolution trade offs etc.

The ordering of electrodes is created using pyEIT as follows: ex_mat = eit_scan_lines(ne=8, dist=3) step = 3 ex_mat = eit_scan_lines(ne=16, dist=8) step = 8 ex_mat = eit_scan_lines(ne=32, dist=16) step = 16 In the file the ordering is: A+, A-, V+, V- A, B, M, N where

A : current driving electrode
B : current sink
M, N : boundary electrodes, where v_diff = v_n - v_m

We have chosen an opposition based electrode patten instead of the more commonly used adjacent scheme, as we came across these papers supporting improved contrast if opposition schemes were used: [1] A. Adler, P. O. Gaggero, and Y. Maimaitijiang, “Adjacent stimulation and measurement patterns considered harmful,” Physiol. Meas., vol. 32, no. 7, pp. 731–744, 2011. [2] F. M. Yu, C. N. Huang, F. M. Hsu, and H. Y. Chung, “Pseudo electrodes driven patterns for Electrical Impedance Tomography,” Proc. SICE Annu. Conf., pp. 2890–2894, 2007.

It’s possible other electrode arrangement schemes are better yet.

Example of use

A note on which debugger to use:

  • I recommend using a Segger J-link debugger with SWD programming cable. If you are not using it for commercial use you can get the EDU version at a reasonable price(you don’t even have to be part of a school). The configuration on the PCB also allows for the VCOM port to work which means you can also read serial through the same connection. The specific configuration can be seen in the .bat file contained in the EXE directory.

Behold my thorax! This was taken using this firmware, the most difficult part of the process was placing the electrodes.

License

The Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License seems to fit best with this project. Check out the human readable summary here:

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

If you’d like to make a derivative of this project in a commercial setting, we’d love a payment so that we can afford to spend time both maintaining this project and making more projects like this one. If this hybrid open source model works, it would enable open source projects to receive some funding, making the global commons stronger to benefit everyone.