Tagged "Raspberry Pi"

Links of the BeJUG Presentation: Lessons Learned from #JavaOnRaspberryPi

These are all the links of my presentation at BeJUG in Waregem, Monday, July 24, 2024. Lessons Learned from JavaOnRaspberryPi, the Potential of Bits and Bytes, Cost and Eco-Efficiency I started experimenting with Java on the Raspberry Pi a few years ago because I wanted to learn if I could control electronic components with my favorite programming language.

Review of the Elecrow Raspberry Pi Pico Advanced Kit

People who follow me, know I’m a big fan of the Elecrow CrowPi, the little suitcase with a Raspberry Pi and a lot of electronic components included. I used it already a lot in my presentations at various conferences to demonstrate #JavaOnRaspberryPi. Recently, Elecrow sent me a “Raspberry Pi Pico Advanced Kit” for free, to test and evaluate it.

Links of the Presentation: What I Learned About OpenJDK As a Docs Writer

These are all the links of my presentation at the JChampions Conference, Monday January 29, 2024, 16:00 CET. What I Learned About OpenJDK As a Docs Writer As a teenager, a Commodore 64 and DIY solder kits ignited my passion for computers and electronics. But for some obscure reason, I chose an unexpected path by attending film school.

Running a CRaC Java application on Raspberry Pi - UPDATE

On July 15th of 2023, I published a post here about my initial experiments with CRaC on the Raspberry Pi. At that time, I found out that both the Linux kernel in Raspberry Pi OS and the Zulu Build of OpenJDK still needed some changes to work on the Raspberry Pi.

Controlling LED strips with Java

One of the most “fancy” electronic components is definitely a LED strip. It’s really cool to control a long strip of lights with only a few lines of code… But, there is a problem. The timing of the signals is crucial to reliably control these strips. Both Python and Java on a Raspberry Pi can struggle with these timings as they are running on Linux, a non-real-time operating system.

Links of the Presentation: Unlocking the Potential of Bits and Bytes

These are all the links of my presentation at Devoxx Belgium, Wednesday 12:00-12:50, Room 7. Unlocking the Potential of Bits and Bytes: Reducing Data Footprint for Cost and Eco-Efficiency In the age of unlimited storage space, we forget to consider the financial and ecological costs. Transmitting and storing data in XML, JSON, or (if you want to hurt people) YAML makes data human-readable, which is great for debugging and testing but is a very inefficient, heavy, and expensive way of handling data.

Pi4J Operating System for Raspberry Pi

Yes, the Raspberry Pi Operating System is awesome! But the Pi4J project made it if even more awesome by adding “goodies” for Java developers! Pi4J OS is not yet another OS, but the official Raspberry Pi OS, with additional tools and preconfigurations to make it the ideal OS for any Java and JavaFX developer who wants to use a Raspberry Pi.

Reading the temperature, humidity, and pressure from a BME280 Sensor with Java, Pi4J, I2C, SPI, and JBang

To make it as easy as possible to get started with Java on the Raspberry Pi to interact with electronic components, I started a new section on the Pi4J website with JBang examples. In this tutorial, I want to show you how you can read the temperature, humidity, and pressure from a BME280 Sensor.

Running a CRaC Java application on Raspberry Pi

With the April release of the Zulu Build of OpenJDK, Azul announced the integration of CRaC in its version 17 of Java for Linux. Coordinated Restore at Checkpoint (CRaC) is a feature introduced in OpenJDK to improve Java’s application startup and warmup times to milliseconds from seconds or even minutes, by allowing a running application to pause, snapshot its state, and restart later, even on a different machine.

Interview by Bazlur Rahman: Unlocking Java Secrets with Frank Delporte - Insights, Stories, and Tips for Success

On Foojay.io, Bazlur Rahman is publishing a series of interviews with various people from the OpenJDK community. I had the honor to be included in this series, and this is a repost. Welcome to our exclusive interview with Frank Delporte, a Senior Technical Writer at Azul, Java Champion, and a passionate advocate for all things related to Java and Java on Raspberry Pi.

