FOSDEM 2024 schedule – Open-source embedded, mobile, IoT, robotics, RISC-V, etc..

FOSDEM – which stands for Free and Open Source Software Developers’ European Meeting – is a free-to-participate event where thousands of developers meet in Brussels on the first week-end of February to discuss open-source software & hardware projects.

FOSDEM 2024 will take place on February 3-4 with 880 speakers, 818 events, and 66 tracks. Although I won’t attend, I’ve created a virtual schedule like every year with sessions most relevant to the topics covered on CNX Software from the “Embedded, Mobile and Automotive” and “Open Hardware and CAD/CAM” devrooms, but also other devrooms including “FOSS Mobile Devices”, “ Energy: Reimagining this Ecosystem through Open Source”, “RISC-V”, and others.

FOSDEM 2024

FOSDEM Day 1 – Saturday, February 3, 2024

  • 10:30 – 10:55 – Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yocto Project and OpenEmbedded by Leon Anavi

In 2023, embedded Linux developers received eagerly awaited news: the release of Raspberry Pi 5 and the integration of the VNC backend into Weston, the reference compositor for the Wayland display server protocol.

During this talk, we will explore VNC backend integration in Weston 12 and newer versions as well as its build and runtime dependencies such as NeatVNC and AML. We will compare VNC (Virtual Network Computing) to RDP (Remote Desktop Protocol). Using the Yocto Project and OpenEmbedded, we are going to build core-image-weston for Raspberry Pi 5 and configure VNC with TLS security and user authentication. Step-by-step tutorial will be provided to demonstrate the configuration of a remote connection to Raspberry Pi 5 from another computer through Vinagre, an open-source VNC client designed for the GNOME Desktop.

The presentation is appropriate for anyone interested in remote access to embedded Linux devices. It will expand upon Leon’s lightning talk about RDP from FOSDEM 2023 and address frequently asked questions about remote screen sharing on embedded Linux devices. Previous experience is not required.

  • 11:00 – 11:25 – Introducing Sound Open Firmware project by Daniel Baluta

Sound Open Firmware is an open-source audio DSP firmware and SDK that provides audio firmware infrastructure and development tools for developers who are interested in audio or signal processing on modern DSPs.

Sound Open Firmware is supported on platforms from Intel, NXP, Mediatek, and AMD. It comes with Linux kernel ALSA driver and open-source firmware. Past year saw a major effort on integrating Sound Open Firmware with Zephyr RTOS. The goal of the presentation is to offer a gentle introduction to the project, building blocks, community, and tools. Documentation page: https://thesofproject.github.io/latest/index.html

  • 11:30 – 11:55 – “Vanilla” Debian On An Industrial Embedded Device by Francesco Dolcini

Debian is a commonly used distribution on embedded devices, however more often than not single-board computers available on the market just run some sort of Debian derivative that is provisioned as a binary image to be flashed to an SD card from where the device will boot. At the same time, Linux distributions for industrial embedded computers are often based on Yocto/OpenEmbedded or buildroot.

This talk will explore what is required to install and run a non-modified Debian in an industrial arm/arm64 embedded device running the U-Boot bootloader. We will investigate the various option to install Debian, either running debian-installer (from network or an external storage media) or using debootstrap, we will look into how the bootloader is loading the OS (kernel, initrd and devicetree), looking at U-Boot distroboot/Standard Boot and UEFI and after that, we will have a look at the required support from the Linux kernel. We will also describe the steps needed to contribute support for a specific board to Debian.

  • 12:00 – 12:15 – Power Grid Model: Open source high-performance power systems analysis by Nitish Bharambe

The electricity grid faces challenges such as rising electricity demand and the integration of solar panels, wind turbines, electric vehicles (EVs), heat pumps, etc. Moreover, smart technologies are being added, providing a wealth of data. The industries associated with these challenges must perform complex calculations to assess the present and future state of the grid. The vast scale and diverse applications demand faster calculations that are cross-platform compatible.

