Papers in Physics, vol. 10, art. 100007 (2018) Received: 7 July 2018, Accepted: 27 September 2018 Edited by: A. Mart́ı, M. Monteiro Reviewed by: R. Marotti, Instituto de F́ısica, Facultad de Ingenieŕıa - Universidad de la República, Uruguay. Licence: Creative Commons Attribution 4.0 DOI: http://dx.doi.org/10.4279/PIP.100007 www.papersinphysics.org ISSN 1852-4249 Temperature-dependent transport measurements with Arduino A. Hilberer,1 G. Laurent,1 A. Lorin,1 A. Partier,1 J. Bobroff,2 F. Bouquet,2∗ C. Even,2 J. M. Fischbach,1 C. A. Marrache-Kikuchi,3† M. Monteverde,2 B. Pilette,1 Q. Quay2 The current performances of single-board microcontrollers render them attractive, not only for basic applications, but also for more elaborate projects, amongst which are physics teaching or research. In this article, we show how temperature-dependent transport mea- surements can be performed by using an Arduino board, from cryogenic temperatures up to room temperature or above. We focus on two of the main issues for this type of experiments: the determination of the sample temperature and the measurement of its resistance. We also detail two student-led experiments: evidencing the magnetocaloric effect in Gadolinium and measuring the resistive transition of a high critical temperature superconductor. I. Introduction The development of single-board microcontrollers and single-board computers has given physicists access to a large variety of inexpensive experi- mentation that can be used either to design sim- ple test benches, to put together set-ups for class demonstration or to devise student practical work. Moreover, specifications of single-board compo- nents are now such that, although they cannot rival with state-of-the-art scientific equipment, one can nonetheless derive valuable physical results from them. ∗E-mail: frederic.bouquet@u-psud.fr †E-mail: claire.marrache@u-psud.fr 1 Magistère de Physique Fondamentale, Département de Physique, Univ. Paris-Sud, Université Paris-Saclay, 91405 Orsay Campus, France. 2 Laboratoire de Physique des Solides, CNRS, Univ. Paris- Sud, Université Paris-Saclay, 91405 Orsay Campus, France. 3 CSNSM, Univ. Paris-Sud, CNRS/IN2P3, Université Paris-Saclay, 91405 Orsay, France. We will here focus on the Arduino microcon- troller board [1]. Let us note that other boards, such as MBED, Hawkboard, Rasberry Pi, or Odroid to cite but a few, exist which may be cheaper and/or have better characteristics than Ar- duino. In our case, we have employed Arduino boards to take advantage of the important user’s community. This has been an important selling point for the students with whom we are working. Indeed, our experience with Arduino is primar- ily based on undergraduate project-based physics labs [2] we have initiated within the Fundamen- tal Physics Department of Université Paris Sud for students to gain a first hands-on practice of exper- imental physics. In these practicals, students are asked to choose a subject they want to study during a week-long project. They then have to design and build the experiment with the equipment available in the lab. The aim is not only to study a physi- cal phenomenon, but to do so by using inexpensive materials and low-cost boards. In this article, we will describe two projects that have been developed by third year students. The first one aimed at quantifying the magnetocaloric 100007-1 Papers in Physics, vol. 10, art. 100007 (2018) / C. A. Marrache-Kikuchi et al. effect in Gadolinium and the second one, which has been popular amongst students, consisted in measuring the resistive transition of a high criti- cal temperature superconductor (HTCS). However, the techniques to do so can more generally be used for any experiment involving the measurement of a low voltage while varying the set-up temperature. In particular, they could be applied to simple trans- port characterization of samples in research labo- ratories. In the following, we will focus on two important issues for this kind of measurements: thermome- try and thermal anchoring on the one hand, and measuring resistances on the other. II. Determining the temperature of an object using microcontrollers One of the experimental control parameters that is most commonly used to make a physical system properties vary is temperature. There is a wide variety of temperature sensors, depending on the temperature range of interest. The aim of this pa- per is not to list those, but rather, to focus on the most ordinarily found sensors compatible with an Arduino read out. We will also review some ba- sic techniques to ensure a proper thermal contact between the sample and the thermometer. i. Sensors types a. Built-in Arduino sensors There are a number of temperature sensors that are generally sold with standard Arduino kits. The Arduino Starter Kit, for instance, comes with a TMP36 low voltage temperature sensor [3] (avail- able for about $1 if purchased separately) whose operating principle is based on the temperature- dependence of the voltage drop across a diode. The advantage of this type of thermometer is that it can be directly plugged into Arduino with- out any additional electrical circuit. Furthermore, provided that the corresponding library is down- loaded, the temperature is straightforwardly read via the computer interface in ◦C, so that no cali- bration is needed. However, these sensors are limited in accuracy and operation: the TMP36 sensor for example has a ±2◦C precision over the −40◦C to +125◦C range where it can operate. If they are extremely con- venient for non-demanding temperature read-outs, such as students atmospheric probes for example [4], they are not adapted to the precision needed for most research lab experiments. b. Thermocouple Thermocouples are cheap and robust thermal sen- sors that are industrially available for about $15, and which cover a wide range of temperatures (for example from −200◦C to +1250◦C for a type K thermocouple [5]). They are one of the few ther- mometers that are reliable at temperatures much higher than room temperature. Thermocouples are also extremely convenient to measure the temperature of small-sized samples. Indeed, only the hot junction between the two met- als needs to be in contact with the region where the temperature is to be monitored. On the other hand, the quality of the readings will strongly depend on how thermally stable the cold junction is, and the temperature measurement is less precise than us- ing a thermistor. Indeed, the voltage to be mea- sured is small: the sensitivity of a thermocouple is of the order of tens of microvolts per Kelvin, and it decreases when the temperature decreases (a type- K thermocouple has a sensitivity of 40 µV.K−1 at room temperature but a sensitivity of 10 µV.K−1 at liquid nitrogen temperature). Let us note that an amplification of the volt- age signal is then needed to read the temperature with Arduino. Some chips provide a ready-to-use thermocouple amplifier for microcontrollers (such as the MAX31856 breakout with a resolution of a quarter of a kelvin when using the Adafruit library [6] and an accuracy of a few kelvins). Better sensi- tivity could be achieved with a home-made ampli- fier (see below) and some care. c. Platinum thin resistive films Platinum thin films are practical and very reliable resistive thermometers typically working from 20 K to 700 K [7]. They are therefore suited for cryogenic applications – at least down to liquid nitrogen tem- peratures – as well as for moderate heating. The advantage of this sensor is that its response is en- tirely determined by the value of its resistance at 0◦C [8]. The most commonly used platinum resis- 100007-2 Papers in Physics, vol. 10, art. 100007 (2018) / C. A. Marrache-Kikuchi et al. tance is the so-called Pt100 which has a resistance of 100 Ω at 0◦C and costs approximately $3 to $5. These thermal sensors have a typical precision of about 20 mK up to 300 K and about 200 mK above room temperature. Moreover, their magnetic field- dependent temperature errors are well-known [7]. It is possible to mount those resistances on a dedicated Arduino resistance-to-temperature con- verter such as MAX31865 [9], but it is often sim- pler to plainly measure the resistance with a dedi- cated electrical circuit as will be explained in sec- tion III. This is particularly convenient for low or high temperature measurements for which the Ar- duino board cannot be at the same temperature as the thermometer and the sample are. ii. Thermal anchoring For the temperature measurement to be relevant, the thermometer must be in good thermal contact with the sample. How to achieve a good thermal anchoring is a subject of investigation in itself, but in this section we will outline a few standard tech- niques, focusing on the low temperature case. To cool down a sample at low temperatures, one could use a Peltier module, but the simplest – and not so expensive – way is to use liquid nitrogen. Some basic safety measures have to be taken to ma- nipulate this cryogenic fluid: use protection glasses, gloves, work in a well-ventilated room and, above all, ensure that it is poured into a vessel that is not leak-tight to allow natural evaporation of liquid ni- trogen and avoid pressure build-up in the vessel. Once these precautions are observed, the manipu- lation is relatively safe. To ensure that the thermometer indeed probes the sample temperature, the most obvious tech- nique is to solidly attach the thermometer to the sample using good thermal conductors. The ther- mal sensor can, for instance, be glued onto a cop- per sample holder. The glue then has to retain its properties at the probed temperature range. In the low temperature case, one frequently uses GE 7031 varnish which sustains very low temperatures and can easily be removed with a solvent. Alternatively, the thermometer could be mechanically fixed with a spring-shaped material whose elasticity is main- tained at a low temperature, such as CuNi sheets. Upon cooling, the spring-shaped material will con- tinue to apply pressure onto the thermometer, thus ensuring a good mechanical and thermal contact with the sample holder. Another method is to thermally insulate the thermometer and the sample from the outside world, while putting them in contact with a com- mon thermal bath. This can be done by inserting them into a container filled with glass beads of a few millimeters in diameter [10] (inset of Fig. 7), or al- ternatively, sand. These materials provide a good thermal insulation of the {sample+thermometer} system from the outside world while allowing for an important thermal inertia. Moreover, when work- ing at temperatures close to 77 K, they limit the liquid nitrogen evaporation so that the tempera- ture increases back to room temperature only very slowly: typically for a volume 1 L of beads that is initially immersed in liquid nitrogen, the tempera- ture reaches back 300 K in 3 to 4 hours. The heat exchange between the sensor and the sample is then guaranteed through the evaporated N2 gas, thus en- suring the temperature is homogeneous within the entire volume. An alternative method for achieving good thermal contact between the sensor and the sample through gas exchange is explained in Ref. [11]. III. Measuring resistances with mi- crocontrollers Microcontroller inputs give a reading of electric potentials. Measuring resistances is then slightly more complicated than plugging a resistance into an ohmmeter. For educational purposes, this is ac- tually rather valuable since it gives students the opportunity to experiment with the notion of re- sistance and to realize that even the simplest mea- surement may present some challenge. In the fol- lowing, we will present standard methods to mea- sure resistances and we will particularly focus on the low-resistance case. i. Current-Voltage measurement The simplest set-up for measuring a standard re- sistance is the voltage divider set-up represented in Fig. 1: the resistance of interest R0 is put in series with a reference resistance Rref . The voltage drop across both resistances is controlled by the board 5 V output. The potential V1 can be read by one 100007-3 Papers in Physics, vol. 10, art. 100007 (2018) / C. A. Marrache-Kikuchi et al. Figure 1: Schematic representation of the current- voltage set-up. of the microcontroller’s inputs and should be close to 5 V. The potential V2 – read by a second in- put – corresponds to the voltage drop across the unknown resistance. R0 can then be determined through the simple relation: R0 = V2 V1 −V2 Rref (1) The monitoring of V1 allows for a better precision through a direct monitoring of the current. Ar- duino’s 5 V output sometimes varies in time. To have a better stabilization of the voltage, it may be useful to use an external power source for the micro- controller and not use the computer’s USB output. Let us note that, if Rref � R0, the current through the circuit can be considered to be constant, which is often very convenient when the resistance mea- surement does not require a large precision. This method presents several drawbacks when dealing with small values of R0: since the ultimate resolution of an Arduino UNO board is of about 1 mV with Vref = 1.1 V, one cannot measure R0 smaller than about 2 × 10−4Rref . In the case of a standard commercial HTCS sample for instance, the normal state resistance is often of the order of a few tens of mΩ. To observe the resistance drop across the critical temperature Tc of a supercon- ductor, Rref should then be of the order of a few Ω. Such resistances are commercially available or, alternatively, can be custom-made with a relatively good precision (of the order of a few mΩ) by using a long string of copper wire (commercially available Cu wires of 0.2 mm in diameter have a resistance of about 0.5 Ω/m for example). However, unless V2 is amplified, the precision of the measurement is not optimal. Moreover, using this method to mea- sure small resistances leads the circuit current to exceed the maximum current allowed at the micro- controller’s output. In the following, we will see another method to measure small resistances. ii. Wheatstone bridge Another resistance determination method, which can achieve a good precision, is the Wheatstone bridge. The principle of the measurement is illus- trated in Fig. 2. R1 and R3 are fixed value resis- tances, while R2 is a tunable resistance and R0 the resistance of interest. The potentials V1 and V2 are then related by: V2 −V1 = ( R2 R1 + R2 − R0 R0 + R3 ) Ve (2) The bridge is co-called “balanced” when R2 is tuned such that V1 and V2 are equal. The resis- tances are then related through: R0 = R2R3 R1 (3) The precision that can be achieved through this method and when using a microcontroller is about the same as for the current-voltage measurement method. However, this method is not very prac- tical when dealing with resistances R0 that vary, since the bridge has to be maintained close to bal- ance at each measurement point. In particular, it is not well suited for the measurement of a super- conductor’s resistive transition. iii. Voltage amplifier The most practical solution for the measurement of small voltages – and hence small resistances – is the amplification of the potential difference across the resistance. This can be done via standard voltage amplification set-ups using operational amplifiers, either in single-ended or differential input configu- rations. In the single-ended case, illustrated in Fig. 3, the output potential is given by: Vout = 1 + R2 R1 Vin (4) 100007-4 Papers in Physics, vol. 10, art. 100007 (2018) / C. A. Marrache-Kikuchi et al. Figure 2: Schematic representation of the Wheatstone bridge: R1 and R3 are fixed resistances, R2 is a tunable resistance, and R0 is the resistance of interest. Figure 3: Voltage amplification. The input voltage Vin can then be amplified at will, depending on the ratio R2 R1 . The output voltage Vout can then be read by the microcontroller. This amplification method has a much larger pre- cision than the previously mentioned methods, it does not require tuning at each data point and can be used to measure any small voltage: the volt- age drop across a superconductor, but also the dif- ference of potential across a thermocouple, or to derive thermoelectric coefficients (Seebeck or ther- mopower). Going beyond this simple amplification method requires substantially more work. One possible method is to fabricate a microcontroller-based lock- in amplifier, as demonstrated in Ref. [12]. iv. Using another ADC than Arduino’s The specifications of Arduino Digital-Analog Con- verter are often the main limitation in the above measurements. As already mentioned, the Arduino ADC provides – at best – 10 bits on the 1.1 V in- ternal reference voltage, and can only measure a voltage in single-ended configurations. One alternative would be to use another micro- controller, with a better ADC. For example, the low-cost FRDM-KL25Z from NXP [14] provides a ADC that can measure a voltage either in single- ended or in differential input configurations with 16 bits on 3.3 V. The ease-of-use and the large users community can be a strong motivation to keep Arduino as your board of choice. In which case, a second solu- tion would be to use an external ADC when better resolution or a differential mode configuration is needed. For example, we have tested the ADS1115 chip [15]: this external ADC can measure 4 single channels or 2 differential channels with 16 bits on 4.1 V. The possibility of a preamplification up to 16 times brings the resolution down to 8 µV per bit instead of the standard 5 mV (or 1 mV with the 1.1 V internal reference). The possibility of measuring a voltage in a dif- ferential mode configuration with a resolution bet- ter than 10 µV are two important advantages that open many interesting possibilities for physics mea- surements: for instance, measuring a strain gauge or a resistance in a four-wire configuration, or mea- suring directly a thermocouple or the resistance of a superconductor across the transition. The main drawback to this method is that it is not as easy as using the Arduino ADC: a library should be installed first (but good tutorials can be found online, see for example Ref. [15]). Also, an external ADC is generally not as robust as the Ar- duino’s ADC, and the user should carefully monitor the voltage input so as not to damage the ADC. IV. Evidencing a magnetocaloric ef- fect with microcontrollers To illustrate these methods, let us detail the mag- netocaloric effect that we have measured. This ef- fect consists in the temperature change occurring when a magnetic material is placed in a varying 100007-5 Papers in Physics, vol. 10, art. 100007 (2018) / C. A. Marrache-Kikuchi et al. Figure 4: Measurement of the resistance of a Pt resis- tive thermometer with a Wheatstone bridge and ampli- fied by an opamp-based circuit. magnetic field. A more detailed explanation of this the phenomenon can be found in Ref. [16]. In our case, Gadolinium (Gd) was chosen for its paramagnetic properties and its Curie temperature close to room temperature (TCurie = 292 K). At a temperature of about 298 K, a 2.242 g Gd sample was submitted to the magnetic field created by a neodymium magnet of maximum value 0.51 T. In this experiment, the challenge was to measure the small temperature difference induced by the ap- plication of a magnetic field. To this effect, a Pt100 thermistor was put in good thermal contact with the Gd sample via thermal paste. The resistance change was measured by a Wheatstone bridge with the following characteristics: R1 = R3 = 100 Ω, R2 has been set at 108 Ω to be close to balance at the considered temperature and Ve = 5 V via Arduino’s internal source. An additional resistance Rc = 800 Ω was placed in series to limit the current going through the Pt100, thus avoiding heating the thermometer. Ve is then replaced by R1+R2 R1+R2+2Rc Ve in Eq. (2). The off-balance difference of potential V2 − V1 was differentially amplified with a gain of 100 (R4 = 1.5 kΩ and R5 = 150 kΩ). The voltage Vout was then read by the board (Arduino Mega in this case) using 2.56 V as Arduino’s ADC ref- erence voltage [17]. The overall read-out circuit is schematically shown in Fig. 4. The temperature is then inferred knowing that, in the [273 K - 323 K] range, the Pt100 response can be linearly fitted by: T [K] = 2.578RP t[Ω] + 15.35 (5) As illustrated in Fig. 5, the magnetocaloric ef- 0.0 2.5 5.0 7.5 10.0 12.5 15.0 Time (s) 298.15 298.20 298.25 298.30 298.35 298.40 298.45 298.50 298.55 Te m pe ra tu re (K ) Figure 5: Magnetocaloric effect in a Gd sample submit- ted to a 0.51 T magnetic field (blue background) be- fore going back to the zero-field situation (white back- ground). Each data point corresponds to the average of 50 measurements. The noise level is of the order of 10 mK. fect is clearly visible with an amplitude of about ∆T ' 0.33 ± 0.01 K and a time scale of a few sec- onds. The resolution of the setup corresponds to 50 mK (18 mΩ). Each data point in Fig. 5 corre- sponds to an average of 50 measurements so that the effective noise that can be observed is of about 10 mK, or about 5 mΩ in resistance. This yields a relative precision for the measurement of a few 10−5, which is remarkable given the simplicity of the apparatus . When the magnet is taken away from the Gd sample, the temperature decreases back to its initial value, as predicted by the isen- tropic character of the magnetocaloric effect. V. Measuring a superconducting re- sistive transition with microcon- trollers For the second experiment, we would like to detail is the measurement of the superconducting resistive transition of a HCTS. Indeed, in such compounds, the critical temperature Tc below which the sample is superconducting and exhibits zero resistance is larger than 77 K. The transition can therefore easily be observed by cooling the sample down to liquid nitrogen temperature and warming it back up to 100007-6 Papers in Physics, vol. 10, art. 100007 (2018) / C. A. Marrache-Kikuchi et al. Figure 6: Amplification of the voltage drop across a superconducting sample. Inset: geometry of the HCTS sample. room temperature. In the present case, the HCTS is a commercial Bi2Sr2Ca2Cu3O10 sample which specifications in- dicate a critical temperature Tc = 110 K at mid- transition point and a room temperature resistiv- ity of 1 mΩ.cm [18]. In this case, the experimental challenge is therefore to measure very small resis- tances with good precision. To achieve this, it is essential to adopt a four-wire measurement config- uration for the superconductor, as schematized in the inset of Fig. 6. Indeed, in this way, no contact resistances or connection wires contribute to the measured resistance. Moreover, the voltage drop across the superconductor has been amplified by a factor of 480 by a single-ended operational ampli- fier set-up as shown in Fig. 6. The current going through the superconductor is fixed by R0 = 110.0 Ω � R1,RHCT S and is experimentally measured via the potential V read at the extremity of a home- made resistance R1 = 1.18 Ω, made out of copper wire. The temperature has been measured with a Pt100 resistive thermometer using the set-up shown in Fig. 1 with Rref = 217.3 Ω and a reference volt- age of Vref = 3.3 V provided by one of Arduino UNO’s internal sources. Both the sample and the thermometer have been attached to a printed circuit board and have been wrapped in cotton to ensure temperature homo- geneity. The ensemble was placed in a polystyrene container filled with glass beads (inset of Fig. 7). Liquid nitrogen was then poured into the container Figure 7: Resistive transition of a superconductor mea- sured with a voltage amplification. Inset: experimen- tal setup. The blue polystyrene container is filled with glass beads. Both the superconductor and the Pt100 thermometer are immersed inside with liquid nitrogen. and the temperature of the ensemble was let to in- crease back to room temperature while recording the data. In this manner, we have measured the resistive transition given in Fig. 7. The experimental data have been averaged by a convolution with a Gaus- sian of half width 0.4 K to take into account the error in the temperature measurement. As it can be seen, the resolution of the measurement is of the order of 0.1 mΩ for the superconductor’s re- sistance. The latter is actually dominated by the thermal gradient that may exist between the sam- ple and the thermometer if the operator does not carefully check that both are close to one another or if the container is forcefully warmed-up (with a hair dryer for instance). Nonetheless, the precision of the measurement is good (< 1% relative uncer- tainty) and the measured mid-point Tc is of 112 K ± 2K, very close to the value given by the specifi- cations. VI. Conclusion In conclusion, we have shown that standard tem- perature and resistance measurement methods could be adapted to microcontrollers. The perfor- mances that are then attainable are sufficient to probe with reasonable sensitivity a large range of 100007-7 Papers in Physics, vol. 10, art. 100007 (2018) / C. A. Marrache-Kikuchi et al. physics phenomena such as thermoelectric effects, temperature-dependence of the resistivity, Hall ef- fect, magnetocaloric effect, etc. We have illustrated this with the measurements of magnetocaloric ef- fect in Gadolinium and of the resistive transition of a high critical temperature superconductor. We believe that the scope of inexpensive, transportable and easy-to-build experiments that are accessible through the use of single-board microcontrollers is continuously expanding and, in some cases, can now even replace standard characterization meth- ods in research laboratories. Furthermore, they provide a large range of opportunities to devise in- novative teaching activities that enhances students involvement. Acknowledgements - We thank all the students who have participated in the Arduino-based lab- works. We thankfully acknowledge Patrick Puzo for welcoming this project-based teaching within the Magistère de Physique d’Orsay curriculum. This work has been supported by a “Pédagogie In- novante” grant from IDEX Paris-Saclay. Author contributions - A. H. and G. L. designed and conducted the measurements of the magne- tocaloric effect. A. L. and A. P. designed and con- ducted the measurements of the superconducting resistive transition. J. B., F. B., C. E., J. M. F., C. A. M-K., M. M., B. P. and Q. Q. have super- vised and coordinated the studies. All authors have contributed to the redaction of the paper. [1] Arduino Project Website, https://www.arduino.cc/ [2] F Bouquet, J Bobroff, M Fuchs-Gallezot, L Maurines, Project-based physics labs using low-cost open-source hardware, Am. J. Phys. 85, 216 (2017). [3] TMP36 specifications, https://www.arduino.cc/en/uploads/ Main/TemperatureSensor.pdf [4] V K Merhar, R Capuder, T Maros̆evic̆, S Artac̆, A Mozer, M S̆tekovic̆, Vic̆ goes to near space, The Physics Teacher 54, 482 (2016). [5] Thermocouple operation temperature range, https://www.omega.co.uk/techref/ colorcodes.html [6] Thermocouple amplifier, https://www.adafruit.com/product/3263 [7] Characteristics of Pt thermometers are avail- able at the following website, https://www.lakeshore.com/Documents/ LSTC_Platinum_l.pdf [8] Platinum RTD sensor resistance to temper- ature conversion tables are available at the following websites, https://www.omega.com/techref/pdf/ z252-254.pdf, www.intech.co.nz/products/temperature/ typert/RTD-Pt100-Conversion.pdf [9] RTD-to-Digital converter, https://www.maximintegrated.com/en/ products/sensors/MAX31865.html [10] G Ireson, Measuring the transition tempera- ture of a superconductor in a pre-university laboratory, Physics Education 41, 556 (2006). [11] L M León-Rossano, An inexpensive and easy experiment to measure the electrical resistance of high-Tc superconductors as a function of temperature, Am. J. Phys. 65, 1024 (1997). [12] K D Schultz, Phase-sensitive detection in the undergraduate lab using a low-cost microcon- troller, Am. J. Phys. 84, 557 (2016). [13] R Henaff, G Le Doudic, B Pilette, C Even, J M Fischbach, F Bouquet, J Bobroff, M Mon- teverde, C A Marrache-Kikuchi, A study of kinetic friction: The Timoshenko oscillator, Am. J. Phys. 86, 174 (2018). [14] https://os.mbed.com/platforms/KL25Z/ [15] https://www.adafruit.com/product/1085 [16] V Percharsky, K A Gscheider Jr, Magne- tocaloric effect and magnetic refrigeration, J. Magn. Magn. Mater. 200, 44 (1999). [17] https://www.arduino.cc/reference/ en/language/functions/analog-io/ analogreference/ [18] https://shop.can-superconductors.com/ index.php?id_product=11&controller= product 100007-8