Tagged "Raspberry Pi"

First experiments with Raspberry Pi Compute Module 4

I’m one of those people with boxes full of devices, waiting to be used in experiments… And from time to time, I dive into those boxes to fill in the gaps in between other tasks. So these are the results of my first Raspberry Pi Compute Module experiments!

JavaFX Nodes versus Canvas

Last week I was working on a blog post about Azul Zulu with JavaFX support for ARM systems, like the Raspberry Pi. As you can see in this video, I found out my little test application with a lot of “bouncing balls” started losing performance on the Raspberry Pi with more than 1000 of those balls.

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.

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.

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.

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. I created a ticket in the Linux kernel project, which was solved by Phil Elwell. Last week, a new version of the Raspberry Pi OS, based on Debian Bookworm, was released. And in september, version 21 of OpenJDK was released and the Zulu Build of it, includes CRaC. So let’s see if we can use CRaC without issues, if we bring all this togheter.

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. So, for instance, pauses in the garbage collection of the Java virtual machine, or any glitch in the operating system can cause unexpected effects on the LED strips. That’s why in most projects, a microcontroller (Arduino, Raspberry Pi Pico, ESP32,…) is used to drive the LED strip. In my search for a good solution to use LED strips with Java, I stumbled on the Pixelblaze Output Expander. This small device is controlled through a serial interface, and handles the control of the LED strip. As it turns out, this is a perfect solution to offload the timing-critical operations from the Raspberry Pi and have reliable output on a LED strip.

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.

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.

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.

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. The new board is for sale for 6$, compared to the 4$ of the original Pico.

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:

Devoxx Belgium and J-Fall The Netherlands - Links

Links used in my talks at Devoxx 2022 (Antwerp, Belgium) and J-Fall (Ede, The Netherlands).

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”). When I started developing with Java over 10 years ago, we had some projects with the early versions of Vaadin and JavaFX. As I went on with serverside applications, I only continued with JavaFX for some personal and side projects, and loved the way you can create a UI both with XML (FXML actually) and code, exactly the same approach I loved with Flex. Since then, my love for Java and JavaFX only grew and it’s still my major programming environment.

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.

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.

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.

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!

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.

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”.

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.

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!

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…

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.

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!!!

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”.

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).

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.

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”.

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 ;-)

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.

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.fm podcast asked me if I could compare this to a similar Quarkus application.

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.

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!

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.

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!

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.

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!

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… :-)

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.

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.

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

What we will do

Based on the previous blog posts

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.
Spoiler alert: this is what’s is going to look like:

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.

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.

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.

Courses

Java Quick Start

Is Java your first programming language and do you want to get up and running fast? Or maybe you are already an experienced programmer in another language and want to give Java a try?

Getting Started with Java on the Raspberry Pi

For sale as ebook on Leanpub, with continuous free updates!

Introduction

Cover of ebook and paper book 'Getting Started with Java on the Raspberry Pi'

When I first managed to blink a LED connected to a Raspberry Pi with Java, I was super excited!