BioAmp-EXG-Pill
BioAmp-EXG-Pill copied to clipboard
Output dynamic range enhancement
Hi First of all., please accept my compliments for this excellent project.
I ran a few simulations for EXG pill schematic. I discovered that the output ranges from 2v to 3v. .. yeah it's not rail to rail.. Feeding this output directly to Arduino (10 bit ADC) , can lead to quite a few bits going unused .
As a solution, may be .., we can add a differential ADC directly onto EXG Pill board. I have MCP3301 and ATtuy85 in mind. Cost wise both look similar., though I would personally prefer MCP3301 over ATTiny , because it offer extra 12bit accuracy. your thoughts?
Hey @optimistic-moron, I am glad you liked the project.
I do have plans to roll out a similar yet different project with ADS1115 and 4 x BioAmp (Circuit) on one board to provide a low-cost 4ch 16bit BioPotential amplification platform. Your idea of including the ADC on-board has crossed my mind before and I thought of using ADC121S101 but, that will increase the size, complexity, and cost of BioAmp EXG Pill that's why I didn't pursue it further.
The idea of BioAmp EXG Pill is to provide a robust analog front end that can be used with any 5v compatible ADC input. This brings unseen flexibility to the table and even if someone wants to create a 24bit BioPotential acquisition system using BioAmp EXG Pills they can use a chip like ADS131M08. I will be providing a KiCad template for the BioAmp EXG pill so that anybody can create custom boards. What are your thoughts on this?
Can you please share the simulation data here? Also, I will be releasing the v1.0 circuit very soon, can you run the simulation for that circuit too? It will be pretty much the same with very slight changes to further improve the BioAmp EXG Pill.
Hey @lorforlinux , thanks for your response.
ADS1115.., , I find the max sampling rate 860sps quite low ,esp. for EMG. ADC121S101 , lacks differential mode , plus cost is high for a single channel.
ADS131M08 .. looks like a good choice.
Simulation data, i can add to a branch on the fork. simulation on v1.0; shouldn't be a big deal either.
eagerly awaiting v1.0 :)
meanwhile, i am working on zero board (6.3 x 4 cm ) for v0.6 with provision for Attiny (purely because it was available locally). Haven't tested yet. covid lockdown is delaying things. may be i can add schematic for that as well, to the same branch.
cheers!
Hey @lorforlinux
Added simulation (ltspice) file at https://github.com/optimistic-moron/BioAmp-EXG-Pill/tree/simulation/software/Simulation. Kindly review and let me know if this is OK.
Please also check if simulation results match with real hardware output?
thanks
Hey @optimistic-moron,
ADS1115.., , I find the max sampling rate 860sps quite low ,esp. for EMG.
The sampling rate of 860sps shouldn't be a problem, I am using a sampling rate of 500Hz for the EMG right now and it works very well. See the demos below, code for both can be found in the software folder.
From various sources, I have seen that 20-300Hz is a very good range for sEMG usually getting peaks of 70-80Hz. The sEMG acquisition for research purposes requires at least 600Hz and 860Hz would work well I believe. What are your thoughts on this?
Note: I have set the frequency response to ~75-150Hz with IIR filter in the Arduino EMG code.
ADS131M08 .. looks like a good choice.
Agreed, it provides the best price to performance ratio!
eagerly awaiting v1.0 :)
Coming very very soon ;)
meanwhile, i am working on zero board (6.3 x 4 cm ) for v0.6 with provision for Attiny
Great! Besides ATTiny85, Do you have the TL074H chip with you?
may be I can add a schematic for that as well, to the same branch.
Yes, please share I'll help you improve it :)
Added simulation (ltspice) file at ...
I think you need to update the TL074 model to TL074H. Also, can you can create a separate folder for simulation just like hardware/software.
If you are trying the circuit with TL074CD (dip package) then you might not get the desired result because it works on 7v (min). You require the updated TL074H from TI to make the circuit work on 5v.
I can try to send you some samples to tinker with, please send us an email at [email protected] It's a bit difficult to ship anything due to lockdown right now :(
Awesome @lorforlinux ..., that was a really quick response :)
From various sources, I have seen that 20-300Hz is a very good range for sEMG usually getting peaks of 70-80Hz. The sEMG acquisition for research purposes requires at least 600Hz and 860Hz would work well I believe. What are your thoughts on this?
This is a very good point you have brought up here. There are actually 2 reasons , why I am looking for high sampling frequency:
-
From the sources, i read some time back, the sEMG signal can reach upto 500Hz. If we recall Nynquist Criteria, the sampling frequency of 1Ksps { Fs>=2 x fm = 2x500Hz) would be helpful.
-
Higher sampling frequency can help me improve adc resolution by means of oversampling.
Besides ATTiny85, Do you have the TL074H chip with you?
Couldn't find TL074H offline/online(India). Factory lead time was also quite high on mouser. That's why took on TL074.
I think you need to update the TL074 model to TL074H. Again, wasn't getting the exact chip, so started with whatever was available. More to this in next response...
If you are trying the circuit with TL074CD (dip package) then you might not get the desired result because it works on 7v (min). You require the updated TL074H from TI to make the circuit work on 5v.
In the simulation, using your exact schematic , if i replace the 5v input with 9v, then i see the offset move from ~2.5v to ~4.5v. The voltage swing as well as dynamic range(~1v) look almost similar. Hence wanted to give it a try. Of-course form factor (pcb dimensions) and practicality (5v) wise TL074H shines.
I can try to send you some samples to tinker with, please send us an email at [email protected] It's a bit difficult to ship anything due to lockdown right now :(
thankyou soo much for the offer :) . will ping you there.
Meanwhile, I am working on building an open source ultra low cost prosthetic hand project. Plan to start posting code on Github soon for this. I see scope of collaboration there as well.
thanks .
Couldn't find TL074H offline/online(India). Factory lead time was also quite high on mouser. That's why took on TL074.
I can send you some :)
In the simulation, using your exact schematic , if i replace the 5v input with 9v, then i see the offset move from ~2.5v to ~4.5v. The voltage swing as well as dynamic range(~1v) look almost similar. Hence wanted to give it a try.
Yes, it should just work fine!
I have used TL074CD for BioAmp v1.5 and it gives very good result when used with 9v battery.
Meanwhile, I am working on building an open source ultra low cost prosthetic hand project. Plan to start posting code on Github soon for this. I see scope of collaboration there as well.
I do have a plan to create an stm32f103 based prostheric arm controller, we can surely collaborate!
I do have a plan to create an stm32f103 based prostheric arm controller, we can surely collaborate!
how about TM4C123GXL instead? this one is cortex M4, with floating point support. Board is quite cheap.
how about TM4C123GXL instead? this one is cortex M4, with floating point support. Board is quite cheap.
Yes, That's also a good option. MSP432 is also very good In that regard.
@daarshanik Hey, did you see the v0.9 schematic yet? I have updated the design and it's getting closer to v1.0 slowly. Graphics has not been updated, please use KiCAD to see the design :)
@daarshanik I have updated hardware files to v1.0a ;)