Power Grid Model is an open-source library with a C++ core and a well-defined Python API. It conducts state estimation, power flow, and short-circuit calculations for symmetric/asymmetric grids. The library is actively employed in 10+ applications within Alliander. Other major grid operators in the Netherlands, as well as researchers and stakeholders throughout the grid technology chain, use the library to conduct academic, technical, and feasibility studies.

In this presentation, we will explore the power-grid-model library, its capabilities, active and future use cases.

  • 12:30 – 12:55 – Embedded Security 2023 by Marta Rybczynska

Much has happened in the embedded security field in 2023: the rise of SBOM, discussions on the Cyber Resilience Act (CRA), important vulnerabilities, and updates in major projects. In this talk, Marta is going to present her subjective overview of embedded security in 2023 and a list of items to watch in 2024.

  • 13:00 – 13:25 – V4L2 Stateless Video Encoding: Hardware Support and uAPI by Paul Kocialkowski

Support for hardware video codecs has been around in V4L2 since the memory-to-memory (M2M) framework was merged in 2010. While it initially allowed support for firmware-driven stateful implementations, it did not cover the case of stateless hardware codecs where the kernel has to configure hardware blocks directly instead of relying on a (proprietary) firmware.

Stateless video decoding became supported in 2018 after Bootlin’s successful crowdfunding campaign targeting Allwinner platforms. The only remaining piece missing after this work was support for stateless video encoders.

This talk will present the current effort to bring support for stateless video encoders in mainline V4L2. This includes an overview of the current preliminary work on selected hardware platforms and video codecs as well as a brief summary of today’s out-of-tree support. It will be followed by an introduction to the difficult process of creating a new userspace API to support them in mainline Linux, the inherent trade-offs that need arbitration, and why this is taking time to converge.

  • 13:30 – 13:55 – A fully open-source stack for MIPI cameras by Bryan O’Donoghue and Hans de Goede

Many recent Windows (on ARM and x86) laptops have replaced the standard UVC USB camera module with a raw MIPI camera-sensor using a CSI receiver and ISP in the CPU to process the raw data into an image. Both the HW interface of the ISP as well as the image processing algorithms used are often considered a trade secret by CPU vendors. This makes supporting these cameras under Linux a big challenge and so far these cameras are not supported.

Both Linaro and Red Hat have identified this as a problem. Linaro has started a project to add a SoftwareISP component to libcamera to allow these cameras to work without needing proprietary software and Red Hat has joined Linaro in working on this. These exact same problems with MIPI cameras are also seen in embedded and automotive uses and the new SoftISP is also targeting these.

This talk will present and demo the current state of the SoftwareISP as well as present future plans.

  • 14:00 – 14:10 – enioka Scan: say No! to vendor lock-in for your barcode scanners by Antoine Gonzalez

The barcode scanner market is a walled garden hostile to flexibility. Vendors enforce their proprietary SDKs or applications, documentation is often limited or missing, sometimes it is even required to sign a contract before getting software access to purchased devices. This locks the user inside a single ecosystem, as switching to a different option would mean rewriting software specific to the device.

enioka Scan is an open-source Android library enabling users to choose the device vendors that really fit their criteria at any given time. It exposes a single API compatible with all supported scanning devices, working on top of vendor-specific SDKs made open-source whenever possible. The library handles per-device specifics, so the user can focus on the functional aspects of their application. It is also designed to be easily extended with more support for devices not yet compatible.

In this presentation, we will go over the causes of vendor lock-in in the context of barcode scanning devices. After a quick history of the project, we will have an overview of how the library works and how it manages to handle devices from different vendors. We will then take a look at “quick start” guide on how to reverse engineer a proprietary SDK to integrate it into the library. Finally, we will explain how you can contribute to this project, and why your help matters.

  • 14:15 – 14:25 – The Small Device C Compiler (SDCC) by Philipp K. Krause

