Arduino Data Visualization Software

Hi All

I have been experimenting with a Data Capture and Visualization software for Arduino written in Processing and would like to share the results with the community. This is the first Alpha release of the software. See github link below to try out. This application works on the desktop to capture serial data sent from any Arduino board.

The first alpha release of Duino DCS. Currently supports viewing of data from four sensors connected to an Arduino. Can view data as:

  • All sensors on a single 2D graph
  • All sensors on a live moving 2D graph
  • All sensors on multiple 2D graphs
  • Single sensor on a single 2D graph

It currently supports:

  • The live capturing and saving of data at intervals of one second and up.
  • The exporting of data as csv, pdf and svg files.


i'm new!whats duino?this app work on an arduino uno card?with 4 or 5 sensor?

So I created this application to work on the PC. Am currently using it in school to capture serial data sent from any Arduino project to save data and add to project reports etc. At the moment it can capture data sent from any Arduino board with up to 4 different serial tags. See example Arduino Code below. The first picture above shows Duino DCS (Data Capture Software) setup to capture serial data send from an Uno program with this code. ( The GetError() and CalculatePID() functions are missing)

float Temperature = 0;
long Error1[10];
int syetemValue = 0;

void setup() {

  pinMode(A0, INPUT);

void loop() {
  // Read analog values
  float var2 = 1024 - analogRead(0);
  float Resistance = (98 * var2) / (1024 - var2);  //98k resistor in series with the 503 thermister

  // Calculate temperature
  float Ln_Resist = log(Resistance);
  float Temp = log(Resistance);
  float Ln_Resist3 = Ln_Resist * Ln_Resist * Ln_Resist;
  Temperature = (1 / (0.00237531 + 0.00024632 * Ln_Resist + 0.00000028 * Ln_Resist3) - 273);

  // Print output with the Celsius serial tag/identifier
  Serial.print("Celsius: ");  // Serial Identifier for Duino DCS to read. New data begin at this point
  Serial.print(Temperature); // output current temperature value
  Serial.println(" "); // serial tag terminator. New data ends at this point
  //End of output for Celsius serial tag/identifier

  GetError(Temperature, 35, Error1); // Function to get error for PID control
  Serial.print("PID: ");  // Serial Identifier for Duino DCS to read
  int pid = CalculatePID(2000, 250, 5, Error1, 0) / 4; // Function to calculate PID
  Serial.print((pid / 4)); //PID Output
  Serial.println(" ");

  Serial.print("Heater: "); // Serial Identifier for Duino DCS to read
  int val;
  if (pid >= 47) val = 10; else val = 0;
  Serial.print(val); // Heater state output
  Serial.println(" ");

}//End of Function