Difference between revisions of "RPICT3T1"

From lechacal
Jump to: navigation, search
(Temperature Sensor)
(Hardware Version 2.1)
Line 154: Line 154:
[http://www.lechacal.com/RPICT/CT3T1/RPICT3T1_v1_4.ino Default Sketch v1.4]
[http://www.lechacal.com/RPICT/CT3T1/RPICT3T1_v1_4.ino Default Sketch v1.4]
===Hardware Version 2.1===
===Hardware Version 2.1===
[http://www.lechacal.com/RPICT/CT3T1/RPICT3T1_v2_0.ino Default Sketch v2.0]<br>
[http://www.lechacal.com/RPICT/CT3T1/RPICT3T1_v3.0.ino Default Sketch v3.0]<br>
[http://www.lechacal.com/RPICT/CT3T1/RPICT3T1_v3.1.ino Default Sketch v3.1]<br>
[http://www.lechacal.com/RPICT/CT3T1/RPICT3T1_v3.1.ino Default Sketch v3.1]<br>
[http://www.lechacal.com/RPICT/CT3T1/RPICT3T1_v3.2.ino Default Sketch v3.2] → current default for sold units.<br>
[http://www.lechacal.com/RPICT/CT3T1/RPICT3T1_v3.2.ino Default Sketch v3.2]<br>
[http://www.lechacal.com/RPICT/CT3T1/RPICT3T1_v3.3.ino Default Sketch v3.3] → current default for sold units.<br>
==CAD Drawing==
==CAD Drawing==

Revision as of 11:45, 2 June 2020

IMG 1206 small.png

Link to shop

This page is for board specific information. More information can be found on the generic page for RPICT series.


The RPICT3T1 measures AC Power and Temperature.

  • 3x AC current sensor
  • 1x DS18B20 Temperature Sensor
  • Attiny84 Microcontroller


Power is computed using a fixed estimated Voltage. This estimated voltage can be configured. Default value is 240V. You will be able to change this to 110 or 220 depending on the country where it is used.

If you require more accurate power measurement then use the RPICT3V1 board instead. This will also read Voltage and calculate Real Power. A voltage sensor will be required in this case.


Version Compatible?
Raspberrypi 1 A Yes
Raspberrypi 1 B+ Yes
Raspberrypi 2 B Yes
Raspberrypi 3 B Yes
Raspberrypi 3 B+ Yes
Raspberrypi 4 B Yes
  • Asus Tinkerboard has been reported to work with RPICT units. Note we wont be able to provide support for the Tinkerboard.

Recommended sensors

  • AC Current sensor:
    • SCT-013-000
    • SCT-019
    • SCT-006

Temperature Sensor

The DS18B20 temperature sensor can be connected directly to the screw terminal connector.

Connection is as follow:
Vcc - Red
Din - Yellow
Gnd - Black

IMG 1176 small.png

Using the latest sketch 3.3 up to 8 temperature sensors can be connected.

See also the DS18B20 Junction Board for sale here.

IMG 0108 small.png


See general instructions for

Configuration over serial for sketch version 1.2 1.3 & 2.0.

Configuration over serial for sketch version 3.0.


If calibration is required only ICAL has any effect on the calibration.

VCAL and PHASECAL might be present in the config but have no effect. These should be ignored.

Default Data Output

Using the manufacture firmware the data output is:

NodeID P1 P2 P3 Temperature

P1 being the estimated Power using CT1. `Estimated Power` computes power multiplying Irms by Vest. Where Vest is the estimated Voltage setup in the config. By default Vest=240V we recommend to change this to 220V or 110V if your local voltage supply differ.

If you prefer having current in Amperes rather than Power in Watt set VEST=1 in the configuration. In the same manner you can set VEST=1000 to get milliAmperes.

Emoncms Config (Emonhub)

For default configuration. Used as single board only (not stacked).

   nodename = RPICT1T1
   firmware = RPICT3T1_V1_1.ino
   hardware = RPICT3T1
       names = Power1,Power2,Power3,Temperature
       datacode = 0
       scales = 1,1,1,1
       units = W,W,W,C

Python demo script

First of all make sure you have python-serial package installed

$ sudo apt-get install python-serial

Then copy the following into an executable file and run it.

import serial
ser = serial.Serial('/dev/ttyAMA0', 38400)

       while 1:
            # Read one line from the serial buffer
            line = ser.readline()

            # Remove the trailing carriage return line feed
            line = line[:-2]

            # Create an array of the data
            Z = line.split(' ')

            # Print it nicely
            print ("----------")
            for i in range(len(Z)):
                if i==0:
                    print ("NodeID: %s" % Z[0])
                elif i in [1,2,3]:
                    print ("Power %d: %s W" % (i, Z[i]))
                elif i==4:
                    print ("Temperature: %s C" % (Z[i]))
except KeyboardInterrupt:


Please verify which board version is yours. This is written on the circuit board itself.

Hardware Version 1.3

IMG 1208 small.png

Default Sketch v1.3
Default Sketch v1.4

Hardware Version 2.1

Default Sketch v3.1
Default Sketch v3.2
Default Sketch v3.3 → current default for sold units.

CAD Drawing

Rpict3t1 drawing 01.png

Related Pages

Use Emonhub with RPICT


How to program an Attiny85 or Attiny84