32- and 64-bit architectures are well supported by the popular compilers GCC and LLVM. The situation is different for 8-bit architectures. Here, the Small Device C Compiler (SDCC) is the FOSS compiler competing with a variety of non-free compilers. This talk shall present the current state of SDCC, recent improvements, current challenges, and plans for the future.

  • 14:30 – 14:40 – Brewing Free Beer with ESPHome and Home Assistant by John Britton

In 2023 I built an all grain brewing system for making beer following plans from The Electric Brewery. Unfortunately, their plans for electrical control systems are labor intensive, expensive, and lack network connectivity.

In this talk, I’ll give an overview of all-grain brewing, an introduction to the ESP32 microcontroller, and a deep dive into building an inexpensive and internet-connected brewery controller with ESPHome and Home Assistant.

  • 14:45 – 14:55 – Dora-rs: simplifying robotics stack for next gen robots by Tao Xavier and Philipp Oppermann

Dora-rs aims at making robotic fast and simple. Current robotic stacks are often overly complex, and hard to integrate with latest technologies.

dora-rs is a dataflow framework that can be programmed with Rust/Python/C/C++, it supports:

  1. zero-copy messaging using shared memory with apache arrow format.
  2. manages logs metrics and tracing using opentelemetry.
  3. Provides a ROS2 bridge to support legacy software.

We hope to make robotic just work! In the same sense that Web Dev, Game Dev, or Cloud development most of the time just work. And with the advent of Large Language Models (LLM), we can implement a whole new way to interact with robots like implementing new functionality in real time by natural language!

  • 15:00 – 15:30 – Droidian – Bridging the gap between various platforms with convergence by Bardia Moshiri

In this presentation, Bardia, the current lead of the Droidian project, introduces the audience to Droidian, a Debian-based GNU/Linux distribution designed specifically for mobile phones. The community is made up of FOSS and privacy enthusiasts dedicated to building an open and versatile system for smartphones.

  • 15:30 – 16:00 – Linux CAN upstreaming on MMU-less systems by Dario Binacchi

This talk describes the issues and challenges I faced during the development of the bxCAN driver on stm32f4/7 architectures for the Linux kernel. Focused on the design and development of the driver, I soon realized that the classic user space tools used for testing a CAN interface (i.e. iproute2 and can-utils) could not be compiled on MMU-less systems.

The lack of MMU prevents the use of the fork() system call used by many Linux applications. Currently in buildroot, for example, about half of the packages are not supported on MMU-less systems. Furthermore, considering that busybox also does not support the ‘ip link’ command for the CAN interface, it was evident that the number of difficulties to overcome had increased so that, in addition to the driver development, the user space also needed to be patched. My target expanded: I definitively wanted to overcome the limitations of the user space and make it available to the open-source community.

How has the development of the bxCAN driver evolved? Was it later merged into the Linux kernel? Which packages needed to be patched to test it? What patches were applied? What happened to them? The talk addresses these and other questions that we will explore.

  • 16:00 – 16:25 – Zephyr and RISC-V: I Ain’t Afraid Of No Ghosts by Mohammed Billoo

RISC-V’s instruction set architecture (ISA) has enabled seasoned embedded software engineers to experiment with FPGAs since numerous open-source RISC-V cores can be flashed onto an FPGA. The Zephyr Project is rapidly emerging as a leading real-time operating system (RTOS). Zephyr integrates open-source and security best practices to ensure a vendor-neutral, secure, and reliable platform.

In this talk, Mohammed Billoo will describe the process of getting to Zephyr to run on the UPduino flashed with the neorv32 RISC-V processor. He will walk through building and flashing the neorv32 RISC-V core on the FPGA, creating a Zephyr application that can output Hello World to the UART, and loading the application to the FPGA. Mohammed will also walk through the necessary Zephyr drivers to get the application running. This talk will demonstrate how combining RISC-V and Zephyr on an FPGA opens up new opportunities for embedded software applications. Using open-source software and firmware on a low-cost FPGA reduces the bar for entry for enthusiasts and hobbyists. The audience will learn the following in this talk:

  1. Relevance of the RISC-V instruction set architecture for hobbyists
  2. Overview and structure of the neorv32 RISC-V processor
  3. Overview and structure of The Zephyr Project RTOS
  4. RISC-V support in Zephyr
  5. Relevant Zephyr drivers
  6. Demo: From Empty Silicon To Zephyr Boot
  • 16:30 – 16:55 – An open-source, open-hardware offline finding system by Dominik George and Pingu

