Skip to main content

[BETA] Link Arduino and Python using serial port

Project description



For Arduino

  • Clone the repo
  • Compress the seriarduino_cpp folder into

Note: You can also download from the releases

  • Open the Arduino IDE
  • Go into Sketch > Include a library and add the library from the file

For Python (tested on Raspbian)

  • Clone the repo OR uncompress the file from the releases

  • Open the seriarduino_py folder in a terminal

  • In the terminal, enter ./ install


The following sample is linking an Arduino with a Raspberry Pi:

Arduino side

#include <SeriArduino.h>

SeriArduino raspberry;

String input;
float value;

void setup () {
    // We set the serial to 9600 bauds (be sure to use the same on the Python side)

void loop() {
    // If raspberry gets any data
    if(raspberry.available()) {
        // We read the data and save it into the "input" variable
        input =;

	    // We convert the input into a float,
        // to do some computations later
	    value = input.toFloat();

        Serial.println("We got a " + String(value));

	    // A simple computation
	    value = value * 2;

	    // We send the new data to the Raspberry Pi


Python side (Raspberry Pi)

from seriarduino import SeriArduino

arduino = SeriArduino(bauds = 9600)

while True:
	# We ask what value to send
	val = input("Value to send: ")

	# We send to Arduino this value
 	print ("Value sent: ", val)

	# We wait for the answer
	answer =

	print ("The Arduino answer is: ", answer)

By default, SeriArduino will try to find the serial address, but you can also manually specify it by using the address argument on the constructor (e.g. SeriArduino(address = "/dev/ttyACM0"))

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

seriarduino-0.1.0.tar.gz (2.3 kB view hashes)

Uploaded source

Built Distributions

seriarduino-0.1.0-py3-none-any.whl (2.6 kB view hashes)

Uploaded py3

seriarduino-0.1.0-py2-none-any.whl (2.6 kB view hashes)

Uploaded py2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page