Featured Projects

Did you use Pi4J in one of your projects? We would love to hear from you!

Please let us know by sending an e-mail to frank at pi4j.com with a brief description, URL, links and pictures of the product or project you are working on.


  • Soft real time PLC
  • Strolch is a framework for developing Software which has a different approach compared to Spring and other similar types of Java frameworks, as the model is defined as an abstract model, where you always have the same three types of objects: Resources, Orders and Activities. The fields are mapped as Parameter objects, of which the important primitives are available. Conveyors for containers filled by a dispensing robot

  • PiJukeBox
  • Daniel Mårtensson used Java and Pi4J to turn an old Centrum U68 from 1940 into a MP3 player. The reason is because short wave, middle wave and long wave is today obsolete and not being used or sended today in Sweden. Also the electronics inside was a mess and very dangerous because it runs on both AC/DC current and all the wires began to lose their isolators. Features: autoplaying next song, 60 songs included, volume tuning, song select, low power consumption, works with old Raspberry Pi’s, terminal based.

  • CocktailPi
  • The CocktailPi is a cocktail mixing machine by Alexander Liggesmeyer. It can control as many pumps as the RaspberryPi provides GPIO pins. For every pump that gets added to the system, the user has to provide the amount of time that that pump needs to pump one centiliter in milliseconds. The machine uses peristaltic pumps. So that number is perfectly accurate. The flow rate won’t vary over time. It uses a relay board for closing the electronic circuit for all pumps.

  • Didier the street artist robot
  • Meet “Didier” the street artist robot, a project by Duvam. The sources are shared on github.com/duvamduvam/didier-java.

  • JMonkeyEngine with Joystick
  • Pavl G. created a Java Gradle library to control a car in a JMonkeyEngine game with an arduino joystick module connected to a Raspberry Pi4 model B, using GPIO digital pins and SPI interfacing through MCP3008 ADC (Analog~Digital Converter). Requirements Raspberry Pi with arm processor (pi3, pi4, piZero) with a working java8 (preferred). Female-to-male jumper wires. Breadboard. Arduino Joystick module. MCP3008 IC (ADC – other adcs may work too, but we are covering only MCP3008 here).

  • Sensor drivers
  • In case you want to read the data from various I2C sensors connected to Raspberry Pi the difficult part is usually writing a piece of code which talks to the I2C sensor. rpi-drivers is a Java library implementing simple APIs and communication code for some widely used I2C sensors. You can easily measure temperature, pressure and humidity, get ambient light intensity or measure voltage in your java Raspberry Pi projects.