Skip to content


Repository files navigation



Robo4J provides an easy way of getting started with building custom hardware and creating software for it running on the JVM.

  • is a robotics framework running on the JVM
  • provides a library of hardware abstractions for RaspberryPi and Lego EV3 out of the box
  • provides a library of configurable units that allows hardware to be enabled and configured through XML
  • provides a threading model controlled by annotations

The current version is 0.5


Git, Gradle, Maven, OpenJDK 11

If you are looking for a JDK 11 ARM hard float build for Raspbian, we recommend looking into Liberica JDK or Azul Zulu Embedded.


See current Robo4j documentation.

Note: Under construction.

Building from Source

The Robo4j framework uses Gradle or Maven for building.

The following will build all components:

./gradlew jar

The individual bundles will be available under robo4j/<component>/build/libs. To install the bundles and make them available to downstream dependencies, run the following:

$ ./gradlew install
$ mvn clean install

Note: If you are not using Robo4J as the standard user (pi) on a Raspberry Pi, you will have to specify the path to the local maven repository in the file libraries.gradle, variable: mavenRepository

Note: Robo4J currently requires OpenJDK 11. Ensure that you build and run with OpenJDK 11.

Staying in Touch

Follow @robo4j or authors: @miragemiko, @hirt on Twitter.

In-depth articles can be found at, miragemiko blog or marcus blog


Robo4J is released under General Public License v3.