Arduino Dashboard App


ArduinoDashboard is an application for viewing analog and digital pin sensor values from an arduino in real time. This can be used with any arduino sketch and now has compiled versions with no need to download ide. Sources included as well.

More Details:

Arduino Dashboard is a sketch/application.  This is just the beginning test version and is fairly basic.

This first version  will give you the analog value of pins A0-A6 as well as the digital pins of 1-13.

To Use the Dashboard:

** UPDATE**    There is now a compiled version of ArduinoDashboard that you can use without having to install  Each version also has a folder with the an arduino sketch that you can copy the function from as well.  I’ll leave the instructions for using the source with processing for those who want to use it that way as well.

  1. Download compiled versions:

  2. Copy and Paste function from ArduinoDashboard arduino sketch into your existing sketch
  3. Load your arduino sketch to your arduino (wait for the sketch to fully upload!)
  4. Run the ArduinoDashboard.exe file


  1. Make sure you have the ide installed
    For now you will have to have the ide downloaded, but I plan to package it on it’s own as soon as I can

  2. Download the Arduino Dashboard processing sketch and unzip/unrar
    Arduino Dashboard Rar File

  3. Copy and paste the following function into the end of your arduino sketch and call the function from your loop
    (Make sure you have  ”Serial.begin (9600); ” in the setup portion of your sketch as well.

    void dashboard() {
      int sensorValue1, sensorValue2, sensorValue3, sensorValue4, sensorValue5,sensorValue6, sensorValue7, sensorValue8, sensorValue9, sensorValue10, sensorValue11, sensorValue12, sensorValue13,
      sensorValue14, sensorValue15, sensorValue16, sensorValue17, sensorValue18, sensorValue19;
      sensorValue1 = analogRead(A0);      // read sensor in analog input 0
      sensorValue2 = analogRead(A1);      // read sensor in analog input 1
      sensorValue3 = analogRead(A2);      // read sensor in analog input 2
      sensorValue4 = analogRead(A3);      // read sensor in analog input 3
      sensorValue5 = analogRead(A4);      // read sensor in analog input 4
      sensorValue6 = analogRead(A5);      // read sensor in analog input 5
      sensorValue7 = digitalRead(1);      // read sensor in analog input 6
      sensorValue8 = digitalRead(2);      // read sensor in analog input 6
      sensorValue9 = digitalRead(3);      // read sensor in analog input 6
      sensorValue10 = digitalRead(4);      // read sensor in analog input 6
      sensorValue11= digitalRead(5);      // read sensor in analog input 6
      sensorValue12= digitalRead(6);      // read sensor in analog input 6
      sensorValue13= digitalRead(7);      // read sensor in analog input 6
      sensorValue14= digitalRead(8);      // read sensor in analog input 6
      sensorValue15= digitalRead(9);      // read sensor in analog input 6
      sensorValue16 = digitalRead(10);      // read sensor in analog input 6
      sensorValue17 = digitalRead(11);      // read sensor in analog input 6
      sensorValue18 = digitalRead(12);      // read sensor in analog input 6
      sensorValue19 = digitalRead(13);      // read sensor in analog input 6
      Serial.print(sensorValue1, DEC);   // print sensor 1
      Serial.print(",");                 // print ','
      Serial.print(sensorValue2, DEC);   // print sensor 2
      Serial.print(",");                 // print ','
      Serial.print(sensorValue3, DEC);   // print sensor 3
      Serial.print(",");                 // print ','
     Serial.print(sensorValue4, DEC);    // print sensor 4
      Serial.print(",");                 // print ','
     Serial.print(sensorValue5, DEC);    // print sensor 5
      Serial.print(",");                 // print ','
       Serial.print(sensorValue6, DEC);   // print sensor 6
      Serial.print(",");                 // print ','
       Serial.print(sensorValue7);   // print sensor 7
      Serial.print(",");                 // print ','
       Serial.print(sensorValue8);   // print sensor 7
      Serial.print(",");                 // print ','
       Serial.print(sensorValue9);   // print sensor 9
      Serial.print(",");                 // print ','
       Serial.print(sensorValue10);   // print sensor 10
      Serial.print(",");                 // print ','
       Serial.print(sensorValue11);   // print sensor 11
      Serial.print(",");                 // print ','
       Serial.print(sensorValue12);   // print sensor 12
      Serial.print(",");                 // print ','
       Serial.print(sensorValue13);   // print sensor 13
      Serial.print(",");                 // print ','
       Serial.print(sensorValue14);   // print sensor 14
      Serial.print(",");                 // print ','
       Serial.print(sensorValue15);   // print sensor 15
      Serial.print(",");                 // print ','
       Serial.print(sensorValue16);   // print sensor 16
      Serial.print(",");                 // print ','
       Serial.print(sensorValue17);   // print sensor 17
      Serial.print(",");                 // print ','
       Serial.print(sensorValue18);   // print sensor 18
      Serial.print(",");                 // print ','
      Serial.print(sensorValue19); // print sensor 19 and newline (println)
      delay(200);   // wait 200ms for next reading

  4. Upload your arduino sketch
  5. Start the Arduino Dashboard.pde sketch from processing

Planned Upgrades:

  • Ability to choose number of Pins to monitor
  • Classify pins as I/O
  • Choose arduino type to set additional layouts and number of pins
  • Choose color per pin for High/Low
  • Custom alerts based on variables or pins
  • Choice of graphs, buttons, or guages for each pin or variable
  • much more I’m sure

Photo Gallery:

    Category: Arduino Dashboard, Project Showcase


    17 Responses

    1. RobotGrrl says:

      You might want to try to communicate at a faster speed (115200), and make a smaller delay at the end.

      Looking forward to your upgrades! :)

    2. [...] So if you’re knee deep in an Arduino-based project and you want to constantly monitor all of the micro’s pins, what’s the best way to go about it? [Jonathan Clark] from LVL1 in Louisville was looking to keep a closer eye on his board and whipped up an application he calls ArduinoDashboard. [...]

    3. Daniel says:

      You can read the first 8 digital inputs as a single instruction:

      value = PIND; //

      Serial.print(value & (1<<n) != 0); for n from 0 to 7 to separate the bits. You could also just send the hexadecimal value to your Processing script.

    4. Mike says:

      Thanks for this! It actually taught me more about the arduino. I had no Idea you could interpret arduino with processing!

    5. require says:

      Hm, the 64 bit compiled version of the dashboard wont start. The process is there but the window wont pop up. The 32 bit version starts and a window shows up but it is empty and gray. What am I doing wrong?
      Serial.begin in setup, dashboard in loop and at the end. The other code is just the Blink example from the Arduino IDE.

    6. require says:

      Well, my Arduino Uno is sending stuff. Tx blinks and the serial monitor displays output. Hmm

    7. nonoodlez says:

      This is a fantastic idea! Thanks for putting this together

    8. darkone says:

      i can’t seem to get it to work i get this error

      WARNING: RXTX Version mismatch
      Jar version = RXTX-2.2pre1
      native lib Version = RXTX-2.2pre2
      [0] “COM4″

      oh well i guess it will get fixed in ver .2

      its a great idea

    9. [...] Arduino Dashboard App – LVL1 ArduinoDashboard is an application for viewing analog and digital pin sensor values from an arduino in real time. This can be used with any arduino sketch and now has compiled versions with no need to download ide. Sources included as well. (tags: tools tutorial arduino visualization) Categories: Delicious bookmarks. Bookmark the permalink. Leave a comment [...]

    10. Adam says:

      I am trying to download this file but it is asking what program do I want to use to open this. Do you have any suggestions. Sorry if this is a very basic question, but I am very new to this and just got my first Arduino board.

    11. jpugh says:

      The program is compressed in a RAR file. If you are on windows you can use a program like winrar. I think Ubuntu has a package called rar in the repo that should let you open it.

    12. Sami says:

      For the purpose of my own use, I have taken the code and converted it to work for a MEGA. Would anybody be interested in that code? Or hosting it?

    13. Arduino Guy says:

      I’m running the Dashboard app from source, it displays an empty window.

      I’ve compiled & downloaded the code for the Arduino, and verified my Arduino
      is writing to the serial port.

      I had to modify the Dashboard app to read from the correct serial port.
      Windows maps the com ports however it wants.

      The COM port required by the dashboard is NOT ALWAYS Serial.list()[0]

      The Dashboard app should allow the user to input the index of the COM port, so the
      user doesn’t have to recompile it.

    14. [...] Download it now! Categories: Arduino, Open Source, Software, Utilities Tags: Adruino, Open Source Software, Utility Comments (0) Trackbacks (0) Leave a comment Trackback [...]

    15. Ankit says:

      I was trying to download the .rar file, but couldn’t. It is showing path does not exist.
      Please look into the problem.


    16. Ankit says:

      download link is redirecting to some other site.
      unable to download the files. Please update the link.
      or please mail me an alternative download link for the source code files.

      mail me at
      thank you.

    17. Marcelo Klinger says:

      Também não consegui fazer o download do Arduino Dashboard …!!
      O link vai para outro local, gostaria de saber se tem outro link, alguém pode ajudar …?!
      Grato pela ajuda !!

    Leave a Reply