DarComm is a simple Serial Port plotter and debugger. Taking its data from the device (tagged headers and data) it displays the serial output:
  1. The straight serial output
  2. A table of the latest data entries (with headings describing each one)
  3. A table of the last received data entries
  4. A series of user-defined graphs to plot the data recieved

It can also:

  1. Limit the displayed data to the 'n' received item.
  2. Record every 'n' item(s) of received data to a series of .csv files.
  3. Save and load the configuration to share with colleagues / clients.

Description of DarComm

This is a simple application, written in Java and SWT to connect to and monitor and record output from a serial connection. I wrote it for personal use really but thought some people might like to have it so have supplied the executable .JAR files for your pleasure.
This application listens for messages, data, and data headings. It uses this tagged information to show it to you. For an example, check out the Arduino sketch below:
int counter = 0;
bool isLabels = true;

void setup() {
  // put your setup code here, to run once:
  if (isLabels) {
    Serial.println("Hello, this is the application title");

void loop() {
  // put your main code here, to run repeatedly:
  if (++counter % 50 == 0 && isLabels) {
  Serial.print(random(0,10) > 5 ? "true" : "false");
  Serial.print(counter % 50);
  Serial.print(sin(counter / 5.0));
As you can see, there are a number of things to note:
  1. Data needs to start with "{D}"
  2. Data needs to be separated with a pipe: "|"
  3. Headings need to correspond to the data, 3 headings, 3 columns of data please.
  4. Headings start with "{H}" and are again separated with a pipe: "|"
  5. Don't print out too many headings, it is not required.
  6. Any straight text will show in the plain "comments" section of DarComm so you can send yourself useful debugging or error information.

That's it. Your application can provide the context for the data so when you view it in DarComm it immediately makes sense. The DarComm application also saves your last configuration of graphs etc so you don't have to each time. You can also save this file and share it with team members / clients so they can see what you see when you send them your created hardware.


If you have any comments / requests please head on over to the comments page on this website and send me a message. Else download the .JAR for your system and check it out.

Linux PPC64 Dropbox Download java -jar DarComm-linux-ppc64.jar
Linux PPC64le Dropbox Download java -jar DarComm-linux-ppc64le.jar
Linux x86 64bit Dropbox Download java -jar DarComm-linux-x86_64.jar
Linux x86 Dropbox Download java -jar DarComm-linux-x86.jar
MacOS Dropbox Download

java -jar -XstartOnFirstThread DarComm-macosx-x86_64.jar

  Dropbox Download DarComm.sh is a simple MacOS script to run the jar.


Windows 64 bit architecture Dropbox Download

java -jar DarComm-Win32-x86_64.jar

or Double-click the jar. You might have to

r-click and "run as administrator"

Windows 32 bit architecture Dropbox Download java -jar DarComm-win32-x86.jar


As you can see it isn't the most prepared or packaged application. To run it you will need to ensure you have java 1.8 installed. Just go to oracle and get it if you don't, or are in doubt. Then put it somewhere nice and useful. If you are in windows you might be able to just double-click it. Or if you have restricted access you might have to right-click it and select to . On a mac or linux, bring up a terminal, navigate to where it is and enter the command specified to run the .JAR. I have included a shell script if you want for MacOS but it is just the command so doesn't really do much.


At some point in the future I might add functionality and package up as a proper application but for now this serves my purposes.

Copyright ©2017 Darker Waters LTD, All Rights Reserved.
Hit counter: 8124