Offline-finding systems allow small devices that are not connected to a network to enable communication between a finder and the owner – the most well-known system is probably Apple’s AirTag system. AirTags can be attached to anything and constantly broadcast beacons that can be discovered by smartphones running the corresponding to communicate geolocation to the owner of the tag.

Starting from an experiment at Teckids, we are building an open implementation, based on ESP32, Rust, and elliptic-curve cryptography. In this talk, we would like to explain how such a system works, our approach, and what we learned while building it.

  • 17:00 – 17:25 – The Journey to Ubuntu Touch 20.04 on PINE64 by Oren Klopfer

This talk delves into the evolution of Ubuntu Touch on PINE64 devices since its release in 2020. Over the past several years there have been significant changes, both to the development team and the codebase.

The shifts in the UBPorts/PINE64 community stem from the original PinePhone port’s maintainer moving on from the project, which coincided with the release of the PinePhone Pro. This left the community at a crossroads: necessitating the search for a new maintainer and the development of a new port.

A key milestone in this journey was the showcasing of an early-stage community port for the PinePhone Pro running on Ubuntu Touch 20.04 at FOSDEM last year. Since then, a new maintainer has achieved remarkable improvements, including porting 20.04 to the original PinePhone and PineTab, as well as the newly released PineTab2.

This presentation will explore the challenges encountered in integrating new devices, updating existing ones, and the process of harmonizing mainline Linux with Ubuntu Touch. This is particularly crucial as Ubuntu Touch has historically leaned towards devices designed for Android/Halium-based devices, somewhat sidelining mainline Linux in the transition to 20.04. Furthermore, the discussion will extend to the future prospects of this port and its implications for Lomiri on mainline Linux across different distributions.

  • 17:30 – 17:55 – Orchestrating Machine Learning on Edge Devices Using Akri and WebAssembly by Shivay Lamba

Edge computing is becoming increasingly popular for applications that require low latency and high bandwidth. However, building edge computing infrastructure that is both scalable and cost-effective can be challenging. In this talk, we will explore how Project Akri and WebAssembly can be used together to build highly scalable edge computing solutions. We will start by introducing Project Akri, an open-source project that provides a standard way to discover and interact with IoT devices at the edge of the network. We will then discuss how WASM, can be used to run code at the edge of the network, providing a lightweight and portable runtime environment for edge applications. We will also cover some use cases where Project Akri and WASM can be used together, such as building ML models that can run on edge devices or processing sensor data in real-time. Attendees of this talk will gain a better understanding of how the above can be used together to build scalable, cost-effective edge.

  • 18:00 – 18:25 – Flutter, Buildroot, and you! by Adam Duskett

Flutter is an open-source UI Software Development kit created by Google using the BSD-3-Clause license. It is used for developing multi-platform applications with a single codebase. While traditionally, Flutter has been used for Android and iOS development, it has been steadily gaining market share in the embedded Linux world. While the meta-flutter layer for Yocto has been usable since version 1.17.0 on March 31st, 2020, the Buildroot embedded Linux SDK has only recently added support, starting with Flutter version 3.13.9 on Buildroot version 2023.11.

This talk will cover three main points.

  1. The first is a brief history of the numerous difficulties that had to be overcome when adding the Flutter packages and infrastructure to Buildroot. This topic covers several idiosyncrasies of obtaining the source code and cross-compiling Flutter, such as how the source code is downloaded, how it is not currently possible to create an automated reproducible tarball when downloading the source code, and generating a tarball because of a reliance on .git files, how every third-party dependency is bundled into the source tarball, and even a patched clang is included in the source tarball that must be used when compiling.
  2. The second point covers the advantages and disadvantages of Flutter compared to Qt QML and LVGL.
  3. The final point covers how to start and integrate an existing Flutter project into an existing Buildroot infrastructure using the flutter-gallery package as a reference. This includes using an external tree for development purposes, how to profile an application for performance, and problems/concerns to be aware of.

