Picture of Plotly + Arduino Data Visualization
Plot.ly + Arduino Data Visualization

I've been a fan of Arduino for years now, and have used it for building everything from MIDI controllers to simple LED flashers. One thing that has always intrigued me has been visualizing some of the data that I read off of the Arduino Pins.

Plot.ly makes this simple. Really simple.

The purpose of this instructable is to demonstrate how to hook up an Arduino + Ethernet Shield and send data to Plot.ly's Servers and create beautiful graphs. We will be using a dual temperature+humidity sensor (DHT22), and sending the results directly to Plotly.

Step 1: What you will need:

Picture of What you will need:

(We will explain how to install the libraries in a later step)

  • Two pieces of (2 1/2" x 3 1/2" ) wood (1/4" thick)
  • Four (10-32x2in) Machine Screws
  • 12 Hex Nuts (10-32 Diameter)

1-40 of 52Next »
snoop91123 days ago

What kind of data thruput could one reasonably expect using an arduino and a cc3100 wifi shield?

From the networking programming side, is there anything that can be done to maximize the data rate? For example, first establishing a connection with the plot.ly api and servers, then sending the arduino data to the server using udp?

isenguard142 months ago

i thought i'm not gonna make it I built the code

VanchinathanV2 months ago


When I try my streaming URL https://plot.ly/~vanchiramani/57.json for getting the data in json format, it gives the following output:


"data": [


"stream": {

"token": "your_stream_token_here",

"maxpoints": 100


"type": "scatter"



"stream": {

"token": "your_stream_token_here",

"maxpoints": 100


"type": "scatter"




Do you know how I can get the data is json format?

yeti93 months ago


Thanks for this instructable. Everithing works fine but I get a drift of Time stamp on plot.ly. Do you know what should I do to correct this drift ?


UbaidI4 months ago

Everything connects fine but I can't find the stream when I go to my plot.ly filewell. I keep getting the following error even after re-trying several times. Can you help me?

JohnS814 months ago

How to configure the Arduino to work with plot.ly through a router ?
I used ADSL router and thus IP changes frequently . In the sketch Arduino, in this article , you need to specify a constant external (White ) IP. But it is constantly changing for me, and the DHCP function for some reason does not work in Arduino . How to set up a job with the service plot.ly Arduino using a router and assigning Arduino local IP type
Thank you in advance for your help !!
Igor .

BharathK9 JohnS814 months ago

Try allocating a Static IP for your Arduino Device.

1. Login to your Router ( from a browser

2. Learn to assign static IP lease (varies for every router).

It usually asks for your device's MAC address(mentioned on a sticker attached with the Ethernet shield) and for an IP to be allocated for the corresponding device.

Now the particular IP is always assigned only to the Arduino and never to other device even when the Shield is disconnected.

Image shows how-to for my router ( local brand ).

static IP lease.png
JohnS81 BharathK94 months ago


Thank you very much! I set up the router for your advice. Everything works!

BharathK9 JohnS814 months ago

Always happy to help.

Good luck,


arunkannu0075 months ago

plotly_streaming_ethernet library is not detected by arduino .. please help !


I am facing an error....

plotly graph= plotly ("user name", "api", "1st token","2 nd token", "which file name", "what");

would you tell me?

JoshuaA27 months ago

I try running the sample code but I keep getting this error:

'plotly' does not have a name type

Any help/suggestions would be appreciated.

erenecass7 months ago

PLEASE HELP. been having this problem

plotly error.PNG
erenecass7 months ago

Hi! I would like to monitor two sensor data & plot them on two separate graphs. I have edited the "simple_cc3000.ino" in the example folder foundhere --> https://github.com/plotly/arduino-api/archive/master.zip BUT the data from the two sensors are plotted on the same graph. how do i separate them?

jwei20148 months ago

Hi everyone,

May I ask if it is possible to put multiple temperature sensors into one set of Arduino equipment? I have many temperature sensors (up to 24) and I am looking for a way to streamline the data and plot the measurement of each in real time.

Thanks so much in advance!

vintesh made it!10 months ago

Hi Five.

MichaelJ21 year ago

Hi - this is amazing ... the ability to stream to Plotly is fantastic ... but I can't get it to work - is there anybody that can assist and maybe look over my code. I just can;t see where I'm going wrong! It's so frustrating,

Hi Michael,

Have you solved? If not, describe your problem and I will try to help.



Hi Alejandro, thank you for the response.

No it does still not work. My graph gets created but no data is logged at all. I can see data flowing to Plot.ly and I have triple checked my username, code and token details. I connect to Plotly, data streams but nothing is ever graphed.

I can email you the code and the screenshots etc. if it will help.

I've not heard back form the Plot.ly team recently - it's been a month that I've been trying to get some support from them so any help you can provide I'll be very grateful for.

Hi Michael,

I sent you my email address, please send your code and I will have a look.



Hi Alejandro

Thanks you so much for your offer to help - very much appreciated!

I managed to get in contact with the Plotly team and they were able to assist me - it's working now :)

Thanks again!

Hi Michael

Great to know that it is working now.

Best regards


mba711 months ago

I made an equivalent tool in python that print real time data from ADXL345 accelerometer.


may be it will be helpful for someone

joeybab312 months ago

is there a way to store this in a flat file (.txt or somethingrather) and than upload it to plotly? this would be useful on a quadracopter.

Thank you very much for this Instructable. I followed every step and now I am streaming PM2.5 and WBGT data from an Arduino.

I can visualize the values that are sent from the remotely unit, without being at that place.



plotlygraphs (author)  AlejandroB11 year ago
zuljin1 year ago

Could somebody upload the sketch modification for ENC28j60 please? I can't find it anywhere :S

Shirk271 year ago

Been having a problem with the programming side of this, getting an error that seems to be from the IDE not including the libraries correctly.

plotlyethernettemphumid:13: error: no matching function for call to 'plotly::plotly()'

Here is the console

Nook1 Shirk271 year ago

I'm having the same problem.

As mentioned in the site the libraries should be placed like:

  • Arduino/

    • hardware/
    • libraries/

      • plotly_ethernet/

        • plotly_ethernet.cpp
        • plotly_ethernet.h
      • DHT/

        • DHT.cpp
        • DHT.h

But after downloading the libraries , I'm getting:
I think that's the problem.

did u solved?

plotlygraphs (author)  focamonca1 year ago

Hi all! So sorry for the broken pieces. We updated the Arduino library (https://https://github.com/plotly/arduino-api) but forgot to update the instructable examples. I just updated the example code with the new library, so give a try now!

WOW plotly great support to who has problems!

Yeah, this problem was solved by me. All you have to do is update the libraries with the files plotly_ethernet.cpp and plotly_ethernet.h you will get them here:


The link given at this site are updated libraries as they are for streaming purposes so when you download you will get "plotly_streaming_ethernet.cpp" and "plotly_streaming_ethernet.h" but in given code we have used "plotly_ethernet.cpp and plotly_ethernet.h", so use the libraries from gist.github.

If you want to use the updated libraries and use streaming tokens and get the graph, use this sample sketch:


use these libraries for the sketch:

(before all this make sure that your network has DHCP enabled, otherwise plotly's servers won't be to communicate with the shield).

plotlygraphs (author)  Shirk271 year ago

Thanks for reporting! We updated the Arduino library (https://github.com/plotly/arduino-api) so that the graphs update in real-time (here is an example: plot.ly/~streaming-demos/6/) but forgot to point this instructable to the new code. I just updated the example code, so give it another try now! So sorry for the inconvienence.

focamonca1 year ago


plotlygraphs (author)  focamonca1 year ago

hey dude! Check out the post up above, and e-mail me at alexandre@plot.ly if you're having problems with the new library. I'll update this 'ible ASAP.

Thank you for your patience

plotlygraphs (author) 1 year ago

Hey guys!

Sorry about the issues you've been having. We recently updated our Libraries to include streaming!

I'll make sure to fix this 'ible ASAP, but for now if you want to check out:

There is a new script and library there, you can read all about it!

Let me know if you have any issues, feel free to email me:


focamonca1 year ago

PLEASE plotly help us with problems

drmpf1 year ago

If you want to do something similar but plot and save the data on your Android phone via bluetooth or wifi check out

"Simple Remote Data Plotting using Android / Arduino / pfodApp" http://www.instructables.com/id/Simple-Remote-Data...

and "Arduino for Beginners, now with data plotting, controlled by Android" http://www.instructables.com/id/Arduino-for-Beginn...

1-40 of 52Next »