I'm very new to the Arduino world so bare with me. I would like to plot live data that I receive from my arduino. I use the Serial Monitor to read user input, show text, etc.

The only way I found to plot data from the arduino is by printing the data out in the serial monitor I would rather prefer the data not to be shown in the serial monitor at all (just from a visual standpoint) but I guess there is no way around it.

Anyways, I would like to read and plot the data only when the user makes a specific input into the Serial Monitor.

Let's say the user types in: "start" now the arduino prints out the values that needs to be plotted.

But every plotting tutorial on plotting with the arduino that I could find always prints out the data right from the start. I want to start the plotting with the specific user input.

I hope I could explain my question well enough. Thank you in advance for your help.


  • 1
    What plotting tutorials have you looked at? Have you tried programming a plotting application in processing? Then you should be able to write code, that will implement the mentioned interaction
    – chrisl
    Nov 26, 2020 at 10:41
  • the title does not match the question ... please correct it
    – jsotola
    Nov 26, 2020 at 11:11
  • You're right: Unfortunately, you cannot combine the SerialPlotter part of the Arduino IDE with the SerialMonitor tool in parallel. (COM port blocked). Check @chrisl's hint writing a PC application... Nov 26, 2020 at 12:20

2 Answers 2


You can also use the Serial Plotter in the Arduino IDE. If you use Serial.println(<some number>) and then open the Serial Plotter(Tools-Serial Plotter), you will see a live graph. Based on your baud rate, the update speed will change. It is very powerful.


Is using the Serial Monitor a requirement, or are you just looking for a good way to get and plot the data? If the latter, you may be interested in the open-source DaqPort sketch. https://www.daqarta.com/dw_rraa.htm This was created to use the Arduino as a peripheral for data acquisition, as opposed to the more typical case of the Arduino being the central device. With DaqPort you can program in any language you like on the host computer, and use it to plot data from the Arduino. The Daqarta software package that includes DaqPort has several examples that use Daqarta's macro language to implement a multi-channel chart recorder, high-speed multi-function oscilloscope, timers, signal generator, etc. You can use these for free, forever, even after Daqarta's 30-day trial ends. Since Daqarta already has plotting, you may find it simpler to use than rolling your own, perhaps by modifying one of the examples.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.