Prototype
The design choices selected in the integrated design were all combined into our first prototype. The device consists of three parts: the electronic readout circuit, a 3D-printed plastic glass, and a dialysis membrane separating the protein solution from the beverage.
Electronic circuit
The electronic circuit present in SPYKE measures the capacitance value of an electrode and turns on a light when the capacitance change exceeds a certain threshold. To achieve this, we used an Arduino Nano board [6] in our prototype to measure the capacitance. We also used the open-source software LTspice [7] to model the electronic circuits to analyze the influence of changes to the circuit.
Arduino
For the prototype we use an Arduino nano board on advice from Jeroen Bastemeijer. The board is capable of continuously producing and measuring voltages while being connected to a power source. The Arduino can be connected to a laptop and by using the Arduino IDE software, the microcontroller can be programmed. With a simple code, the system continuously measures the capacitance, takes the moving average to stabilize the signal [8] , and when a large change occurs it turns on a LED light. To power the Arduino Nano a simple 9V battery was used. [9]
Capacitance to voltage converter
The Arduino can only measure voltages, not capacitance values. A capacitance-to-voltage converter (CVC) was used for the prototype to convert a capacitance change into a voltage change. The Arduino can measure a voltage signal ranging from 0 to 5 V and maps the measured voltage between 0-1023 relative Arduino units. [10] We constructed an electronic circuit consisting of only the CVC of the universal transducer interface (UTI). We used LTspice simulations and experiments to verify the effectiveness of our circuit. We started with a circuit containing one capacitor, but to minimize environmental influences we upgraded to a dual-capacitor system. Gerard Meijer warned us the capacitor could be sensitive to leakage, a phenomenon where current flows through the capacitor when a DC voltage is applied. [11] We measured the leakage and simulated the consequences resulting from it.
The first system we developed continuously runs a square wave generated by the Arduino through one capacitor. The Arduino measures the output of the CVC. A schematic of the system is displayed in the Figure 4a . We ran an LTspice simulation varying the capacitance of the electrode and measuring the resulting output voltage Figure 4b . The chosen capacitances are in the range of the capacitances of the electrodes.
Figure 4. (a) A sketch of our one capacitor electrical circuit. Vdrive and Vo-CVC represent the voltage signal created by the Arduino and the output of the CVC respectively. Cx, Cp, and R3 represent respectively the electrode, a reference capacitor, and a reference resistor. (b)The results of an LT spice simulation of the output voltage from the CVC for different capacitor values of the electrode (pink line C=0.7 pF, black line C=0.8 pF, blue line 0.9 pF)
The LT spice simulations show the system is capable of measuring capacitance changes. We also implemented the circuit using Arduino, the circuit can be seen in the Figure 5. This circuit just like the single capacitor circuit, generates the square waves needed to power the CVC and measures the peak voltage values shown in Figure 4b
Figure 5. A schematic overview of the Arduino circuit that was used to measure the capacitance change.
The measurement setup was validated using capacitors with known values. With these capacitors, the output of the Arduino was measured. As shown in Figure 6, the Arduino output shows the expected linear increase resulting from capacitance changes and can thus be used to accurately measure changes in capacitance.
Figure 6. Validation experiments for the dual capacitor CVC. The difference in capacitance between the capacitors is plotted against the Arduino relative output.
Jeroen Bastemeijer told us there are problems with the one capacitor system as environmental changes can affect the capacitance [12] . Since these capacitance changes can be in the same range as the capacitance changes caused by the addition of GHB, this may cause a false positive signal. In Dr. Ali Heidari’s thesis [12] , another kind of capacitance-to-voltage-converter was mentioned which could overcome these problems. This CVC uses two almost identical capacitors and measures the difference between them. When the capacitance changes due to environmental changes, the difference between the capacitors stays relatively stable. This way, the influence of the environment is minimized. The difference is measured by sending two inverse square waves through the capacitors. The signals are then added afterward. The Arduino measures the output of the system.
In our project, our goal was to measure the change in capacitance caused by the unbinding of BlcR that is initiated by the addition of GHB. We used two electrodes, the first electrode contains immobilized DNA with a binding sequence for BlcR. The second electrode is identical, except the immobilized DNA doesn’t contain the BlcR binding site. The capacitance of the second electrode is therefore not responsive to GHB since there is no binding and unbinding of BlcR. Both of the electrodes respond similarly to external influences except for the addition of GHB. Measuring the difference between the two electrodes minimizes the environmental influences while still measuring for GHB. See Figure 7& 8 .
Figure 7. Schematic overview of the factors that influence the capacitance of the electrodes.
Figure 8. Schematic overview of the factors that influence the biosensor read-out in a two-capacitor configuration. The electrode on the left contains DNA with the BlcR binding sequence. The electrode on the right contains scrambled DNA. Only BlcR (un)binding influences the system significantly, which increases the signal-to-noise ratio.
A schematic of this dual capacitor system is displayed in the Figure 9a . We ran an LTspice simulation varying the capacitance of one of the electrodes and measuring the resulting output voltage Figure 9b .
Figure 9. (a) A LT spice sketch of our dual capacitor electrical circuit and the relevant signals. Vdrive and -Vdrive represent the voltage signal created by the Arduino and Vo-CVC output of the CVC. Cx, C1, Cp, and R3 represent the electrode, a reference electrode a reference capacitor, and a reference resistor respectively. (b) The results of an LT spice simulation of the output voltage from the CVC for different capacitor values of the electrode (purple line C= 0.5 pF, light blue line C=0.6 pF, blue line C=0.7 pF, black line C=0.8 pF, pink line 0.9 pF)
The LT spice simulations show the system is capable of measuring the differences between the electrodes. As can be seen in Figure 9b , the CVC outputs zero voltage when the capacitances of the electrode and the reference electrode are identical. We also implemented the circuit using Arduino as can be seen in the Figure 10 . This circuit just like the single capacitor circuit, generates the square waves needed to power the CVC and measures the peak voltage values shown in Figure 9b .
Figure 10. A schematic overview of the Arduino circuit that was used to measure the capacitance change.
The measurement setup was validated using capacitors with known values. We measured the output from the Arduino resulting from the difference between capacitors. The results are shown in Figure 11 .
Figure 11. Validation experiments for the dual capacitor CVC.
As can be seen from the LTspice simulations and the Arduino measurements the CVC accurately converts the difference between capacitance values to a voltage value. The output voltage linearly depends on the difference of capacitance. The formula of the trendline was used in future experiments to convert the relative output to capacitance values.
Leakage of the electrodes is a phenomenon where current flows through the capacitor when a DC voltage is applied and can influence the output [11] . To see if this would still result in problems for the prototype with the two capacitor measurements, we used LTspice to simulate the influence of leakage when measuring capacitance changes. We used a resistor in parallel with the electrodes to simulate the leakage. We used a resistance of 140 MΩ as was measured during the vector impedance measurements. The schematic used can be seen in Figure 12a . We ran the model of the CVC over a range of capacitance and resistance differences between the electrodes. The results can be seen in Figure 12b .
Figure 12. (a) A LT spice sketch of our dual capacitor electrical circuit with leaky capacitors integrated and the relevant signals. Vdrive and -Vdrive represent the voltage signal created by the Arduino and Vo-CVC output of the CVC. Cx, C1, Cp, and R3 respectively represent the electrode, a reference electrode, a reference capacitor, and a reference resistor respectively. Rref and Rx represent the leakage of the electrodes. (b) The results of an LT spice simulation of the output voltage from the CVC for different capacitor values of the electrode (blue lines C= 0.7 pF, purple lines C=0.8 pF, pink lines C=0.9 pF). The leakage resistance was varied for all capacitance values (130 MΩ, 140 MΩ, 150 MΩ).
As can be seen from the results of the LTspice simulation, the dual-electrode system would work well, even with a varying leakage between the electrodes as capacitance differences can clearly be measured. For this reason, the dual-capacitor system is incorporated into the prototype.
After analysis of the single and dual-capacitor system we concluded the dual-capacitor system contributes to a more reliable prototype. This is because, it reduces environental influences and decreases the problems caused by leakage of the electrodes. For these reasons we incorporated the dual-capacitor system into our prototype.
Determination of threshold value
To determine at what capacitance change the LED light should turn on to alarm the user, we first measured the change of capacitance of a single electrode induced by the addition of SSA. As we saw during the Arduino measurements, a change of around 6 relative values was caused by the addition of SSA. The maximum noise observed was less than 0.5 relative values. As a midway, we chose 3 relative values as the cutoff value for the light to turn. Using the trendline shown in Figure 11 we calculated this corresponds to a capacitance change of 1.6*10-2 pF.
Button
As we found out, from the various capacitance measurements, there was a large variance in capacitance and capacitance changes between the electrodes. This causes the Arduino to measure a difference in capacitance between the two electrodes without the addition of SSA. This offset capacitance difference will result in problems when setting the threshold. To ensure the prototype functions well, we added a button that removed this offset by baselining the capacitance difference to zero when pressed. This ensures that only the difference in capacitance resulting from GHB addition is measured. With the addition of the button the electronic circuit was completed and shown in Figure 13 .
Figure 13.The read-out circuit used to measure the capacitance changes. The button and LED light are located outside the glass.
3D printed glass
The previously described electronic circuit is incorporated in a 3D printed glass which can be seen in Figure 1. The glass is made up of five separate 3D printed parts which can be assembled into one glass. Using this five-layer system parts can easily be replaced making the device more sustainable as less waste is created. The parts that have to be regularly replaced are the electrodes, protein solution, and filter [4] .
- The beverage compartment: The part of the glass which will contain the beverage. It has a hole at the bottom where the filter is placed. It can be screwed onto the electrode compartment together with an O-ring to make the system watertight.
Figure 14. An animation and picture of the beverage compartment.
- The electrode compartment: The middle part of the glass is placed underneath the beverage compartment and separated by the filter. This compartment will contain the protein solution and has two holes in the bottom leading to the Arduino compartment.
Figure 15. An animation and picture of the electrode compartment.
- The Arduino compartment: The bottom part of the glass containing the Arduino and the electronic read-out circuit. It has a hole in the side to allow for a cable to connect the Arduino to a laptop. It has two protrusions that can be used to click it onto the electrode compartment.
Figure 16. An animation and picture of the Arduino compartment.
- The bolt: A bolt into which the electrode is placed. Two bolts will go through the holes in the electrode compartment to seal it from the Arduino compartment.
Figure 17. An animation and picture of the bolt.
- The nut: A nut which can be screwed on the bolts. Two nuts can be used together with two O-rings to tighten the bolts and make the system watertight.
Figure 18. An animation and picture of the nut.
Filter
The last component of the prototype is the filter. The filter is located between the beverage and the electrode compartment and its function is to separate the two. The filter should allow GHB to diffuse from the beverage to the electrodes while retaining the protein in the electrode department. We chose to use a dialysis membrane as a filter as they are designed to retain proteins and allow the diffusion of small molecules over a long period of time [4] . We conducted two experiments to test if the filter worked as intended. We first tested if the connection of the filter was watertight to ensure only diffusion through the filter occured. Afterward, we tested if the filter indeed allowed small molecules such as GHB to diffuse while retaining proteins.
It is essential that the connection between the beverage and the electrode compartment is watertight, to ensure that the protein doesn’t leak into the beverage. Nemo Andrea suggested using O-rings to decrease the leakage of liquid. We conducted an experiment to examine if our 3D-printed prototype is indeed watertight. A watertight, plastic, flexible layer on top of an O-ring was attached between the electrode and beverage compartment and tightened by screwing the compartments on each other. First, the cup was filled with a small layer of water and shaken on a plate for 30 minutes. Afterward, the cup was examined for any leakage from the top to the bottom. Then, the cup was fully filled with water and the process was repeated. The results are shown in Table 2.
Table 2. Overview of the results of the watertight testing
The volume of water |
Leakage |
50ml |
400ml |
Yes |
No |
We observed no leakage with a small volume of water, but when the cup was fully filled the cup almost immediately started leaking. These results indicate that the system can be used to do a proof of concept measurement but not as a drinking glass. In the future design section we discuss how we could possibly solve this.
We tested the diffusion of BSA, a similar-sized protein as BlcR, and glucose, a slightly larger molecule than GHB and SSA. We tested the diffusion through the filter after 1 and 6 hours and with and without shaking. The results can be seen in Figure 19 .
Figure 19. (a) Results from the protein assay in the membrane test. (b) Results from the glucose assay in the membrane test.
We observed limited diffusion of both protein and glucose. The protein was retained partly as needed for the system to function, but there was still diffusion which can affect the functioning and the safety of the system. The glucose did diffuse through the filter as intended but the diffusion was lower than expected. However, that would indicate that GHB can still pass from the beverage compartment to the compartment with the electrodes. Literature suggests lower diffusion of protein and higher diffusion of glucose [13] . In the future design section we discuss how we could improve the functioning of the filter.
Implementation
Proof of concept
The goal of our project is to detect GHB concentrations in beverages. As we could not use GHB due to legal reasons, we used the GHB analog SSA in most of our experiments. We verified using UTI measurements that the capacitance of the electrodes also changes with the addition of GHB. With the electrical circuit, we measured the capacitance after incubation of the electrodes with 1 µM DNA (Blc binding sequence: electrode A, scrambled DNA; electrode B) and 4 µM of BlcR. We used the button feature to negate the offset created by the inherent difference in capacitance values between the electrodes. We used the measured capacitance value as a baseline to measure the difference in capacitance after the addition of 150 µM SSA (Figure 20).
Figure 20. (a) Capacitance measurements with Arduino circuits. Baseline electrode with immobilized 1 µM DNA; electrode A: immobilized Blc operator sequence, electrode B: immobilized scrambled DNA, and 4 µM BlcR. Capacitance difference is measured in the presence of 150 µM SSA (Notebook 4, 27/09/2022).
After the addition of SSA, we measured a capacitance difference of 5.4*10-2 pF with electrode A and 0.0 pF with electrode B (Figure 20). The Arduino circuit was developed to turn on a light when a difference of 1.6*10-2 pF is measured and thus turned on the light. These results show that our Arduino system can indeed be used to detect SSA and most likely GHB. Due to problems resulting from leakage, malfunctioning electrodes and bad cable connections we were not able to detect SSA using the full device. In the future design section, we discuss possible ways of improving the prototype to achieve this.
User testing
We asked a bartender and a possible user of SPYKE to review, disassemble, and give feedback on the prototype. Pictures from the user tests are shown in Figure 21. As expected, a glass is very easy to use and only two remarks were given:
- The prototype is too large. As noted by both the the possible user and the bartender, the glass is too large and therefore difficult to hold. This makes the glass inconvenient to use.
- The prototype should be transparent. The bartender noted the glass should be transparent like regular glasses. Otherwise it would be very hard to identify what beverage is inside.
We were unable to make design changes to fulfill the wishes of the users as the size of the glass was limited by the electronics and the material by the available filaments. In the future design section we discuss possible ways of improving the prototype based on the input from the users
Figure 21. Pictures taken during the user tests.