Waveform Generator
AHT21, MAX6675 Thermometer
USB Input Output
CH376 USB Picture Frame
SD FAT32 Player PIC12F1822
W25Q64 Flash Recorder
Picture Frame PIC16F690
Color OLED Picture Frame
SD FAT32 TFT Display
Doorbell with SD/EEPROM
SD Talking Clock
SD Sound Recorder
SD FAT32 wav Player
SD Arduino Recorder
Arduino Picture Frame
AD9833 Waveform Generator
Chrome Browser Counter
Arduino LED MAX7219 Counter
LCD Accurate Counter
OLED Accurate Counter
MilliHertz Counter
PIC Counter For Android
MAX7219 LED Counter
WiFi Frequency Counter
Frequency Generator
OLED Counter PIC12F629
Talking Frequency Counter
TFT Counter PIC16F628A
SSD1306 Counter PIC16F628A
SSD1331 Counter PIC16F628A
Arduino Counter for PC
OLED Arduino Counter
OLED Frequency Counter
TFT 10MHz Counter
PC Counter
LED Counter
Scope Screen Counter
LCD 16 x 2 Counter
LCD Arduino Counter
6MHz Android Counter
NIXIE Android Counter
Bluetooth Counters
USB Counter
OBD2 RPM meter PIC16F876A
OBD2 Engine Rev Counter
OBD2 Diagnostic app
Logic Analyzer
PIC12F1822 Scope for PC
Arduino Oscilloscope for PC
Arduino OLED Oscilloscope
Android Oscilloscope
TFT Oscilloscope
USB Oscilloscope
Thermocouple 1023 Deg
Thermometer For Browser
OLED Thermometer PIC12F629
OLED Room Thermostat
TFT Clock and Thermometer
LED Thermometer
USB Thermometer
Serial Thermometer
Serial Thermostat
USB DS18B20 Sensor
Cuckoo Clock
Real Time Clock DS3231
LED TM1637 Timer
OLED Timer Thermometer
TFT Timer Thermometer
LED Timer
LCD Timer
Clock Thermometer
Talking Clock PIC16F628A
Android Talking Clock
WiFi, Ethernet
WiFi Thermometer
WiFi ESP8266
IO for Chrome Browser
USB 16x2 LCD
USB TFT display BMP
USB Meter
USB Input-Output
USB Input-Output Android
Analogue to USB (CH341)
MCP3201 on Serial Port
PC Analog Input (USB-UART)
Serial TFT Text
Serial Inputs Outputs
Serial Port LCD
Analogue Signal to Serial
HC-SR04 Sensor
OLED Amp Meter
PC digital I/O (no coding)
Analogue Signal to LPT
LCD Display on LPT
Water Softener
3.7V to 5V
Solar Charger
PIC Music
Code Lock
  Technical Tips  


Serial thermometer using transistor as a temperature sensor and MCP3201. Included Visual Basic 6 code and a circuit diagram.
The MCP3201 is a micro-power 12 bit analogue to digital converter. The supply to the circuit is via the 12V at pin 7 that is switched to logic high by the software (RTS enabled).
The communication to the PC is bit banging the Hardware Controls, the DTR is used for clocking the ADC and the CTS is used for data input.
NPN transistor with the collector and the base linked makes linear temperature sensor, the junction voltage changes at 2.25mV/centigrade with a negative coefficient. For quicker response use a small package i.e. TO92.
CALIBRATION: The calibration of the sensor and other components in the circuit is done in the VB application. When you start the VB application for the first time it creates a text file 'cal.txt' in the same folder. The file has 2 numbers that represent the sensor readings at 0 and 100 Centigrade. Because the voltages of different sensors vary it needs recording the voltages of the sensor in use. Record the voltages this way:
1. Cool the sensor to temperature near zero, ice mixed with water is 0 centigrade.
2. Click the 0 °C button, the application will update the file 'cal.txt' with a new value of the sensor reading.
3. Use boiling water to heat the sensor to 100 centigrade
4. Click the 100 °C button to update 'cal.txt' file with the new value.
You can read more about serial interface in
Data sheet for the MCP3201 can be downloaded from here. LTC1285, ADS7822 are direct replacement to MCP3201.
VB6 code download. You are free to use the circuit diagram and the VB software with no limitations.

Circuit Description
See also Technical Tips

Pin 2 is the analogue input. Input voltage range of +Vref (about 1 V) is equal to digital 4096.
Pin 1 is the +Vref =1V . 10K and 2K7 metal film resistors will give better temperature stability.
Pin 8 is the 5 V supply to the IC. LP2950 is a Low Dropout 5V regulator, you can use either LP2950ACZ-5 or TS2950CT-5 or LM2931Z-5 or equivalent.
Pin 6 is the serial data out of the ADC, BC237 and BC327 are a level shift from 0-5V to -8 to +8V which is the voltage required for the serial connector.
Pin 7 is the clock for reading the data and pin 5 is the Chip Select. The 22K resistors are for lowering the 12V out of the serial port to 5V level of the ADC.

MTS102 could be hard to find, but any NPN transistor, TO92 or smaller package will give good response.


Comments and questions

Copy the number from the picture It stops net-robots from adding comments.

11.05.2015 - 11:09
Name: Moty
Comment: Hi Guard, don't use male to male cable. You have to make your own cable that connects the serial port on your PC to the serial thermometer circuit.

11.05.2015 - 04:08
Name: Guard
Comment: VB6 comm port rs0232C connect a device; Ex mean: cable male to male; AT command or another command

11.04.2015 - 11:12
Name: thk วิทยุออนไลน์
Comment: thk ปั้มคนเข้าเเชท

11.04.2015 - 11:11
Name: thk
Comment: thk วิทยุออนไลน์

17.09.2013 - 07:30
Name: ma

26.02.2012 - 10:48
Name: Moty
Comment: Hi Igor, Thanks. You can download the code for the project from this page. For Visual Basic 6 you can look on Google, the program was released in 1998. You can add thermostat. You can re-design the front end to PT100 sensor.

25.02.2012 - 21:46
Name: igor5
Comment: Excellent project.Where can I download VB code? It is possible add thermostat to program? Will it be running with thermal sensor PT100?

21.02.2012 - 12:06
Name: John
Comment: This is very fine project, thanks. I found many interesting PIC projects on

16.04.2011 - 19:20
Name: Moty
Comment: Hi Mahir, Sorry for the delay. I'm afraid I can't help to develop GPIB-USB converter, I don't have enough knowledge in GBIP protocol and USB communication mode. Moty

09.04.2011 - 08:58
Name: mahir
Comment: I looked your project. its very nice. I took some of its. thanks for your work. I want to do a GPIB-USB converter. but I can't do. can you help me for this problem...!

iconFlag  2008-2024