Blog of Frank Delporte, Java Champion, Software Developer, Technical Writer, Nerd/Geek
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.
JavaFX Links of September 2023
This month OpenJDK and OpenJDK 21 got officially released, so links to the new downloads but also to the early access builds of the next one! Here is the overview of the JavaFX LinksOfTheWeek that got published on jfx-central.com during September.
Java 21 - JEP 445 - Unnamed Classes and Instance Main Methods
Java 21, released on September 19th, 2023, brings many new features, 8 which are fully integrated and 7 which are incubator or preview. In this post I want to highlight one of those preview features: Java Enhancement Proposal (JEP) 445: “Unnamed Classes and Instance Main Methods”. It’s a preview feature, meaning you need extra flags to use it. The goal of this JEP 445 is to make it easier to get started with Java, as it’s all about reducing the number of keywords when you write, for instance, your very first HelloWorld Java code. It’s ideal for students or anyone who wants to start experimenting with Java. It may also help make Java more popular in boot camps, where JavaScript and Python dominate now.
New User Interface for JFX Central, the Home for All JavaFX Information
Just like Foojay wants to be the starting place for all info related to Java, JFX Central is the place to be for all JavaFX info. The website is a project started by Dirk Lemmermann and has been online since 2021. The team has expanded since then, and the content has been extended, partially by the team, but also thanks to many contributors from the JavaFX community. End of August, a new user interface has been published to replace the initial version.
JavaFX Links of August 2023
I’ve taken a holiday this month, so probably missed a lot of the amazing JavaFX news, but still some things caught my attention and you can find them in this LinksOfTheMonth overview.
Review of the Elecrow 10.1 IPS HDMI Touch Screen (with RGB Animated light)
As you may know, I’m a big fan of the Elecrow CrowPi (1 and 2) as they contain many electronic components combined with a Raspberry Pi to allow quick tests. I use them a lot in Pi4J projects, and presentations I give about #JavaOnRaspberryPi.
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.
JavaFX Links of July 2023
Although I skipped a few weeks because of busy schedules, holiday interruptions, and too few hours in a day, there was still a lot to report in the two #LinksOfTheWeek that were published on jfx-central.com in July.
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.