Close
0%
0%

Bio Balance Detector

256-channel data acquisition system (DAS) to provide a bio-potential reading in the 0.4Hz-500kHz frequency range using a flat panel detector

Similar projects worth following
Bio Balance Detector is a USB device to detect, measure, display and analyze the electromagnetic field around human beings and indicate any potential health imbalance. Its 6th prototype, BBD Venus-256 is a 256-channel data acquisition system (DAS) to provide a bio-potential reading in the 0.4Hz - 500kHz frequency range using a flat panel detector (FPD), displaying the processed data as an RGB-colored, hyperspectral image on a PC.I'm always looking for talented, passionate teammates, so if you feel like you would like to hear more about the project, don't hesitate to contact me at andras.fuchs@gmail.com.

Venus-256 is a 256-channel data acquisition system (DAS) to provide a bio-potential reading in the 0.4Hz - 500kHz frequency range using a flat panel detector (FPD), displaying the processed data as an RGB-colored, hyperspectral image on a PC.  

Requirements

The achieve the 0.4Hz - 500kHz frequency range we would need at least 1MSPS ADCs (because of the Nyquist-frequency). The electromagnetic fields we are going to measure are very week, so high SNR, high bitrate and low analog reference are needed. The SNR values for delta-sigma ADC are usually better than the SAR ADC, and also delta-sigmas usually have higher bitrate. Bi-polar input would be also good, because the field changes are independent from the device's power supply. So the ideal ADC is a 1MSPS 16-bit delta-sigma ADC with 1V reference and bi-polar input.

The lower end of the frequency range we need to measure is 0.4Hz. This means that ween need to store at least 1/0.4 seconds of data to be able to detect that frequency. This 2.5 seconds of data means 2.5 seconds * 16 bit/sample * 1M samples/second = 5 megabytes of data for every channel, so 1.28 gigabytes of RAM just for the raw ADC data. As a counter-measure we can define two sampling modes: low speed (1kSPS) and high speed (1MSPS). In the 1kSPS mode we can have the 0.4 Hz - 500 Hz and in the 1MSPS the 400 Hz - 500k Hz range, only using 5 kilobytes of ADC data/channel. This means that our RAM requirement is somewhat more than 5k * 256 = 1.28 megabytes for the ADC data.

Computations will be needed on all channels. Fast Fourier Transformation (FFT) would be ideal, but I don't think they are feasible, unless we use FPGAs or ASICs. As an alternative we can use an the Goertzel algorithm, which tells us how strong a signal is at a particular frequency. In order to be able to display a colorful, RGB image at the end, we need to have at least three Goerzel calculations per channel, ideally at least 50 times per second. The computation power estimation is more difficult and the use of an FPGA would help a lot.

The processed data should be transferred to the PC fast enough to have a solid user experience, so the refresh rate should be close to 50/seconds, and the latency should be lower then 100 milliseconds. If using three 8-bit Goertzels per channel, the estimated data rate should be in the 350-400 kbits/second range, which is easily handled by even USB 1.0 and potentially handled by Bluetooth Low Energy too (BLE 4.0 has 260 kbps and BLE 4.2 has 650 kbps maximum transfer rate).

In-system (in-situ) programming, firmware upgradability, USB or battery power source, .NET Core-based driver and API, WebSockets, Unity3D GUI, three-dimensional dual-tetrahedron or Sierpinski Gasket fractal antenna. Prepare for FPGA architecture and Raspberry Pi 3 B+ interfacing with Windows IoT Core.

Hardware Architecture

16x Analog Devices AD7616 16-Channel DAS with 16-Bit, bipolar input, dual simultaneous sampling 2x 1MSPS SAR ADC, 16-bit parallel output and 16+Mhz dual SPI output - 25 USD 4x Atmel ATSAME70Q21 MCU Cortex-M7 CPU @ 300Mhz, 384kB RAM, 480Mhz USB, 24x2 12bit 2MSPS SAR ADC, SD-CARD, 5xSPI - 16 USD 1x Raspberry Pi 3 Model B+ MPU Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.4GHz, 1GB LPDDR2 SDRAM, USB 2.0, Bluetooth 4.2, SD-CARD, 2xSPI - 35 USD

The AD7616 has two 1MSPS 16-bit ADCs (not delta-sigmas though) and it supports SPI output. This would mean that if we use just 2 sensors we can get 1MSPS and if we use all the 16 we are going to get 128kSPS. The analog low pass filters, the burst mode, the bipolar input and 2.5/4V internal reference support are also a plus. The ATSAME70Q21s should be able to handle up to 8 channels of SPI inputs with its five UARTs and three USARTs, it has just enough (384kbytes) RAM to store 5kbytes of raw ADC data per channel, which is enough to implement the 1MSPS/1kSPS decimated and the 300Mhz MCU should be fast enough...

Read more »

Portable Network Graphics (PNG) - 55.10 kB - 07/20/2019 at 09:03