Using the Raspberry Pi Autofocus Camera Module 3 as HDMI camera

More than two years ago, I blogged about the use of the Raspberry Pi as an HDMI camera for the ATEM Mini. Although I have been using such a camera since then as my main Zoom camera, I wasn’t always happy with the image quality. The main problem was that the previous Raspberry Pi cameras had a fixed focus and it was quite hard to find the perfect focus.

HiveMQ Cloud, part 4 - Sending sensor data from Raspberry Pi Pico W to HiveMQ Cloud

Exactly one year ago, in December 2021, I published three articles of MQTT messaging with Raspberry Pi, Raspberry Pi Pico and HiveMQ Cloud. On June 30th of 2022, Raspberry Pi released a new product, that is the subject of this post: the Pico W. Yes, a new version of the original Pico, but with Wi-Fi.

Shopping list for JavaOnRaspberryPi

After my talk at J-Fall I got the question what is required to get started with #JavaOnRaspberryPi. In my book I list the components that are used, but indeed a short overview was missing (it’s now added to the ebook…). So here we go: Raspberry Pi While working on the book, I used a Raspberry Pi 3.

Devoxx Belgium and J-Fall The Netherlands - Links

Links used in my talks at Devoxx 2022 (Antwerp, Belgium) and J-Fall (Ede, The Netherlands). Book “Getting Started with Java on the Raspberry Pi Twitter Frank #JavaOnRaspberryPi Work Televic Rail Eeve Azul foojay.io Website - Friends of OpenJDK Controlling Electronics with JBang on the Raspberry Pi All Raspberry Pi articles (over 50!

Blink a LED and read a button state with Vaadin, Spring and Pi4J on a Raspberry Pi

As I’m becoming a senior developer in terms of age, I’ve transitioned from one language to another. One of my main interests has always been clean, easy-to-understand UIs (User Interface). That journey started for me with Director (to create multimedia CD-ROMs), Flash website animation, and Flex Rich Internet Applications (= “Flash on steroids”).

Installing Java with SDKMAN on Raspberry Pi

If you create a new SD card for a Raspberry Pi with the operating system, you can choose the “Raspberry Pi OS Full (32-bit)” edition, which includes Java 11. But a lot of the other available OS-versions don’t have Java included. There are many ways to install Java but, personally, I find SDKMAN the easiest one to use.

3D printed Raspberry Pi Arcade box

As part of the Pi4J project, we created an example game with JavaFX and FXGL that uses an Arcade kit with a Joystick and big push buttons. The test setup for this project was kicking around my desk, so that was the perfect victim for my next 3D printing project…

3D printed Raspberry Pi Organizer

After my first 3D-printing experiment “A 3D printed multi-functional tripod (well actually quadpod)”, I wanted to clean-up my desk. I have a lot of Raspberry Pi boards lying around for various test projects, and that was one of the quick-wins to organize better. On the Prusa Printers website, I found this “Raspberry Pi wall mount” by Dimsch.

3D printed multi-functional tripod (well actually quadpod)

The power of technology is something that keeps amazing me every day. The number of things you can do with some small electronic components and a bit of programming is overwhelming. But 3D printing is really on top of my “WOW AMAZING” list. As I work in a company building fully 3D-printed robots (EEVE), I felt I had to investigate some budget and time into this whole new world.

Multicam recordings with ATEM Mini and Raspberry Pi cameras

As I wrote in my previous post “Using a Raspberry Pi as HDMI camera”, you can build your own inexpensive HDMI-camera with a Raspberry Pi Zero and a camera module. Let me show you some of the results… Demonstration video for HiveMQ Cloud I created this setup to record the videos for a blog series I wrote for HiveMQ Cloud:

Using a Raspberry Pi as HDMI camera

TL;DR; Yes, you can build your own Raspberry Pi HQ camera to use as an HDMI source for the ATEM Mini Looking for an affordable camera with HDMI output? Build one yourself with a Raspberry Pi Zero 2! IMPORTANT: A new post is available with the new Camera Module V3 with auto-focus, released in January 2023.

