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.
Version 1.3 has been released and is now available for download. (Downloads | Installation)
Latest Development Updates:
Additional details can be found in the project's README.
Please note that the Version 1.x codebase for this project is no longer being actively developed. The Version 1.x codebase will only be maintained and updated for major bug fixes. This codebase has been largely stable for several years and is compatible across a wide variety of Raspberry Pi SoCs and you are welcome to continue using it. However, for new projects, it is highly recommended to migrate to the Pi4J Version 2.x codebase.
Bug fixes are maintained in the 'master' branch in the Pi4J GitHub repository and SNAPSHOT builds are published in the Sonatype OSS repository.
Visit the Downloads page to download the latest Pi4J v1.x library builds.
ATTENTION:
If you require a newer Java Virtual Machine for your project, please review the following Pi4J projects: Pi4J v1.4 or Pi4J v2.x
ATTENTION:
The original WiringPi library has been **DEPRECATED** and is no longer maintained.
To support RaspberryPi 4B/400/CM4 and newer systems you must install the latest *unofficial* WiringPi version which is maintained here: https://github.com/WiringPi/WiringPi.
(As of 2021-01-12, this is version 2.60.)
See Dependencies for additional information.
The simplest method to install Pi4J on your RaspberryPi is to execute the following command directly on your RaspberryPi.
curl -sSL https://pi4j.com/install | sudo bash
To get started using the Pi4J library, please see the following pages: