David Escobar
Published © GPL3+

Arduino + Raspberry Pi + Ubidots Made Easy

Create an IOT dashboard using Arduino & Raspberry Pi.

BeginnerFull instructions provided16,354
Arduino + Raspberry Pi + Ubidots Made Easy

Things used in this project


Read more


Arduino + Raspberry Pi

Fritzing Diagram


Arduino IDE

upload to Arduino IDE
 * Project: Temperature Reading and uploading value to Ubidots
 * Created by: David Escobar

 const int analogTemp = A0; //temperature input pin

 void setup()
  //start serial communication

void loop()
  int tempRead = analogRead(analogTemp); //read analog value
  float voltage = (tempRead/1024.0) * 5.0; //convert to voltage
  float tempC = (voltage - .5) * 100; //convert voltage to celsius
  float tempF = (tempC * 1.8) + 32; //convert to fahrenheit
  Serial.println(tempF); //print value to serial port
  delay(10000); //wait 10 seconds before new reading

Python Code

Python serial connection, and uploading to Ubidots
import serial

from ubidots import ApiClient

print("Program Started")

api = ApiClient(token ='Insert your API token here') #update token

my_temp = api.get_variable('Insert your variable token here') #update variable ID

ser = serial.Serial('/dev/ttyACM0', 9600) #update with port for Arduino

while True:
    read_serial = ser.readline()
    tempReading = (float(read_serial)) #convert to float 
    new_value = my_temp.save_value({'value': tempReading})
    print(read_serial) #prints serial reading to python


David Escobar

David Escobar

7 projects • 37 followers
Healthcare Simulation Specialist. 9+ years in healthcare.I have been actively involved with 3D printing and electronics for the past 2 years
Thanks to AdrieSentosa.