Howto setup Raspbian for serial read

From lechacal
Jump to: navigation, search

This howto will cover the steps to setup a Rasperrypi for reading CSV stream from RPICT series board.

Hardware and OS

This applies to all Raspberrypi. If using the image from Emoncms (emonpi) then this setup is not needed.

Tested with OS:
Raspbian Jessie 2017-06-21-raspbian-jessie.img
Raspbian Stretch 2017-09-07-raspbian-stretch-lite.img
Raspbian Stretch 2018-06-27-raspbian-stretch-lite.img
Raspbian Stretch 2018-10-09-raspbian-stretch-lite.img
Raspbian Stretch 2018-11-13-raspbian-stretch-lite.img
Raspbian Buster 2019-06-20-raspbian-buster-lite.img
Raspbian Buster 2020-02-13-raspbian-buster-lite.img

Rasberry Pi OS 2020-05-27-raspios-buster-armhf-lite.img
Rasberry Pi OS 2020-08-20-raspios-buster-armhf-lite.img
Rasberry Pi OS 2020-12-02-raspios-buster-armhf-lite.img
Rasberry Pi OS 2020-01-11-raspios-buster-armhf-lite.img
Rasberry Pi OS 2021-03-04-raspios-buster-armhf-lite.img
Rasberry Pi OS 2021-05-07-raspios-buster-armhf-lite..img



Download the image from the raspberrypi website.

Or you can directly get the torrent for the latest supported image from the links below:

Lite 2021-05-07

Desktop 2021-05-07


Write the image to the SD card. Follow instructions given by the raspberrypi website.


Once the image written create an empty file called ssh in the boot section of the image.


Power up the raspberrypi and connect it to the ethernet network.

From a computer access the raspberrypi with ssh.

Linux based OS

This is as simple as issuing.

$ ssh pi@raspberrypi

Use password raspberry

On other systems (windows, ios)

We recommend to use the putty tool. Download here
As above use
hostname: raspberrypi
user: pi
password: raspberry

This will give you access to a terminal window in which you can issue commands on the raspberrypi.


Run the raspi-config tool

$ sudo raspi-config

Then disable the login uart

3 Interface Options     <<-- Use option 5 Interfacing Options instead if using the image before 12 DEC 2020
P6 Serial

Would you like a login shell to be accessible over serial?
Select No to the login shell question.

Would you like the serial port hardware to be enabled?
Select Yes to the serial port hardware to be enabled question.

Select Ok at the summary.

Back at the menu select finish.

Would you like to reboot now?
Select No to the reboot question (we will do that later).


Update the Raspbian OS.

sudo apt-get update


This step must be performed regardless if you have a Raspberrypi 3 or 4.

Edit the /boot/config.txt file

$ sudo nano /boot/config.txt

At the end of the file add the following line:


(note the above will disable bluetooth - if bluetooth is needed do not execute this step and use ttyS0 instead of ttyAMA0 for what follows).
A one liner of the above command would be
sudo bash -c 'echo "dtoverlay=disable-bt" >> /boot/config.txt'

Save and Exit file.


Disable hciuart

sudo systemctl disable hciuart



sudo reboot & exit

return to the ssh session again once the raspberrypi up and running again.


Insert the RPICT board on the RPI. Configure and read from serial port

stty -F /dev/ttyAMA0 raw speed 38400
cat /dev/ttyAMA0

At that point the data will be shown on the terminal. This is an example with the RPICT3T1 below.
Screenshot 2021-03-12 21-27-04.png

Please refer to the dedicated page of the board for the details of each field.

The cat command above is the most basic form for reading out the data from any RPICT unit. Do not skip this test.


[OPTIONAL] It might be useful to get the board with all utilities ready at this point. Just issue the commands below:

sudo apt-get install python3-serial
sudo mv /usr/local/bin