Spectra: Open Biomedical Imaging

Biomedical Imaging project using AC currents.

Similar projects worth following
Biomedical Imaging has previously been expensive and near impossible to hack and experiment with. Spectra uses non-ionizing AC current to recreate an image of any conductive material such as your lungs, arm or head, using the same tomographic reconstruction technique as a cat scan. The technique is called Electrical Impedance Tomography and is relatively safe and cost effective to implement. The PCB is only 2" square, with bluetooth, making it a portable and hackable way to do biomedical imaging! Join the open chat forum/mailing list and now selling kits at

Spectra is an open source and safe way to experiment with biomedical imaging. It has reconstruction algorithms, a PCB and can re-create an image in real time. 

An AC current is sent through the conductive medium to be interrogated, and the impedance magnitude and phase is measured at the other electrode. This process is repeated around every combination of an array of electrodes, which gives us the base data to perform a tomographic reconstruction. The board is a tiny 2" square, with bluetooth, 16 bit resolution and 160kSPS sample rate. It does calibration based on a resistor on the board, which also adjusts for environmental temperature differences to remain accurate. 

Below is a video of an image being reconstructed in real-time using only 8 electrodes. Notice the image moves as the shot glass rotates. Since then we've moved to a smaller PCB design with 32 electrodes! 

32 electrodes gets better spatial resolution than 8 electrodes, but is slower as it takes 896 combinations in total per image. You can easily switch reconstructions algorithms, edit and tune them in software and try again from Gauss Newton, Graz Consensus to good old fashioned Back Projection(the same algorithm as a CATSCAN). 

You can easily experiment with reconstruction algorithms or see if you can detect differences in materials such as fruit shown below. Each piece of fruit has it's own unique dielectric signature, based on the cell characteristics within it. You could also apply this to meat, bones, blood clots or tumors just as easily. Since this spectrum data is collected at every spatial location, it makes it harder to visualise and ideal for a multidimensional tool like machine learning. People are only just beginning to apply machine learning techniques here so it seems ripe for easy improvements. 

MRI started with some pretty rough images too with the original thorax picture shown below. MRI's still cost millions of dollars, and are never going to be so small an accessible that anyone can have one and play with it. Below we see the first ever MRI scan of the human thorax, with a current 3 Tesla scan below it to show how far the technology has progressed. EIT is in its early stages, so it will be interesting to see how it improves. 

Here is a link to the project on github, that contains an easy to use dashboard with reconstruction algorithms that can be run in real-time or alternatively read in offline files. There are 3 different reconstruction algorithms currently available. The true strength of this technique I think is that you can get a dielectric spectrum at every pixel, meaning you can see differences in material properties really well. 

