My school has recently bought an Arduino.

Its original purpose was to allow to perform physics experiments in a more innovative way by automatically collecting data using some sensors.

However until a few weeks ago nobody used it. I started thinking about developing an easy to use software in order to connect the computer with the sensors available to the school and save the data on a CSV file.

This project took an entire weekend, but in the end I finished writing the software. It is a portable software written in Java, working on both Linux and Windows, that allows the user to connect with the Arduino, collect data, preview it on a real time chart, and then export the data on a CSV file. It has a complete and easy to use graphical interface, and it is packed in a single jar file, allowing it to be executed easily on any machine just by downloading the file and clicking on it.

I have also written a few Arduino sketches that allow different sensors to be used with JDAC.

The software is not open source yet, but I will publish the sources in a few weeks.

Afterwards I focused on another problem: the school currently has and uses calculators to collect data from some sensors. This is often quite complicated, since it requires the data to be saved on the calculator and then transferred to a pc via a USB cable.

The calculators use a 2.5mm jack to connect to the sensors through a central unit (Casio CLAB). I discovered that the jack was a 5V TTL serial port at a baud rate of 38400 (I found a PDF on Casio’s website, that also contains some description of the protocol used). I then reverse engineered the protocol and in a day I already had an Arduino sketch that allowed to connect to the central unit and use the sensors already available at school.