Skip to content


The Pi4J Project

The Pi4J Project

This project is intended to provide a friendly object-oriented I/O API and implementation libraries for Java Programmers to access the full I/O capabilities of the Raspberry Pi platform. This project abstracts the low-level native integration and interrupt monitoring to enable Java programmers to focus on implementing their application business logic.

All documentation is available on

Discussions (former Forum) about the Pi4J (V2) project or here on GitHub on

Version 2 is the active project

Sources: pi4j-v2

As of Version 2.0, Pi4J will no longer include support for peripheral devices and add-on chipsets/boards as part of the core project. A new plugin model has been introduced in version 2.0 that should help enable third-party development and support third-party add-ons which may be developed and maintained independently of the core Pi4J project. More info is provided on What’s New in 2.0?.

Version 1 will not be further developed

Sources: pi4j-v1

  • V1.3: Java 8
  • V1.4: Java 11

The original library which started in 2012 and got a last release in 2021. Up till version 1.3 the library targets Java 8, while version 1.4 relies on Java 11. More info is provided on “Previous versions (V.1)".


  1. pi4j-v2 Public

    Pi4J Version 2.0

    Java 184 36

  2. Minimal example project showing how to use Pi4J V2 with a digital input and output

    Java 15 19

  3. pi4j-v1 Public

    Java I/O library for Raspberry Pi (GPIO, I2C, SPI, UART)

    Java 1.3k 464


Top languages


Most used topics