JArduino is a Java API to program Arduino boards.
I am a core contributor on this project together with Franck Fleurey. This project is composed of a Java API, a C firmware for the Arduino code, and all the code for the communication between Arduino nodes and Java nodes, as described in our MODELS 2011 paper. Most of the code is generated from ThingML models. Jan Ole Skotterud also contributed to JArduino, in particular with an advanced Java GUI to control the Arduino board. Francois Fouquet provided support for Ethernet communication in addition to the default serial communication.
JArduino is hosted on GitHub and available as open-source (L-GPL)