openQCM Wiki

Marco Mauro edited this page Sep 19, 2018 · 1 revision

openQCM - Java Software Wiki



This is the basic software version of openQCM the first opensource quartz crystal microbalance.

The openQCM software is written in Java, as the Arduino IDE. It can communicate to the serial port via the RXTX library, refer to Arduino Playground for more info about Arduino and Java interfacing. openQCM software uses Ardulink , the open source Java solution for the control and coordination of Arduino boards.

Arduino board communicates the frequency and temperature data to your computer. The main features openQCM software are:

  • Manage the communication with openQCM via serial port.
  • Display frequency and temperature data with realtime charts.
  • Save data in a text file for further analysis

openQCM is developed in NetBeans 8.0 IDE. The project is available on github repositories. You can join the community and contribute to the development of the open source software. Alternatively, you can download the entire project as it is.

openQCM is a free software licensed under GNU GPL v3.0 General Public License

System Configuration

Configure your system for using openQCM software.

Java Environment

Download Java SE Development Kit JDK 8u20 x86 and NetBeans 8.0.1. Note Windows user have to download x86 version (32 bit).

The JDK includes the JRE (Java Runtime Environment), so you do not have to download both separately.JDK includes the Java SE bundle of NetBeans IDE, which is a the integrated development environment for developing applications on the Java platform.

Follow the installation wizard. Now your system is able to developing and running java programs. Note Before installing JDK be sure to uninstall all the previous version of java in your computer.

RXTX Library

openQCM software can communicate with the serial port via the RXTX Java library. Download the RXTX library files.

For more info on setting up the RXTX library see the page Arduino and Java on the Arduino Playground.


  • Find the directory in which you have installed JDK and navigate to the jre directory:

C:\Program Files (x86)\Java\jdk1.8.0_20\jre

  • Open the folder containing the RXTX library and copy the following files in the java directories:

RXTXcomm.jar -> …\lib\ext

rxtxSerial.dll -> …\bin

Mac OS X

  • Copy RXTXcomm.jar from the library folder to /Library/Java/Extensions

  • Copy the MAC_OS_X/librxtxSerial.jnilib (or, if this version does not work for you, obtain a 64 bit compiled version) and paste into /Library/Java/Extensions

  • Append the directory containing librxtxSerial.jnilib files into your DYLD_LIBRARY_PATH environment variable, using the following command

export DYLD_LIBRARY_PATH = /Library/Java/Extensions

You can encounter some issues with Mac OS X permissions and locking port system. In this case follow these instructions:

  • Open terminal and create the lock directory (as root) by using the following command:

sudo mkdir /var/lock

  • Apply the right permissions to the /var/lock directory by using these command:

sudo dscl . -append /groups/_uucp GroupMembership username

sudo chgrp uucp /var/lock

sudo chmod 775 /var/lock



NetBeans IDE


Download openQCM project as zip folder from the github repository. The environment is setting up to load all the libraries necessary to run the project. Import the zip folder in NetBeans IDE environment: File > Import Project > from zip

NetBeans and GitHub

If you want to join the community and contribute to the development of the open source software you have to setting up the NetBeans IDE. Follow this video for setting up a GitHub repositories using NetBeans IDE. Thanks to the authors: Ondrej Vrabec, Alyona Stashkova

openQCM Software Interface (basic version)


openQCM basic user interface consists of:

  • Real time chart of QCM frequency and temperature data. The chart is interactive, you can zoom the panel, save image, etc.
  • Display the current QCM frequency and tempearture data
  • Auto dection of the port connected to openQCM
  • Setting the serial port connection
  • Save data file in ASCII format
  • Clear Graph to erase the current real time chart
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.