Firmata is a protocol that is used to communicate with microcontrollers from any tablet/pc over the serial interface. There are implementations of Firmata for another platform too along with Arduino. You can find support for Firmata if you are using any Arduino IDE released after 2008.Use of Firmata lets you access GPIO of Arduino from any host device natively without uploading the sketch each time you change the sketch. You can use Arduino as ADC for your Pi as it doesn't have native ADC pins, you can also interface a whole lot of sensors by the additional GPIO that you will get after connecting the Arduino which eliminates uses of the port expander and ADC ics to be interfaced with Pi.In this video, I have shown a basic example of blinking the onboard LED of Arduino from Raspberry Pi by using JAVA and for this, we are going to use the firmata4j library. 

Firmata4J Library:
Jar File of Library:
(Dependency for Firmata4J) JSSC (Java Simple Serial Connector):
(Dependency for Firmata4J) SLF4J API Module:

Firmata Protocol Page:
Protocol Details:

Related Videos: 
Java Application on Pi Playlist:
IOT With Raspberry Pi:

Catch Me On:

Crimson Sky by Arc North
Creative Commons — Attribution 3.0 Unported— CC BY 3.0
Music provided by Audio Library