The project from python tomographic reconstruction software to hardware and firmware is open source. Please refer to the readme to install it! Questions and collaborators welcome:

  • Spectra Devices just shipped! Crowdfunding Campaign Delivered!

    jean09/23/2019 at 23:45 0 comments

    Once we'd received the assembled and tested PCBs from our factory it opened the doors on kitting and shipping. So here we are! 

    We spent the weekend assembling Spectra devices into kits, including assembling cases, flex electrode arrays in cases, and putting all the requisite leads and cables snug and secure in padded boxes.

    We've got our main mailing list running and easy to sign up to on: and here are the last two posts with detailed pictures of the process.

    Spectra back from the factory -

    Spectra is ready and prepared to ship! -

    Next up will be putting a little more detail on the FAQ and tutorials on while things are in the mail for backers, so that thee installation experience is as easy as possible. 

  • Biohacking village at DEFCON!

    jean08/04/2019 at 22:23 0 comments

    Excited to do a talk/workshop at DEFCON's biohacking village next weekend. Line up looks pretty interesting as an intersection of tech ideology and medicine too.

  • Thanks, a Discord collaboration channel and Crowdfunding finished!

    jean05/17/2019 at 15:21 0 comments

    Thanks everyone who supported the CrowdSupply Campaign! We made it!

    We have now started a discord chat channel for the project too if you'd like to join it.

    Now it's time to have a short break, then get down to making those kits for everyone! 

  • Crowdfunding Campaign just went live!

    jean04/03/2019 at 18:33 0 comments

    After lots of preparation from supply chain down to ECCN shipping codes, not to mention videos and photography the Spectra campaign is now live!

    I'd love your support to make this a reality, and help spread the word that biomedical imaging can be easy and open to experiment with. It would be wonderful if this technology could be safely improved so that we all had tri-corders in our pockets! 

  • Gestural Control Example

    jean02/05/2019 at 18:50 0 comments

    I've had a couple of questions lately about using this technique for gestural control. Here I show the band wrapped around my wrist in 8 electrode mode where I am repeatedly ad reliably getting different gestures. They are distinguishable just by looking at the shape of the reconstruction. This means there should be no problems and better results for gestural recognition and control should machine learning be applied. 

  • Poster at IEEE Brain in San Diego

    jean02/05/2019 at 05:51 1 comment

    We also got accepted into Neural Engineering 2019 coming up in March -

    Exciting stuff from IEEE Brain symposium for advanced neuro-technologies included: 

    1.) neurograin: much smaller and more sophisticated than neural dust. I saw some, it's a grain of sand sized chip that sits on the cortex powered through induction.…/resear…/research-projects/neurograin
    2.) acoustically steered optics. Creates acoustic diffraction gratings to control the path of light. 
    "Ultrasonic sculpting of virtual, steerable optical waveguides in tissue" (in press) -
    3.) Soon to be in press, measuring near-infrared light reflected during local field potential activity. No optogenetics, just a simple straight forward correlation between light and electrical activity at the cortex.

  • Announcing a CrowdSupply project

    jean01/03/2019 at 16:56 0 comments

    We received a fair few requests for kits to be made available and are happy to do so now that the most recent software updates are all tied up and ready to go. 

    If you'd like to get sign up to hear about buying a kit then sign up to the link below:

  • Ode to Code

    jean11/05/2018 at 18:29 0 comments

    Software improvements 

    The project frontend and dashboard does tomographic reconstructions in real-time, has been through several iterations. The first attempt was my own hand crafted(with the help of Open CV's radon transform) back-projection method with 8 electrodes. Then a move to use matplotlib and TkInter as the GUI front end and the pyEIT library which provides 3 very nicely implemented EIT algorithms. 

    After talking to Marion Le Borgne, who created Cloudbrain ( about her implementation using plotly and electron, it became clear that this was the way of the future! It would be much nicer to have an app that could simply be downloaded, and this is what electron does, while still leaving the flexibility and hackability of the python numerical backend in place. For those interested, they can go to the github respository and play, but if you just want to try it out, record data and do experiments, this front end should be the easiest. This update is still underway, so stay tuned! 

  • A tale of 32 cables: Process Log

    jean10/21/2018 at 21:00 0 comments

    I thought I'd make this one more of a process log, showing some of the experiments and iterations along the way. 

    The idea of using a flex PCB as an electrode cable seemed efficient, as nobody likes having cables go everywhere and having them be the wrong size for your needs. This is both a good and a bad idea. It works great in tanks and I believe this is a superior method when doing reconstructions in phantoms, and it also works on the body. The problems with flexPCB's come when you encounter a concave location on the part of the body you are imaging. For instance the dibit that your backbone makes around your thorax. To get over this, I also made the 32 electrode cable which you see here on the lower right - I am yet to try it as it just arrived but it appears like it will be a good solution to the concavity issue. 

    PCBs aren't born perfect it turns out and it took a few attempts(and I still have one more final run planned actually). On the left you can see my initial attempt which worked for 8 electrode EIT but had a couple of small errors. It's not as user friendly as the design on the right but has bluetooth and lots of options and test points not to mention being a bit on the large side! The second smaller board was one made just to do 8 electrode EIT as well as bio-impedance spectroscopy. The third board shows my move to 32 electrode EIT.  At this stage I decided to do another run which was all about user friendliness and fitting neatly into a box with a battery which is the white PCB on the right. I made a small mistake in the FTDI chip arrangement, which means I need another run, though this PCB works in most regards(the analog sections and the bluetooth as well as the power sections are all good).  The next iteration will have the FTDI chip fix as well as a few more added tests points. 

    Finally we have the boxes - it's always nice to have an enclosure which both protects the PCB and houses the battery. Mechanical design is not my forte and here are a few attempts. I started with a transparent design(the yellowish looking thing on the left bottom) an decided transparent 3D printing is not the way to go. The large one on the left was a bit overly generous with space and it's nicer to have something snug. The one on the far right, was not done with ABS but PLA instead and you can see how rough the finish is on that. It's so rough the screw holes aren't functional. Then, there is the one at the bottom which fits snug, is relatively smooth and does the job! 

  • New thorax lung images and time series of breathing

    jean09/11/2018 at 20:25 0 comments

    With the latest PCB revision: spectra, I can wrap the electrodes around my middle to see lung expansion as well as heart rate. Below is a time series of just 4 electrodes to show breathing in and out, as well as impedance changes due to the movement of blood through the heart. 

    Once I'd get the time series data on my body, I went to wrap the 32 electrode cable around my thorax and used the GREIT algorithm to do a tomographic reconstruction of a conductivity map of my lungs. This is just an initial image, and you can clearly see I have two lungs! Further work could be done to refine the algorithm, and ensure the connection to my body is good but I am quite happy with this as a tomographic image reconstruction, using only 32 electrodes. In comparison, a CATSCAN typically uses upwards of 256 'electrodes' or angles for it's reconstruction, and also uses ionizing radiation. Below is the frequency at 25kHz, so it's just one frequency. With multi-frequency EIT even more information should be available. 

View all 15 project logs

  • 1
    Build instructions can be found at

    Full instructions and source code for the project.

  • 2

    Ask me any questions here.

View all instructions

Enjoy this project?



Simon Merrett wrote 05/17/2019 at 07:32 point

Congratulations team Spectra! Enjoy those coffees while you whip the dev kits into existence!

  Are you sure? yes | no

jean wrote 08/04/2019 at 22:20 point

Thanks! In progress! 

Testjig programmer all made and off hanging out at the fab. 

  Are you sure? yes | no

the_3d6 wrote 04/08/2019 at 07:42 point

Great project! But you have not really high frame rate - what is the main limiting factor? Also I don't see any amplifiers on the crowdsupply PCB - does your ADC have a high input impedance or you just wanted to simplify the design? Is your schematics available? (in our ECG project input amplifier made a huge difference in terms of signal quality).
It would be great to improve it in order to get a decent fps, it should be possible one way or another

  Are you sure? yes | no

jean wrote 08/04/2019 at 22:22 point

there is a differential amp AD8226 on there. The schematic is where everything else is in the repositories on github. The docs are at and you can drill down into any repo you want. 

  Are you sure? yes | no

wuhanstudio wrote 02/14/2019 at 13:03 point

This is really cool !!! Now it is capable of recreating the image of conductive material, is it possible to create a 2D thermal image? I found a paper estimating batterycell core and surface temperature using electrical impedance measurement.

  Are you sure? yes | no

jean wrote 02/14/2019 at 23:00 point

oh interesting. Well if the increase in temperature means the impedance lowers in hotter parts(that seems normal) then that should be able to be mapped. The trickier part seems to be mapping back the core impedance measures back to a linear temperature scale and understanding what that relationship is. 

  Are you sure? yes | no

Jacob wrote 01/11/2019 at 18:40 point

Arrrgh someone stole my idea! I've been meaning to do this for a while but I never got very into it. There was a few TI chips that seemed to do it but that microcontroller is really awesome too. I read a paper where they used EIT to classify hand gestures, but the issue was framerate vs. resolution. I do resarch into human computer interfaces so I wanted to give this a go. Really cool project, what kind of framerate are you able to get with 8 and 16 electrodes? 

  Are you sure? yes | no

jean wrote 02/05/2019 at 17:11 point

that's it's downside! 8 electrode maybe 5 frames per second(still ok for gestures - I'll post that video soon in an update you can totally just see the difference repeatedly in the raw data before even applying ml). 16 electrodes maybe 4 seconds per from (224 measures), and 32 electrodes maybe 30 seconds per frame. 

  Are you sure? yes | no

jean wrote 02/05/2019 at 21:26 point

have a look at the gestural control example post just above with video so you can see the speed and what different gestures look like. 

  Are you sure? yes | no

Nixie wrote 10/07/2018 at 20:34 point

That's worth of the Grand Prize, if I may say so!
Excellent project!!

  Are you sure? yes | no

sunny wrote 09/12/2018 at 06:02 point

Great project. If it can be miniaturized, it is cheap and can be bought by ordinary families. And with the cloud AI diagnosis. It allows people to discover cancer and other diseases earlier. It’s great for the public!

  Are you sure? yes | no

jean wrote 09/12/2018 at 16:03 point

Thanks! It's very small AC current within human safety standards too. The current size is 2" square. It's in development, but it's a very open area so it seems like it can easily be improved further. Plan to make a kit available in a few months time. Large parts of the world have no access to medical imaging at all, so having something open and inexpensive seems like a way to create a platform to make this technology cheap and ubiquitous. 

  Are you sure? yes | no

jean wrote 08/31/2018 at 23:11 point

  Are you sure? yes | no

Youlian Troyanov wrote 11/16/2018 at 07:33 point

great presentation.

  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