If you use or are interested in using Buildroot for your embedded Linux project and are interested in using Flutter for your next project, then this talk is for you!

  • 18:30 – 18:55 – PineTime: A Programmer’s Toy and Beyond by Jozef Mlich

Discover the secrets of PineTime and InfiniTime, the smartwatch and its open-source operating system. Learn how to begin hacking, enhance its capabilities with Ubuntu Touch, and understand the coexistence of various mobile ecosystems. Explore the synergy between hardware hacking and mobile development.

FOSDEM Day 2 – Sunday, February 4, 2024

  • 09:15 – 09-:45 – Testing RISC-V Assembly by Nathan Egge

The RISC-V ISA contains several extensions that provide efficient instructions for domain-specific optimization, including the V (vector), Zb{a,b,c,s} (bit manipulation) and Zvk (vector crypto) ratified extensions. This talk will describe a methodology for how to test hand-written assembly routines including resources you can copy directly into your project when adding support for RISC-V. Due to the difficulty in sourcing compliant RVV 1.0 hardware, and the need to permute testing configurations, this talk will also cover QEMU as a verification tool.

  • 10:00 – 10:20 – Comprehensible Open Hardware: Building the Open Book by Joey Castillo

We live in an era where technology, especially as shipped by large companies, can be an inscrutable black box to the end user. Your smartphone arrives in your life as a fully formed slab of glass and silicon: something meant to be used, but not understood. This kind of technology diminishes users’ agency and disempowers them from using the technology on their own terms.

The Open Book is an open hardware e-book reader that can be built from scratch and understood, at least in broad strokes, by the average user. In this talk I’ll walk through strategies that I’ve used when designing both the Open Book and other open hardware projects, to make objects that open themselves up not just to the developers that work on them, but to the users that work with them.

  • 10:20 – 10:50 – FreeCAD – state of the union by Yorik van Havre

A general and generic (but, we promise, not annoying) talk to show recent advancements in FreeCAD, and what we are working on.

  • 10:50 – 11:30 – KiCad Status Update by Wayne Stambaugh

An update of the happenings in the KiCad project since FOSDEM 2023.

  • 11:30 – 11:50 – LibrePCB Status Update by Urban Bruhin

A short overview of the progress and the current state of the LibrePCB project, including some live demonstrations of its capabilities.

LibrePCB is an Open-Source EDA software to design PCBs, providing the following advantages:

  1. Cross-platform: Windows/Linux/MacOS/Others | x86/ARM
  2. Intuitive & easy-to-use UI
  3. Powerful library concept
  4. Human readable file format
  • 12:00 – 12:40 – LLaMa.cpp: Utilizing RISC-V Vector Extension for Improving LLMs Performance by Ahmad Tameem and Umer Imran

This talk focuses on enhancing LLaMa.cpp Large Language Models (LLMs) Performance by using RISC-V Vector Extension. We’ll discuss the integration of RISC-V’s open-source architecture with LLMs, aiming for efficient computing, particularly on edge devices. The discussion includes an overview of RISC-V vector extension features, and the example of running and emulating LLaMa.cpp and GGML on RISC-V, offering insights into the future of LLMs in the RISC-V ecosystem. This talk aims to inspire further research and practical use of LLMs in the RISC-V environment.

  • 13:00 – 13:30 – The Basic Economics behind Open Source Funding in 2024 by Amanda Casari

