RPICT4V3 Version 5

From lechacal
Revision as of 12:03, 22 July 2022 by Administrator (Talk | contribs)

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

RPICT4V3 Master Version 5

Link to the shop.png

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


  • 4 AC current sensors.
  • 3 AC Voltage sensors.
  • Compute real power.
  • Fit on Raspberrypi 4 holes mounting pattern.
  • AtMega328 Mcu (Arduino UNO)
  • MCP3208 12 bits ADC
  • Stackable (up to 5 boards together)

20220405 103740 small.png


A typical application for the RPICT4V3 is 3 phase systems power reading. The 3 voltages are coupled with 3 CT to perform power computation on each line.

3 phase diagram rpict4v3.png

Another use of the RPICT4V3 is for computing power on single phase lines that have different voltages.

The use of 3 phase or individual phase is selectable in the configuration of the device.


Version Compatible?
Raspberrypi 1 A No
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 won't be able to provide support for the Tinkerboard.

Recommended sensors

  • AC Current sensor:
    • SCT-013-000 100A/50mA
    • SCT-019 200A/33mA
    • SCT-006 20A/25mA
    • SCT-024 400A/100mA
    • SCT-031 600A/100mA
  • AC Voltage sensor:

VOLTAGE OUTPUT CT SUCH AS SCT-013-030 and other SCT-013-0XX ARE NOT COMPATIBLE WITH THIS BOARD. Only use the SCT-013-000 which is a current output CT.

IMG 1239 small.png

Stacking Configuration

General stacking information is described in the RPICT stacking page.

RPICT_Stacking Version 5

Software Configuration

Legacy firmware

For any units ordered before the 1st of February 2022 the firmware version is version 3. Follow this link below for configuration. If possible upgrade to firmware version 4.
Before 1st March 22 RPICT4V3 Configuration
Upgrading to sketch version 4

Configuration via web interface

First make sure the lcl-package is installed if not done already.

wget lechacal.com/RPICT/tools/lcl-rpict-package_latest.deb
sudo dpkg -i lcl-rpict-package_latest.deb

Now starts a server instance on the Raspberrypi using.


You can now access the Raspberrypi configuration server if you point your browser to the link below


You can now edit the configuration.

Screenshot 2021-11-01 20-22-56.png

An online version of this web interface exists on this link below.


Configuration via command line

The documentation for serial configuration can be found on this page.

The tool to upload the configuration is called lcl-rpict-config.py. To read the configuration use

lcl-rpict-config.py -a

This produce the /tmp/rpict.conf file containing the configuration of the device.

One can modify this file and write it back using

lcl-rpict-config.py -a -w /tmp/rpict.conf


Unit are sold with the sketch below already loaded.

Default Sketch V4.1.0.

If needed this sketch can be loaded directly from the Raspberrypi following this guide and executing the commands below.

wget lechacal.com/RPICT/sketch/RPICT_MCP3208_v4.1.0.ino.hex
lcl-upload-sketch RPICT_MCP3208_v4.1.0.ino.hex

Simple Python Example

The example python script below will work well with the default configuration.

 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
            if len(Z)>16:
                print ("----------")
                print ("          \tCT1\tCT2\tCT3\tCT4") 
                print ("Vrms     :\t%s\t%s\t%s\t%s" % (Z[1], Z[2], Z[3], Z[4]))
                print ("RealPower:\t%s\t%s\t%s\t%s" % (Z[5], Z[6], Z[7], Z[8]))
                print ("Irms     :\t%s\t%s\t%s\t%s" % (Z[9], Z[10], Z[11], Z[12]))
                print ("P Factor :\t%s\t%s\t%s\t%s" % (Z[13], Z[14], Z[15], Z[16]))
 except KeyboardInterrupt:

To run this first of all make sure you have python-serial package installed

$ sudo apt-get install python3-serial

Then run the command below to download the script.

wget lechacal.com/RPICT/example/RPICT4V3_DEMO_02.py.zip
unzip RPICT4V3_DEMO_02.py.zip

and run it using

python RPICT4V3_DEMO_02.py

Data Output

The default data output is:

NodeID P1 P2 P3 Irms1 Irms2 Irms3 Irms4 Vrms1 Vrms2 Vrms3

Real Powers are computed using the following rules:

P1 -> CT1 & V1
P2 -> CT2 & V2
P3 -> CT3 & V3
Irms4 -> CT4

P1, P2 and P3 are active power (or real power).

These rules can be modified in the configuration if needed.

Other output type can be streamed out. This should be configured in the unit.

All outputs type available are

  • Vrms (V)
  • Irms (A)
  • Real Power (W)
  • Apparent Power (W)
  • Power Factor
  • Estimated Power

Restore Default Config

You should have received a key when acquiring the unit. Use this key to download and restore the default configuration.
If the key was XXXX then execute these commands below. Replace XXXX with your own key.

$ wget lechacal.com/hardware/c/XXXX.conf
$ lcl-rpict-config.py -a -w XXXX.conf

Emoncms Config (Emonhub)

Make sure you read this first.

For the default configuration use the configuration below.

   nodename = RPICT4V3
   hardware = RPICT4V3
       names = P1,P2,P3,Irms1,Irms2,Irms3,Irms4,Vrms1,Vrms2,Vrms3
       datacode = 0
       scales = 1,1,1,1,1,1,1,1,1,1
       units = W,W,W,A,A,A,A,V,V,V


Enclosures kit are available as a 3D printed product. Link to the shop.

Both Raspberrypi 3 and 4 format are available.


Related Pages



How to calibrate the Voltage Port

Upload Arduino sketch from Raspberrypi to RPICT

Use Emonhub with RPICT

2 Watt Meter method