HiveMQ Cloud, part 3 - Sending sensor data from Raspberry Pi Pico to HiveMQ Cloud

In the previous two posts in this series, we used Java on the Raspberry Pi mini-computer to send sensor data to HiveMQ Cloud, and visualize it on a dashboard. “Part 1: MQTT on Raspberry Pi, Send Sensor Data to HiveMQ Cloud with Java and Pi4J” “Part 2: Using MQTT and Raspberry Pi to Visualize Sensor Data on a TilesFX Dashboard” Now we are going to add some more data to our messaging system with another member of the Raspberry Pi family: the Pico.

HiveMQ Cloud, part 2 - Using MQTT and Raspberry Pi to Visualize Sensor Data on a TilesFX Dashboard

In the previous post we started our discovery of HiveMQ Cloud with Java on the Raspberry Pi. We created an application to send measurements of various sensors to the HiveMQ Cloud MQTT broker. Using an online websocket client we verified the transition of the messages, and could see the data being published to this online message queue.

HiveMQ Cloud, part 1 - MQTT on Raspberry Pi, Send Sensor Data to HiveMQ Cloud with Java and Pi4J

A few years ago I did my first experiments with an MQTT server (Mosquitto) running on a Raspberry Pi to connect an Arduino and Raspberry Pi for the drumbooth of my son. The full process is described in my book “Getting Started with Java on the Raspberry Pi”. In this series of posts we are going to take a different approach with an online MQTT-compatible service: HiveMQ Cloud.

JavaFX running in kiosk mode on the Raspberry Pi

The Raspberry Pi in combination with an inexpensive touch screen, makes a perfect controller for a machine or game console. Let’s see how we can use Java and JavaFX to build a test application which also communicates with the pins of the Raspberry Pi to control a LED. We have done something before already in the post “Light Up your Christmas Tree with Java and Raspberry Pi”, so what’s new?

Device monitoring tool with JavaFX, FXGL and Mosquitto

In a previous post “Getting Started with FXGL Game Development” we already have taken a look at the FXGL game development framework developed by Almas Baimagambetov. But, this game engine can also be used for other use cases. In this post, we will be building a system monitoring dashboard, which can run on a Raspberry Pi.

JVM Advent 2020 - Light up your Christmas lights with Java and Raspberry Pi

Are you a serious Java-developer looking for a fun project? Or want to learn something completely new and use your Java-knowledge to control electronic components? Here we go with this small project to get you introduced to the world of electronics programming! This post was originally posted on Java Advent 2020,

JFXDays presentation - Having fun with Java and JavaFX on the Raspberry Pi

Today I could give my talk “Having fun with Java and JavaFX on the Raspberry Pi” at the JFXDays. Normally this event takes place in Zurich, but this year also went virtual because… well because of 2020… I’m honored that my talk was part of this two-day event with a lot of talks by all the people who are the driving forces in the JavaFX community!

Devoxx Ukraine presentation - Having fun with Java and JavaFX on the Raspberry Pi

Today I had my first Devoxx talk, after my Java virtual talk a few weeks ago at the “Oracle Groundbreakers APAC Virtual Tour 2020” conference (21/10)! The event in Ukraine also went virtual which gave me the opportunity to share my love for Java, JavaFX and the Raspberry Pi again.

JavaFX 3D - A Look Back Through History & Some Experiments

After my virtual conference talk “Java and JavaFX on the Raspberry Pi” at the “Oracle Groundbreakers APAC Virtual Tour 2020”, I got in touch with some people who were working on JavaFX 3D in the past, and were curious how that would behave on the Raspberry Pi. Only one way to find out!

Ubuntu desktop on Raspberry Pi 4

Yesterday evening Ubuntu announced the release of Ubuntu 20.10 “Groovy Gorilla” with desktop support for the Raspberry Pi 4 (4 and 8Gb). So I had to get up early this morning for a quick test drive!!! When opening the Raspberry Pi Imager tool, the new Ubuntu Desktop OS is already available.

APACOUC presentation - Java and JavaFX on the Raspberry Pi

