Q: I am getting an RXTX Error in Processing

This has to do with the JAVA support for RXTX (Serial communication, in this case with teh XBee). In order to make this work, you need to change some files depending on the platform that you are using. Follow the following simple steps:

- Download RXTXcomm for your platform http://jlog.org/rxtx.html

- Place the DLL files in your processing program folder: "processingProgramFolder"\java\bin\

- Place RXTXComm.jar in the Lithne library \lib folder


Q: I am getting an error in Processing regarding the incorrect installation of the Lithne library

- Remove the core.jar from the Lithne Library


Q: I am getting an error in Processing about 'competing libraries'

- Remove the serial.jar from the Lithne Library


Q: I am getting an error in Processing about 'log4j'

- copy the log4j.jar and log4j.properties from the Lithne library to your sketchfolder and name them datalog4j.jar and datalog4j.properties


 Q: I am getting a compile error in Processing for OSx Maverics

Remove the existing core.jar en serial.jar from the library folder and replace them by http://jlog.org/v4/macosx/mac-10.5/RXTXcomm.jar and http://jlog.org/v4/macosx/mac-10.5/librxtxSerial.jnilib also perform the previous step.

Known Issues

Analog read

- the highest value (1023) is reached at around 2v instead of 3v3. This for instance means that you can use only 2/3rd of a slider's range. This is most likely caused by arroneous setting of the reference voltage.  



The 5 volt is only available when an external power supply is connected. It is not available when power is supplied by USB or the power board.


Pin Naming / Numbering

Pins are named A0 - A15 and D0 - D20. These are the only references to the Pins you can use. Do not use regular numbering in order to prevent unexpected behaviour.


Unresolved issues - [require maintainanace]

Signal Strength

Signal Strength measurements (dbMeasurements) are not received in the main processor. 

Solved Issues

Digital Write:

      Digital Write is not a problem anymore. It basically does analogWrite(pin, 255).

Analog Read:

     - AnalogRead() is now returning a value in the correct range (0 - 1023)

      A12 - A15 are now returning non-inverted values


     millis() function now returns precise values. It was faster before.


Servo Motor:

     This library is working and it can control a maximum of 8 servos. It uses timer TCD0 to generate the Output Compare interruption, so don’t use PD3 (D3) to generate PWM when using the Servo library.


     Same problem, DMX library uses TCC0 as timer, so don’t try to use PD2 (D2) to generate it.


     The Wire Library has the same behavior of Arduino’s. The only important thing to notice is that you have to read your data (Wire.read()) before calling Wire.endTransmission(true). In Arduino, it doesn’t matter.