Matrix - Thermistor

From FriendlyELEC WiKi
Revision as of 16:24, 24 June 2016 by Yftan (Talk | contribs) (Code Sample)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


1 Introduction

  • The Matrix-Thermistor module is a thermistor module. It has a 3 pin 2.54mm spacing pin header of which V is supply voltage, G is ground and S is output analog signal. Users can convert output analog signals to digital signals via ADC conversion.
  • To increase measured values' accuracy please make the sensor in close contact with a measured object.

2 Features

  • GPIO, 3.3/5V
  • Small
  • 2.54mm spacing pin header
  • PCB Dimension(mm): 8 x 24


  • Pin Description:
Pin Description
S Analog GPIO
V Supply Voltage 5V
G Ground

3 Basic Device Operation

  • The module mainly contains a thermistor. A thermistor is a type of resistor whose resistance is dependent on temperature.

4 Applications

The Matrix-Thermistor module outputs analog signals which can be converted to digital signals through an ADC converter e.g. the Matrix-Analog_to_Digital_Converter module.
For more details about the Matrix-Analog_to_Digital_Converter module refer to wiki:Matrix_-_Analog_to_Digital_Converter.

4.1 Connect to NanoPi M1

Refer to the following connection diagram to connect the module to the NanoPi M1:

Connection Details:

GND NanoPi M1 Pin9
5V NanoPi M1 Pin2
S Matrix-Analog_to_Digital_Converter A0

4.2 Connect to NanoPi 2

Refer to the following connection diagram to connect the module to the NanoPi 2:

Connection Details:

GND NanoPi 2 Pin9
5V NanoPi 2 Pin2
S Matrix-Analog_to_Digital_Converter A0

4.3 Connect to NanoPi M2 / NanoPi 2 Fire

Refer to the following connection diagram to connect the module to the NanoPi M2/ NanoPi 2 Fire:

Connection Details:

GND NanoPi M2 Pin9
5V NanoPi M2 Pin2
S Matrix-Analog_to_Digital_Converter A0

4.4 Connect to NanoPC-T2

Refer to the following connection diagram to connect the module to the NanoPC-T2:

Connection Details:

5V  NanoPC-T2 USB Host 5V
S Matrix-Analog_to_Digital_Converter A0

5 Compile & Run Test Program

Boot your ARM board with Debian and copy the matrix code:

$ apt-get update && apt-get install git
$ git clone

If your cloning is done successfully a "matrix" directory will be generated.

Compile and install Matrix:

$ cd matrix
$ make && make install

Run test program:

$ matrix-adc

Note: this module is not plug and play therefore before running the module please make sure it is connected to an ARM board.
Here is what you should observe:

The channel0 value is 2460

6 Code Sample

This Matrix code sample can work with all the ARM boards mentioned in this module's wiki. The name of this code sample is "matrix-analog_to_digital_converter". Here is its source code:

int main(int argc, char ** argv)
    int i = 0;
    int value = 0;
    int channel = 0;
    if (boardInit() < 0) {
        printf("Fail to init board\n");
        return -1;
    if (argc == 2)
        channel = atoi(argv[1]);
    system("modprobe "DRIVER_MODULE);
    signal(SIGINT, intHandler);
    for (i=0; i<ADC_READ_TIMES; i++) {
        if (pcf8591Read(channel, &value) != -1) {
            printf("The channel%d value is %d\n", channel, value);
        } else {
            printf("Fail to get channel%d value\n", channel);
    system("rmmod "DRIVER_MODULE);
    return 0;

For more details about this APIs called in this code sample refer to Matrix API reference manual

7 Resources

8 Update Log

8.1 June-25-2016

  • Re-organized and simplified wiki