Today I had the honor to speak at the “Oracle Groundbreakers APAC Virtual Tour 2020” conference. And of course the title of my talk was “Java and JavaFX on the Raspberry Pi”. Video (start at 3'05") Links mentioned during the talk (in order) Passendale, Belgium Televic Rail - Passenger Information Systems CoderDojo Book: “Getting Started with Java on the Raspberry Pi” Raspberry Pi Announcing Raspberry Pi Compute Module 4 Raspberry Pi Compute Module 4 on sale now from $25 TIOBE Index Which Programming Languages Use the Least Electricity?

Building OpenJDK on Raspberry Pi

The OpenJDK sources are now fully available and developed on GitHub as a result of Project Skara. Thanks to a lot of work done by the community, the full Java development flow has been migrated to GitHub while keeping the repository history. This process has been described on the GitHub blog.

Visual Studio Code on the Raspberry Pi (with 32 and 64-bit OS)

In my book “Getting Started with Java on the Raspberry Pi”, I give more info about IDEs (= Integrated Development Environment) for Java development. My prefered ones are JetBrains IntelliJ IDEA and Microsoft Visual Studio Code (VSC). IntelliJ IDEA is the most used IDE by Java developers and is available in a free edition with some limited features, or a full paid version.

Using Pi4j (V1) on the Raspberry Pi 4

A topic which comes up from time to time in questions related to Java and the Raspberry Pi, is the support of the 4th version of this board in combination with Pi4J, “the friendly object-oriented I/O API and implementation library for Java programmers to access the full I/O capabilities of the Raspberry Pi “.

64-bit Raspberry Pi OS on Raspberry Pi 4 with USB BOOT

A micro SD card is the default way to add an operating system to the Raspberry Pi. But there is an alternative you need to consider if you want to make your system more reliable. SD cards are not super fast and can get corrupted when you are writing a lot to disc.

Spectacular Java projects on Raspberry Pi

Thanks to Twitter and LinkedIn I got into contact with several developers who are doing Java stuff on Raspberry Pi and I want to share those projects with you as they can be an inspiration for all of us to get started with Java development on the Raspberry Pi. Igor Souza - Kafka on the Raspberry Pi Igor shared this nice video where he set up a Kafka cluster on Raspberry Pi.

Azul Zulu OpenJDK 15 on Raspberry Pi

For this post I did some experiments with Java 15, reusing the Ubuntu 64bit SD card which was also used for the earlier post “Comparing a REST H2 Spring versus Quarkus application on Raspberry Pi”. That version of Ubuntu comes with OpenJDK 11 pre-installed. $ java -version openjdk version "11.0.8" 2020-07-14 OpenJDK Runtime Environment (build 11.

Why you should learn to program on the Raspberry Pi

In this article “Java vs Python - Which Programming Language Should Programmer Learn First?” by Javin Paul, you can find a comparison between the two most popular programming languages. Of course, as being a Java-developer myself, it’s not a mystery which I would prefer ;-) But more important than the language, could be the computer you are using!

How to install and use Java 11 and JavaFX 11 on Raspberry Pi boards with ARMv6 processor

In a previous post “Installing Java and JavaFX on the Raspberry Pi”, you can read how to install BellSoft LibericaJDK to be able to run JavaFX applications with a graphical user interface on a Raspberry Pi with ARMv7 or ARMv8 processor. But this won’t work for some (older) versions of the Raspberry Pi as these use an ARMv6 processor which is not compatible with the default OpenJDK 11 which is part of Raspberry Pi OS.

Comparing a REST H2 Spring versus Quarkus application on Raspberry Pi

Goal of this comparison In my previous post “A Spring REST and H2 database application on the Raspberry Pi” an example was described to store sensors and measurements in a H2-database through REST API’s with a Spring application on the Raspberry Pi. This application takes some time to start on a Raspberry Pi, and Adam Bien who makes the airhacks.

A Spring REST and H2 database application on the Raspberry Pi

Java on Raspberry Pi The “Pi” in the name of the Raspberry Pi refers to Python, but as a Java developer I love to know and experiment with the various Java frameworks I also use at work. Spring is the main one, and I wanted to develop a proof-of-concept application which provides REST API’s to store and retrieve sensor data with a database back-end on the Raspberry Pi.

Joining the Pi4J team

In my book “Getting Started with Java on Raspberry Pi” I dedicated a chapter on Pi4J, the leading framework to combine the power of Java with the hardware capabilities of the Raspberry Pi. This project which was started in 2012 by Robert Savage, evolved during the years to be able to support all the different Raspberry Pi-versions and many types of hardware components.

The MagPi step-by-step video

In “The MagPi Magazine” #93 and #94, published by the Raspberry Pi Foundation, you can find two articles which describe how you can get started with Java, Maven, Visual Studio Code and Pi4J on the Raspberry Pi. To make everything even more clear, I created a step-by-step video on Vimeo which shows everything which is described in those two articles.

Installing Java and JavaFX on the Raspberry Pi

One of the most read articles on this blog is about the installation of a recent Java on Raspberry Pi (March 13, 2019), so it’s time for an update! Disclaimer: this article is only valid for Raspberry Pi’s with an ARMv7 or ARMv8 processor. In the Raspberry Pi specifications table on Wikipedia you get a clear overview of the Pi-types with this processor:

Drumbooth controller with Raspberry Pi, JavaFX, and Arduino

Based on multiple examples from my book “Getting started with Java on Raspberry Pi”, I created a touchscreen controller for the drum booth of my son. Combined with relays boards and an Arduino this allows to control LED strips and different lights with a touch screen interface. There is also a web server included so we can trigger some events from anywhere in the house through a webpage so we don’t need to yell anymore from down the stairs when food is on the table ;-)

