Skip to content

RPICT8

RPICT8

RPICT8 Version 2 and 3 are no longer produced. Use Version 5 or 6v instead.
Get in touch with us if you need to order some version 3 for stacking onto existing version 3.

RPICT8 is a Raspberry Pi hat for energy monitoring

Link to shop

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

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

Compatibility

Version Compatible?
Raspberrypi 1 A No
Raspberrypi 1 B+ Yes
Raspberrypi 2 B Yes
Raspberrypi 3 B Yes
Raspberrypi 3 B+ Yes RPICT8 v3.0
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.

AC Current sensor

  • SCT-013-000
  • SCT-006
  • SCT-019

Only current output CT are supported.

RPICT8 connected with a SCT-013-000 for 100A current sensing

Stacking Configuration

General stacking information is described in the RPICT stacking page. RPICT_Stacking

Software Configuration

Legacy firmware

For any units ordered before the 1st of February 2022 the firmware version is version 3.
Please upgrade to firmware version 4.

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.

lcl-server.sh

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

http://raspberrypi:8000/

You can now edit the configuration.

Web tool configuration interface for iot system

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

http://lechacal.com/RPICT/config/generator/latest/index.html

Because the RPICT8 version3 does not support auto reset you must use press the white button just after having clicked on the upload to device button.

Configuration via command line

The documentation for serial configuration can be found on this page.
Over_Serial_Configuration_-_Sketch_4
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

RPICT8 hat mounted on Raspberry Pi 3

Files

Default Sketch

Default Sketch V4.2.1.

Default Data Output

Using the manufacture firmware the data output is:

NodeID P1 P2 P3 P4 P4 P5 P6 P7 P8

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.

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

All outputs type available are

  • Estimated Power (W)
  • Irms (mA)

If stacked with another unit that include a voltage port the following outputs can also be added:

  • Real Power (W)
  • Apparent Power (W)
  • Power Factor
  • Vrms (V)

Emoncms Config (Emonhub)

Make you read this first.

For default configuration.

[[/11|11]]
nodename = RPICT8
hardware = RPICT8
[[[rx]]]
names = Power1, Power2, Power3, Power4, Power5, Power6, Power7, Power8
datacode = 0
scales = 1,1,1,1,1,1,1,1
units = W,W,W,W,W,W,W,W

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.

 #!/usr/bin/python2
 import serial
 ser = serial.Serial('/dev/ttyAMA0', 38400)

 try:
        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])
                 else:
                     print ("Power %d: %s W" % (i, Z[i]))

 except KeyboardInterrupt:
        ser.close()

Enclosure

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

All Raspberrypi 3/4 and 5 format are available.

3D printed enclosure for energy monitoring system

Use Emonhub with RPICT

Howto setup Raspbian for serial read

Gen3_Passive_Component_Setup

Update RPICT firmware (CT7V1-CT4V3-CT8)