Our hardware has been adapted from a paper by A.J. Harvie, S.K. Yadav, and J.C de Mello [1], which produced open-source files to be able to produce a low-cost Lock-in amplifier. 3D printing was used to produce casing for both the printed circuit board (PCB), optical components and the sample being tested.Listed below is the Bill of Materials, in total the cost of production for the Hardware was below £200.
Click for Bill of Materials
Summary
Our hardware uses Lock-in Amplification to amplify low fluorescent signals from a noisy background. This is especially important for use in the field where there can be ambient light interference. A light emitting diode (LED) flashing at a fixed frequency is used to excite the fluorophore present in the probes, this light is passed through a band-pass filter (which only allows light within a specific wavelength range through), where it is detected by an amplified photodiode. This is when the lock-in amplification process begins; the signal is prepared by the amplified photodiode so that it can be sent to the microcontroller and read as a digital signal. The analogue signal is sampled by the microcontroller, where it is multiplied by 2 reference signals, then processed by a digital low-pass filter (exponential averaging) and then added together. The final output is then sent to a Bluetooth module, which transmits the data to a phone to the be plotted on an Intensity-Time graph giving the user instant feedback.
Specifics
Analogue signal processing: The amplified photodiode (OPT101) is used to detect light and convert it into an electrical signal. The signal by the photodiode needs to be primed for the microcontroller’s (Teensy 4.0) analogue to digital converter (ADC). This takes three separate steps. Firstly, feedback compensation is performed to allow the OPT101 to operate when under ambient light or any other electrical interference with the OPT101 contacts, without saturating the signal transmitted to the ADC. Secondly, the summing amplifier converts the signal in the range of -1.6 V to +1.6 V to a positive range of 0 V to +3.2 V, this allows the signal to be sampled by the ADC, without removing any negative voltages from the original signal. Finally, the signal is passed through a low-pass filter, that removes noise from high-frequency components of 94 kHz [1].
Digital Lock-In Amplification: The analogue signal of frequency f0 is sent to the built-in ADC of the microcontroller. The ADC samples the signal at successive discrete times, t(1),t(2),t(3)… of fixed time interval, ∆t between them. Each sample, S(n), where n is the sample number, is obtained as a 12-bit integer value by the ADC, which is then converted to a 64-bit double floating-point value (this means fractional values can be stored and processed). After each sample is obtained the reference signals Q_x (n) and Q_y (n) are updated:
Where m is also an integer. The LED driver is turned on and off every m/2 steps, i.e. when Qy(n)=0. This leads to the fluorescent signal having a constant phase difference and the same frequency as the reference signals. An intermediary step is used to obtain two unfiltered intermediate outputs X0 (n) and Y0 (n), by multiplying the updated reference signals by the current sample:
The signal is then exponentially smoothed (averaged), essentially passing the signal through a low-pass filter but computationally, yielding intermediary variables X1 (n) and Y1 (n):
α is a weighting constant that determines the cut-off frequency (and hence time-constant) of the low-pass filter[2]. Filtering is then repeated to attenuate non-DC interferences and hence lead to a less noisy fluorescent signal:
The output signal,R(n), is then finally produced by vectorially adding X2 (n) and Y2 (n):
R(n) has the same amplitude as the first harmonic of the fluorescent signal [1,3], hence it is proportional to the average fluorescence intensity of our sample with the probes. There is still residual LED light leakage which increases the intensity however, this has mostly been filtered by the bandpass filter and then further removed using exponential filtering.
The microcontroller then transmits this to a Bluetooth module via a micro-USB. The Bluetooth module will then send this data to a mobile phone, running an application that processes this data.
Figure 3: (left to right), the analogue signal is first sampled by the Teensy’s ADC, where the signal is split into two part, with each part being multiplied by the reference signals Qx (n) and Qy (n). The update signals are then filtered twice by using exponential averaging. The final is output is obtained by vectorially adding the signals together.