Raspberry Pi and SPI 8x8 LED matrix example with Java and Pi4j

While looking for a cheap and nice component to demonstrate the use of SPI (Serial Peripheral Interface) I found out this 8x8 matrix LED display on a board with a MAX7219 chip is the perfect piece of hardware! What you see in the video is the end result with: All on/off Demo of all the lines Demo of all the columns 5 random generated matrixes A set of images including an attempt of the Raspberry Pi logo A, B, E, S, T fixed The same characters scrolling one-by-one Wiring As we are using SPI, the number of connections to be made is very minimal:

OpenWeatherMap forecast on LCD with Raspberry Pi, Java and Pi4J

Pi4J contains helper methods to minimize the work needed to use certain hardware modules on the Pi with Java. As an example, we will be using “GpioLcdDisplay” to control an LCD with 2 rows of 16 characters. After requesting the weather forecast from a public website, we will visualize this on the LCD display.

Reactive Spring Flux data from a Pi

Trisha Gee (Coder, blogger, speaker, Developer Advocate at JetBrains, @trisha_gee), which I interviewed for “Chapter 4: Choosing an IDE”, and Josh Long (Spring Developer Advocate at Pivotal, @starbuxman) worked together on a blog series in which they showed the power of reactive data produced by a Spring application. Instead of repeating a REST call each time you want to get data from the server, you do one call which returns a continuous stream in which new data is pushed based on an interval.

Controlling a LED number display with JavaFX and Python on Raspberry Pi

In my book I explain the use of bits and bytes by using a shift register SN74HC595 IC and 5101AS LED number display. A number display with LED segments Defining the bytes for each number In the table below the bits are defined to get the hex/number value needed to light up the required segments (A - H) of the LED segment display:

Raspberry Pi history, versions, pins and headers as a Java Maven library

The best way to understand and learn something new, is to document it yourself. That’s what I’m doing in every step for my book-in-progress. And to fully get the pinnings and headers of the different Pi-boards, I decided to gather all info into a Java library with different enums to be able to auto-generate some content for the book and use in a few different example applications.

Controlling Arduino with Mosquitto and JavaFX on Raspberry Pi

One of the example applications in my book “Getting started with Java on the Raspberry Pi” combines a JavaFX application with Mosquitto on the Raspberry Pi to control a LED strip with an Arduino. All wireless and independent of each other as the Mosquitto-queue is dealing with exchange commands between all applications.

