SPEC Sensor Analog Sensor Development Kit


#1

This is the place to ask any questions related to the SPEC Sensor Analog Sensor Development kit. The article goes into detail on how to get started with the SPEC Sensor Carbon Monoxide Evaluation Board from SPEC Sensors. This will show some sample code and how to hook the sensor up to get it running on an Arduino IDE platform.

The kit comes with 5 sensors, three of which have headers on the bottom that can be put into the evaluation board. The board has a terminal block for the three outputs from the sensor, Vgas / Vref / Vtemp. All of the outputs are analog so it is imperative to make sure you have some analog I/O ports for reading the values.

Video -

EEWiki - https://eewiki.net/display/DKSB/SPEC+Sensor+Analog+Sensor+Development+Kit

Evaluation board - 1684-1003-ND


#4

Hi,

I would like to know if i would get some issues (regarding precision) by connecting VREF to A1 (atmega328p) directly like in the video? :
https://eewiki.net/display/DKSB/SPEC+Sensor+Analog+Sensor+Development+Kit

I was thinking on using the analog voltage version :
https://www.digikey.pt/product-detail/en/spec-sensors-llc/968-001/1684-1002-ND/6136365

Specifications say it needs to be High impedance "High impedance output requires a buffer to connect to any
measurement device."


#5

Hello Joao, this is a good point that you bring up. You would probably want to use a buffer there, for the purpose of the video I was basically just showing how this could be hooked up and what the physical board would be like. I read through the Atmega328 datasheet specifically looking at the analog inputs and they are optimized for analog signals with an output impedance of approximately 10k or less so you are correct in what you are saying. If it is helpful, I have a list of different buffer options that are currently stocking if you wanted to take a look.

https://www.digikey.com/short/qt9jw0


#6

Hi Pat,

That list is very helpful, thank you very much.
I will get a closer look as soon as i can in order to choose the right one, do you have any favorites for this application?
Ideally one that is not too small so that i can hand solder (for now), atmega input voltage will be a regulated 3.3v.


#7

If you are going to do hand soldering I would suggest this list to start with: https://www.digikey.com/short/qt9zn9

Something else that may be helpful for the dip packages if you choose to go that route would be some sockets as well: https://www.digikey.com/short/qt9z0t


#8

Quick question. If I want to develop with SPEC sensors do I need to use the development boards? Or can i just connect the sensor, run the output through a resistor and calculate the concentration. I was trying to do this but i am struggling to find the pinout to properly connect the sensor to my system.

Thanks


#9

Hello Mat, you will not need to use the development boards; however, to calculate the concentration I know that they had used a potentiostat in their circuit (link here page 3).


#10

Hi,
I’m using the spec sensor (Voltage version) for ozone.
The voltage output shows, on a oscilloscope, a perfect alternative tension with a 50Hz frequency with an offset of around 1.2V
The sensor is alimented through an arduino (uno) board on the 3.3V power output. Whatever the power source (USB, 9 battery, laboratory alimentation), the behavior is the same.
Do you know what can I do ?


#11

Hello Emlaurent. I reached out to the manufacturer regarding this and they had this to say:

The Analog Gas Sensor Module (“SENSOR OZONE ANALOG VOLTAGE MOD” on Digikey) has a few outputs. Temp, Vref, and Vgas. It is not necessary to read Vref, users can find a stable base line in clean air, and use that value to convert voltage to concentration. If users want to read Vref, they must use a voltage follower, (Figure 3 here: https://en.wikipedia.org/wiki/Buffer_amplifier). If they read the voltage directly, the line can act like an antenna, and introduce 60 Hz (or 50 Hz if they are international).
There are 3 ways to overcome this without a voltage follower:

  1. If users want to read Vref, they must use a voltage follower, (Figure 3 here: https://en.wikipedia.org/wiki/Buffer_amplifier). If they read the voltage directly, the line can act like an antenna, and introduce 60 Hz (or 50 Hz if they are international).
  2. There is a voltage follower as well as a battery holder in this development kit: SDK-O3 SENSOR DEVELOPER KIT PN# 1684-1051-ND
  3. For the easiest low cost solution, use 10k resistors to buffer Vref, then measure Vref with ADC, however, this adds some current draw to the project, and it is no longer low power.

ULP%20Module

SPEC sensors has also provided a couple of links to projects they had done:

I wanted to add that I have 2 projects I put together.
The first project is using a SPEC CO Sensor with no support electronics along with an Arduino. It is here: https://www.digikey.com/en/maker/projects/create-your-own-co-detector/874229f4378346a7a0d86c28c5ca2850

The second project is an Arduino library for the Analog Gas Sensor Module. It is here: https://github.com/SPEC-Sensors/ULPSM

Hopefully that helps!


#12

Hi Pat,
Thanks for this helpfull Topic.

I´m absolutelly new here, and also developing projects with Arduino or any other platform, so please be patient with me.

I have been trying to build an SO2 Concentration logger. My question is regarding your project shown in your Arduino library.
https://github.com/SPEC-Sensors/ULPSM4

Do i just need to fill in the sensor sensibility (in my case is 29.40 and change the sensor type to SO2?I changed also the final line to read temp in Celcius.

The thing is my numbers do not make too much sense, temperature doesn´t change at all, stays at -18 and concentratons are in the -3 to -1. Vgas is in the range of 200.

To avoid pasting the whole script here, will show the sections i have changed

const int C1 = A0;
const int T1 = A3;

const float Sf1 = 29.40; //nA/ppm replace this value with your own sensitivity

float temp1;
float TZero;
float Vzero1;

SO2 sensor1(C1, T1, Sf1); //Sensor Types are EtOH, H2S, CO, IAQ, SO2, NO2, RESP, O3, and SPEC (custom)
//O3 sensor2(C2, T2, Sf2); //Example O3
//H2S sensor3(C3, T3, Sf3); //Example H2S

And then the final lines…

//Use .getConc(1, temp1) where temp1 is in deg C for temperature corrected span
// Use .genConc(1,sensor1.getTemp(1)) for Farenheit
Serial.print(", ");
Serial.println(sensor1.getConc(1,temp1));

delay(100);

your help wll be much appreciated.

Best Regards Nic


#13

Hello Nicovidal - SPEC Sensors wanted me to let you know they had updated some of their notes in their Github repository that you could take a look at.