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:
No photos available right now.
Please verify your settings, clear your RSS cache on the Slickr Flickr Admin page and check your Flickr feed
This post was submitted by jonc.



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?