Clean Raspberry Pi GPIO testing with the Breadboard Pi Bridge

Some time ago I ordered a “Breadboard Pi Bridge - Pi Ports to Breadboard in Numerical Order” and reworked my Pi test setup from the previous blogs. And it looks really good! Before with the T-board and a cable it was already easy to find and connect each GPIO but the flat cable made it a bit ugly and oversized:

Pi4J to easily work with the hardware of a Raspberry Pi with Java

What is Pi4J See https://www.pi4j.com/1.2/index.html 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.

Pi4J - Adding a REST interface with Spring Boot

As I was learning Spring Boot myself, I thought the easiest way to learn was trying to build an example and write about it. So here we go… :-) What is Pi4J? While doing my experiments earlier with Java 11 on a Raspberry Pi, I came accross the Pi4J project which allows you to control the GPIO pins easily from Java.

Pi4J - Extending with a JavaFX info application

While trying out what Pi4J can do, I found it could easily be extended with a JavaFX application to provide info about the headers on a Pi board. This could later be extended to a remote/local (touch) User Interface using the REST interface from this post. Starting point I started with the minimal JavaFX application I created before for a quick start with the correct pom.

PiJava overview - Java 11 and JavaFX 11 on Raspberry PI

As my daily work mainly is Java and back-end stuff on “real servers”, I set myself for 2019 as a personal goal to experiment with Java 11 on a Raspberry PI. While doing so, I needed multiple scripts and test projects. And because I strongly believe in “learning by sharing”, this resulted in a blog series with links to the sites and people who inspired and helped me, plus the sources on my GitHub account.

PiJava - Part 6 - JavaFX 11 on Raspberry PI with TilesFX and GPIO

What we will do Based on the previous blog posts we can install and run Java 11 we have a minimal JavaFX 11 application which runs fine on a PI So there is one “small” step remaining: build something which actually does something on the PI, talking to the GPIO’s and show what’s happening.

PiJava - Part 5 - Running the minimal JavaFX 11 application on Raspberry PI

In part 2 of this blog series Java 11 was successfully installed on a PI. And in part 4 a running Java FX jar was generated on a PC. Time to move back to the PI… Run the JavaFX .jar application Make sure you have a the Liberica Java JDK installed as described in part 2 as JavaFX is not part of the “normal” Java JDK.

PiJava - Part 2 - Installing Java 11 on a Raspberry PI 3 Model B+

After my first (and failed) attempt to get Java 11 running on an old Raspberry PI, I bought a brand new 3 Model B+ version. Installing a recent Java JDK which includes JavaFX UPDATE April 30, 2020 An earlier version of this blog showed how to install Java 11 on the Raspberry Pi, but Raspberry Pi OS has this now already included!

PiJava - Part 1 - Trying to run Java 11 on an old Raspberry PI

One of my goals for 2019 is experimenting with the latest Java and JavaFX versions on a Raspberry PI. After my experiments with the Python Pong game I was not very happy with the GUI I could build with Python and definitely wanted to try something similar, but with JavaFX which I like much more.

Pong on a Raspberry PI

As a self-study project I experimented to create a Pong game + slide shown on a Raspberry PI with Tkinter, GPIO and physical buttons. Material list Raspberry PI, of course ;-) SD card with Raspberry Pi OS 3 boxes with on/off button like this one Breadboard for the first experimental setup Breakout connector like this one Or to help identify the GPIO pins you can also use RasPiO® Portsplus board Electrical cable with three wires Some breadboard cables Box to protect the Raspberry PI If you want easy control a bluetooth keyboard and/or Wifi dongle Assembling Connect the electric cables to the push buttons.

Getting Started with Java on the Raspberry Pi

For sale as ebook on Leanpub, with continuous free updates! Introduction When I first managed to blink a LED connected to a Raspberry Pi with Java, I was super excited! Controlling physical things with some lines of code is magic! This book includes a lot of info and history about Java itself and how to install it on the Raspberry Pi.