6 Replies Latest reply on Aug 17, 2020 7:39 AM by LePo_1062026

    How to detect few nanoamperes current using Trans-impedance amplifier of CY8CKIT-059?


      Hi all,


      I am using CY8CKIT-059 kit to convert the current output of a photodiode to millivolts.


      I have designed a transimpedance amplifier (TIA) in PSOC creator which takes photodiode's current as input and I am checking its output using multimeter from pin0[2]. The design is working fine when the current output is in order of microamperes but it doesn't sense anything when current output is in order of nano amperes (varying in 0 to 50 nanoAmperes).


      Please suggest the changes in design required so that it can sense current which is in the order of nano amperes. I prefer to use PSOC creator's inbuilt components to solve this issue and don't want to use external components as they may add unrequired noise. The project design is attached for reference.


      Thanks in advance.


      Best Regards,

      Rajat Bandejiya


      Edit1:  Circuit-->

        • 1. Re: How to detect few nanoamperes current using Trans-impedance amplifier of CY8CKIT-059?



          When you are successfully reading the photo-diode in the uA range, what is the maximum voltage you are reading?


          I'm not a TIA expert by any means. I looked at the TIA datasheet and noticed something:

          Vout – Analog

          Vout is the output signal terminal. Vout is determined by the following equation, where RFB is resistive feedback:

          Vout = Vref – Iin × RFB

          Positive (from source) currents result in output voltage that is negative with respect to Vref.

          Negative (into source) currents result in output voltage that is positive with respect to Vref.


          Based on your Topdesign you have:

          Your Vref is connected to GND which effectively means Vref = 0V.


          This means in your Vout equation => Vout = 0V - (Iin * RFB)   where RFB = 1Mohm.

          Therefore technically if Iin is always > 0nA then Vout < 0V at all times.  Therefore Vout cannot be lower than 0V on the PSoC.  The only reason you probably are getting signal in the uA range is due to the input voltage offset of Iin (Vos).


          Suggestion; Try the follow following circuit:

          (No rewiring or external components needed)

          Setting the Vref to 1.024V will allow the output an offset to work with. 

          Vout = 1.024V - (Iin * 1M)
          Theoretically in a perfect world if Iin = 0 nA then Vout = 1.024V

          If Iin = 1024nA (aka 1.024uA) then Vout = 0V.


          If you need to support more Iin than 1.024uA consider assigning Vref to a higher voltage.  If your Vdda is stable, then Vdda/2.


          If you still want to use your original circuit, try flipping the photo-diode orientation.  This will cause the circuit to flow in the opposite direction making -(Iin).



          • 2. Re: How to detect few nanoamperes current using Trans-impedance amplifier of CY8CKIT-059?



            Here's a little troubleshooting trick I've used before to calibrate a a current source measurement circuit.   This might help you determine the operational success of the TIA.


            This strategy requires two good multi-meters.

            • Set one of the multi-meters to 'ohms' with manual ranging.
            • Set the other multi-meter to 'uA'.
            • The multi-meter set to 'ohms' will try to provide a constant current.  The current will be dependent on the range selected.
              Lower ohm range => higher current, higher ohm range => lower current.
            • The multi-meter set to 'uA' range will measure the current from the other multi-meter trying to source a constant current based on selected range.
            • Knowing the current (and direction) into the TIA, measure the output and compare the result to the formula:  Vout = Vref – Iin × RFB
            • If you swap the '+' and '-' connections to the multi-meter in 'ohms' mode this will reverse the direction of the current.
              That way you can test the Vout response with the current in the opposite direction.

            Further experiments:

            • Change the value of Vref.  (eg Vdda/2)
            • Change the Vref to a DAC output and set the DAC output to different values.
            • If you only have one multi-meter, create a current source with a power supply and a known reference resistor to replace the multi-meter in 'ohms' mode.



            • 3. Re: How to detect few nanoamperes current using Trans-impedance amplifier of CY8CKIT-059?

              Hi Len,


              I checked what you said.


              In my design, On giving microamps of current I am already getting about 170mV as output which decreases to 100mv in a linear fashion as I decrease the light intensity received by the photodiode. After I flipped the connections with my photodiode I found that the output of TIA had attained a threshold of 15mV which was not changing on changing the light received by the photodiode. WIth this experiment, I was able to conclude that I am already inputting negative current which is making Vout as a positive entity.


              I tried your suggestion as well that is to add a vref but only difference it was making was it was creating an offset. But the design was still not able to sense any change when there was a change in current is varying in the range of 0 to 50nA.






              As far as I know, there are the following ways to solve this problem:

              1. Increase the sensitivity of inbuilt TIA.
              2. Amplify the nanoamps of current to microamps without adding noise.


              Please suggest what will be the best way to solve this problem & please add if there is any other way to resolve it.


              Thank you.


              Best Regards,

              Rajat Bandejiya

              • 4. Re: How to detect few nanoamperes current using Trans-impedance amplifier of CY8CKIT-059?


                To measure 50nA the TIA feedback resistor must be ~20MO. Existing TIA has only 1MO. You can try to make own TIA from PSoC's Opamp and ~20MO external resistor. I can't confirm this will work, as I never tried it myself. The issue is PSoC Opamp low input impedance ~1MO, which will affect measurement.


                Normal TIA have >1GO input impedance. I recommend making TIA using external Opamp and 20MO resistor.


                P.S. I recommend also reading this paper


                • 5. Re: How to detect few nanoamperes current using Trans-impedance amplifier of CY8CKIT-059?

                  Hi Rajat!


                  Maybe you try one of the other methods to deal with photodiode current or voltage. I did a little search on the internet with "Photodiode schematics" in images. You will find at least six other topologies. Unfortunately, I don't have the time to dig deeper.

                  You could also consider using the delta sigma ADC with its input buffer (min 10MOhm). This would have the advantage of filtering out some noise. But it needs a different configuration (see search results). With this, I could also imagine a kind of auto calibration using an IDAC.


                  Best regards,


                  • 6. Re: How to detect few nanoamperes current using Trans-impedance amplifier of CY8CKIT-059?



                    Even if you were to achieve low-nA resolution, the circuit impedance would be 10M to 20M ohms as /odissey1 indicated.

                    Even in the best of circuits, the thermal noise at such very high impedance would induce a AC-like noise of +/- 57uV @ 20C.    (See link below.) You can integrate most of the noise out by performing long-term averaging in SW or placing a cap large enough to average the signal.  (Down-side: larger signal latencies).

                    Noise calculation calculator calculate Thermal noise Johnson noise white pink voltage level noise from measuring data ca…


                    You never indicated why you needed such low-current resolution.  Many designs that use a photo-diode use it in a binary way.  They create a circuit that measures the photo-to-current output against a trigger threshold.


                    Here's a suggested circuit based Andrea's suggestion:



                    The ADC_DelSig has control over the Vref, Input Range and the Buffer gain.

                    For example with the circuit above, using Vref = 1.024V, Input range = Vssa to 1.024V and Buffer gain = 1 you get 16bits of ADC resolution from 0 to 100nA.   (Remember you're going to get a lot of thermal noise at this large impedance).


                    You can scale up the Input range and buffer gain in SW to achieve large current ranges.



                    1 of 1 people found this helpful