You have a project. They use your project. They have money. They give you money. It should only be so simple, but it still isn’t despite the many platforms, blogs, and advice on how to get paid for your open-source work. In this talk, we will fundamentally explain the kinds of economic models of open source, including a basic taxonomy on types of funds and funders, special considerations and points of friction for open hardware, and how to unblock your projects and communities from funding challenges.

  • 13:30 – 14:00 – QUBIK a 1p PocketQube satellite platform by Ilias Daradimos

The story of QUBIK, an OpenSource/OpenHardware PocketQube satellite. How it came to be, the challenges faced, its mission in space, and its ongoing development as an experimentation and educational platform.

  • 14:00 – 14:30 – A satellite’s final safehouse: The deployer by Thanos Patsas

PICOBUS, developed by the Libre Space Foundation, is an 8p PocketQube satellite deployer. It’s a groundbreaking open-source deployer capable of storing and deploying up to 8 PocketQube Units while in orbit.

The first PICOBUS deployer was manufactured to fly onboard the maiden flight of Firefly Aerospace’s Alpha rocket, carrying two sets of QUBIK satellites, which are our very own open-source PocketQube satellites. The first launch faced a setback with an explosion shortly after liftoff, posing a threat to our deployer and satellites. However, an interesting turn of events followed! This will be discussed during this talk. The second launch attempt on October 1, 2022, was a success. PICOBUS flawlessly deployed all the satellites into space, marking a significant achievement for the open-source community. It’s a rare instance of open-source technology making it to orbit, which is quite remarkable.

Over the past year, Libre Space Foundation has been working on the second version of PICOBUS. This updated version is a more adaptable and lighter design, incorporating various advanced features and mechanisms to enhance its capabilities. During this talk, we will discuss all about open source in space, the open source tools used to achieve that, and the difficulties faced during this journey.

  • 14:30 – 14:50 – Electronic board production automation with KiCAD scripts by Tsvetan Usunov

Designing electronics is always fun, the later mass production organization is boring and routine work, and if you do not do it properly it can easily turn into a nightmare. The different machines used in production like printers, pick and place machines, ovens, AOI, and testers all run different software, different libraries, and different component naming concepts. So preparing for your KiCad project all programs to run on these machines is really time-consuming. Later on the machine jobs changeovers are also the source of machine operator errors. We have been dealing with electronic production for more than 30 years and we are constantly improving our process to avoid stupid mistakes and make the different machine programming easy and predictable process. KiCad scripting is a nice tool to automate all this boring stuff and I will share our experience with you.

  • 14:50 – 16:50 – Gotta Catch ‘Em All! Raspberry Pi and Java Pokemon Training by Stephen Chin and Cassandra Chin

The ideal age range for this workshop is 9-15 years old. You will be working with Raspberry Pi computers, a breadboard, sensors, etc.

The Pokemon have escaped the zoo and are running amuck! Using a miniature Raspberry Pi computer, a 3D printed pokeball, and the Java programming language, you can catch all of the escaped Pokeman and return them to the professor. For this workshop hardware will be provided, but we recommend that you purchase your own Raspberry Pi to continue catching Pokemon at home!

CNXSoft note: this is a workshop from the new “FOSDEM junior” track designed for anyone aged 7 to 17. Registration is required for each of the workshops.


The full schedule for FOSDEM 2024 sorted by day, track, or devroom can be found on the FOSDEM website, and as usual, it’s free to attend.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
3 Comments
oldest
newest
mark
mark
9 months ago

I’m a bit worried about Pine64 – there’s been no news from them in about 6 months, and their website servers seem to be having some trouble.

Can someone reassure me that all is well there…

JF002
JF002
9 months ago

Pine64 is very well alive and working with the community on many projects 🙂 They haven’t been able to publish new blog post for a few months because the people who work on it are too busy right now. As the contributor of the PineTime part of those community updates, I can assure you that writing those post takes quite lot of time! And the cluster that hosts the community website suffered from a hardware issue and the community members that maintain it are currently working on fixing it. Oh and feel free to come and visit their stand at… Read more »

mark
mark
9 months ago

🙂 Thank you. Appreciated.

Boardcon Rockchip and Allwinner SoM and SBC products