Jul 4, 2011
Arduino Dashboard App
Description:
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 processing.org ide. Sources included as well.

More Details:
Arduino Dashboard is a Processing.org 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 Processing.org. 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.
- Download compiled versions:
ArduinoDashboard_Win32
ArduinoDashboard_Win64
ArduinoDashboard_Linux32
ArduinoDashboard_Linux64
ArduinoDashboard_MacOSX - Copy and Paste function from ArduinoDashboard arduino sketch into your existing sketch
- Load your arduino sketch to your arduino (wait for the sketch to fully upload!)
- Run the ArduinoDashboard.exe file
OR
- Make sure you have the processing.org ide installed
For now you will have to have the processing.org ide downloaded, but I plan to package it on it’s own as soon as I can
http://processing.org/download/
- Download the Arduino Dashboard processing sketch and unzip/unrar
Arduino Dashboard Rar File
- 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) Serial.print("!"); delay(200); // wait 200ms for next reading - Upload your arduino sketch
- 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:


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!
[...] 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. [...]
You can read the first 8 digital inputs as a single instruction:
value = PIND; // http://arduino.cc/en/Hacking/PinMapping168
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.
Thanks for this! It actually taught me more about the arduino. I had no Idea you could interpret arduino with processing!
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.
Well, my Arduino Uno is sending stuff. Tx blinks and the serial monitor displays output. Hmm
This is a fantastic idea! Thanks for putting this together
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
[...] 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 processing.org ide. Sources included as well. (tags: tools tutorial arduino visualization) Categories: Delicious bookmarks. Bookmark the permalink. Leave a comment [...]
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.
Thanks
@Adam
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.
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?
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.
[...] Download it now! Categories: Arduino, Open Source, Software, Utilities Tags: Adruino, Open Source Software, Utility Comments (0) Trackbacks (0) Leave a comment Trackback [...]
I was trying to download the .rar file, but couldn’t. It is showing path does not exist.
Please look into the problem.
thanks.
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 ankit_sr@yahoo.co.in
thank you.
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 !!