Preview
Download

  • 1 × Raspberry Pi 3 Model B+ MPU Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.4GHz, 1GB LPDDR2 SDRAM, USB 2.0, Bluetooth 4.2, SD-CARD, 2xSPI
  • 4 × Atmel ATSAME70Q21 MCU Cortex-M7 CPU @ 300Mhz, 384kB RAM, 480Mhz USB, 24x2 12bit 2MSPS SAR ADC, SD-CARD, 5xSPI
  • 16 × Analog Devices AD7616 16-Channel DAS with 16-Bit, bipolar input, dual simultaneous sampling 2x 1MSPS SAR ADC, 16-bit parallel output and 16+Mhz dual SPI output

  • Quick update #2 - Analog-digital conversion module

    Andras Fuchs07/20/2019 at 08:47 0 comments

    Hi guys,

    There are some progress on many fronts.

    I met with a potential partner company that could connect me with a University research group to dive a little bit deeper into the bio-electromagnetic phenomena we would like to process and show with our device. The goal would be to get a few papers published so that investors can see this development less risky. (If you are not familiar with bio-electromagnetics, please check out my blog at http://blog.biobalancedetector.com/)

    I also met with a researcher friend of mine who works on some fascinating stuff and we decided to work together on a side-project which eventually could lead to a radically new sensor design. I can't tell too much about it just yet, there is a long list of experiments we have to build and document first.

    On the architecture side I'm investigating some new platforms and ICs.

    As you probably know the new Raspberry Pi 4 model B is available. It's not a critical update for me at the moment at all, and there are many things missing on the software side, but still, one thing already made it attractive: it might finally work with my Analog Discovery 2 using its USB3 port. (The USB2 ports are still unusable due to a Linux driver fault. More details here: https://forum.digilentinc.com/topic/1713-analog-discovery-2-vs-raspberry-pi-3/)

    My original choice for the ADC was the AD7616 which is still a fantastic little IC, but I realized that to build an evaluation board for it would cost me too much (of my time and money), so I started to look for a similar one that is more popular.

    AD7606 is fairly well known, it has somewhat similar specs and there are C++ and Python sources available for Raspberry Pi. Extra good news that Analog Devices came out with an improved version just a few weeks ago, called AD7606B, and its spec is pretty close to our requirements. It's also backward pin compatible with the AD7606, so upgrade should be a no-brainer.

    Anyway, I ordered two types of evaluation boards of the AD7606 from AliExpress and I got them a few days ago. I started to play around with the Python module and test scripts I found, and although it looks a little buggy, it's good for now.

    I also have my eyes on the DACC2plate (https://pi-plates.com/daqc2r1/) mainly because it's a complete Raspberry Pi HAT and it has C# library which I could probably use out of the box with .NET Core.

    I run a few tests to see how much of a difference can I measure in the impedance of tap water, filtered water and salted water. It's pretty significant, so they will came useful in the future.

    I will continue my experiments with the impedance measurements of different fluids which hopefully will lead me closed to the new sensor design. We'll see!

    Andras

  • Quick update #1 - Demo with Analog Discovery 2

    Andras Fuchs06/22/2019 at 10:09 0 comments

    Hi guys,

    First of all I thank you all who are following this project, it means a lot. I think I owe you an update, because many things happened since the project was last updated.

    I went to a few startup events, promoted the project and looked for an investor without too much luck so far, but that doesn't mean at all that the project is stalled. On the contrary! :)

    I will not bore you with the countless test measurements I did in the last months, I will focus more one of my testing devices.

    I used Digilent's Analog Discovery 2 and it's wonderful WaveForms platform to write some scripts to demonstrate the natural phenomena. Here is the setup:

    So, as you can see the Analog Discovery's scope's input is connected to a special antenna. It is a 3D-printed fractal antenna from silver. The digital outputs of the Analog Discovery is connected to a NeoPixel LED array that I control from the script in WaveForms. (The WaveForms software lets you write scripts to control its scope,waveform generator,FFT,protocol analyzer, etc.)

    The end results is rather intuitive and funky: if you get close to anything (living or non-living) that emits electromagnetic waves you get a color indication on the LED's about how strong that field is (compared to the ambient environment radiation). With this little device we can demonstrate the theory and the usefulness of this sampling of the very weak electromagnetic fields. It already revealed some of the radiation sources in my house :)

    In the following pictures you can see a very simple case when I move the sensor closer to the power outlet. The outlets are emitting the 50/60Hz waves continuously, so they are easy to detect.

    Interestingly enough I can show the energy field changes around our palms and it looks like it reacts to our focus and intentions. Fascinating stuff!

    In the following weeks I'm going to meet a guy from a local incubator firm, I'll have a day-long workshop with a researcher/engineer who has a very promising sensor design, and I'll focus on the Venus-256 prototype by playing around with Raspberry Pi, .NET Core 3.0 and the AD7616 multi-channel ADC.

    Stay tuned,

    Andras

View all 2 project logs

Enjoy this project?

Share

Discussions

Aaron Jaufenthaler wrote 04/12/2018 at 17:54 point

Nice :)

  Are you sure? yes | no

Andras Fuchs wrote 04/13/2018 at 07:54 point

Thanks! :)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates