Bernd Westermann
Software Developer
Experience
Software Developer
NEURA Robotics GmbH
Developed a visualization module based on Toradex's Verdin iMX8M Plus.
Created a project-specific Yocto BSP based on the "Toradex Yocto Project" (scarthgap).
Adapted and created kernel drivers and device tree for the NXP i.MX8 processor used.
Supported the GO product app on Linux / Yocto / systemd.
Set up a Wi-Fi AP using hostap and dnsmasq.
Products: Yocto, Embedded Linux.
Skills: C++, Go, Yocto, i.MX8.
Location: Remote.
Software Developer
Smight GmbH
Created concepts for the series rollout (prototype) of Linux secure boot and disk encryption on Smight's existing ARM platform.
Evaluated secure boot on Raspberry Pi CM4/CM5 modules from IoT device management platforms: Balena, Qbee.
Developed a Raspberry Pi CM4 Linux system for Qbee fleet management.
Configured and used Yocto scarthgap.
Integrated Qbee using meta-qbee.
Set up signed boot for Raspberry Pi CM4 (EEPROM and OTP provisioning).
Created a signed Yocto fitImage.
Signed the kernel and modules.
Signed the filesystem (read-only) with dm-verity.
Implemented filesystem encryption.
Managed OTA updates with RAUC.
Virtualized on the CM4 using Docker.
Considered the requirements of the Cyber Resilience Act (CRA).
Products: Raspberry Pi CM4, Raspberry Pi CM5, Balena, Qbee.
Skills: Yocto, Secure Boot, RAUC, Cyber Resilience Act (CRA).
Location: Remote / Karlsruhe, Germany.
Software Developer
biolitec Holding GmbH & Co KG
Provided development support for Biolitec's medical laser systems.
Updated and fixed bugs in the Yocto Linux used by DigitalGate.
Moved the project to Biolitec's GitLab and set up CI.
Supported the i.MX6-based Trizeps SOM (WinCE / Qt).
Supported microcontroller software for the dsPIC.
Products: Raspberry Pi CM4, Raspberry Pi Compute Module 4, i.MX6, dsPIC, Yocto.
Skills: ANSI C++, ANSI C, WinCE, Qt.
Location: Remote / Bonn, Germany.
Software Developer
Freelance
Developed a Raspberry Pi 4 Linux system using Yocto.
Created a project-specific Yocto BSP based on the "Yocto Project" (scarthgap).
Switched the system to systemd.
Enabled U-Boot as the bootloader.
Set up a Wi-Fi AP using hostap and dnsmasq.
Implemented software update/OTA with RAUC.
Set up a Hawkbit update server.
Integrated Qt6 (meta-qt6).
Created a Qt6 SDK (meta-toolchain-qt6).
Device setup for Qt6 (eglfs).
Products: Raspberry Pi, Yocto, Hawkbit, Qt6.
Location: Remote.
Software Developer
NEURA Robotics GmbH
Developed a visualization module based on the iMX93 Quick Start Evaluation Kit.
Created a project-specific Yocto BSP based on the "FSL Community BSP" Yocto (scarthgap).
Adapted and created kernel drivers and device tree for the NXP i.MX93 processor used.
Supported the GO product app on Linux / Yocto / systemd.
Set up a Wi-Fi AP using hostap and dnsmasq (hardware: IW612 WiFi chip).
Products: Yocto, Embedded Linux.
Skills: C++, Go, Yocto, i.MX93.
Location: Remote.
Software Developer
Dürr Dental
Yocto based software development in the field of medical technology.
Development support for a new control unit at Dürr Dental.
Porting the Yocto-based BSP from MSC Technologies GmbH to the open "FSL Community BSP" Yocto (scarthgap).
Adjusting and creating kernel drivers and device tree for the NXP i.MX8 processor used.
Adjusting the U-Boot bootloader.
Implementing IoT connectivity using LTE (NB-IoT, LTE-M).
Software updates/OTA using RAUC.
Supporting hardware developers with debugging (oscilloscope, soldering, etc.).
Development for GitLab CI and Docker developer containers.
Products: Yocto, Embedded Linux.
Skills: C++, ANSI-C, Yocto, i.MX8.
Location: remote.
Software Developer
Meteocontrol
Yocto based software development in the field of solar energy.
Development of a new component for controlling and monitoring PV systems.
Porting the Yocto-based BSP from Phytec Messtechnik GmbH to the open "FSL Community BSP" Yocto (kirkstone).
Creating a secure boot concept using the NXP Code Signing Tool for the i.MX8mp.
Implementing software updates/OTA using RAUC.
Adjusting and creating kernel drivers and device tree for the NXP i.MX8 processor used.
Adjusting the U-Boot bootloader.
Support for the Node.js application on Linux / Yocto.
Development for GitLab CI and Docker developer containers.
Supporting hardware developers in porting to the custom hardware (new "machine" in Yocto).
Integration of a USB hub (CYUSB3304-68LTXI) including control via I2C.
Integration of an NXP EdgeLock SE050 "Enhanced IoT Security" module via I2C.
Yocto adjustments for the "EdgeLock Plug & Trust Middleware" of the SE050.
Products: Embedded Linux, Yocto.
Skills: C++, ANSI-C, Yocto, i.MX8, Linux, U-Boot.
Location: remote.
Training Manager
Dürr Dental
Workshop on "Developing Embedded Linux Systems with Yocto".
Yocto introduction (recipes, layers, etc.).
Kernel development with Yocto.
Release management with Yocto.
Comparison of community Yocto (FSL, Yocto Project, etc.) vs. vendor Yocto (Phytec, MSC, etc.).
Products: Yocto, kernel drivers, Linux.
Location: remote.
Software Developer
Vorwerk
Yocto based software development in the field of robotic vacuum cleaners.
Development of the first industrial robotic vacuum cleaner for Vorwerk / Nexaro.
Deployment of the Nexaro 1500 in a cloud-controlled fleet, e.g., in office buildings or hotels.
Adapting and implementing the Yocto Linux system carried over from Vorwerk consumer robots.
Adapting and implementing secure boot using the NXP Code Signing Tool for the i.MX8mn.
Adjusting and creating kernel drivers and device tree for the NXP i.MX8 processor used.
Adjusting the U-Boot bootloader.
Implementing IoT connectivity using LTE (NB-IoT, LTE-M).
Implementing software updates/OTA using SWUpdate.
Developing embedded software for the interface (SPI) between Linux on the i.MX8 and FreeRTOS on the MCU side.
Developing the interface between the MCU, safety MCUs (functional safety), and the i.MX8.
Demonstrating and presenting progress during sprint reviews.
Development for GitLab CI and Docker developer containers.
Supporting hardware developers with debugging (hardware bring-up, oscilloscope, soldering, etc.).
Products: Embedded Linux.
Skills: C++, ANSI-C, Yocto, i.MX8, Linux kernel, U-Boot.
Location: Wuppertal / remote, Germany.
Software Developer
Unicon Software GmbH
Linux-based software development in the field of thin clients.
Target platforms: eLux Thin Client OS, Ubuntu, x64 hardware.
Adapting and porting new software for the eLux thin client OS.
Integrating and customizing NetworkManager.
Integrating and customizing TigerVNC (e.g., zoom function).
Using and customizing Video4Linux.
Using Debian package management.
Products: Embedded Linux, Ubuntu, VNC, eLux.
Skills: C++, IP networking, IEEE 802.1x.
Location: Karlsruhe (Baden), Germany.
Software Developer
C.r.s. Iimotion GmbH
Embedded Linux software development for 4K camera systems (medical technology).
Created BSP with Elbe (Debian-based).
Used PetaLinux for the target platform.
Linux kernel development and device tree adjustments.
Target hardware: Xilinx ZYNQMP zcu106.
Products: Elbe, 4K camera systems, PetaLinux, Xilinx ZYNQMP zcu106, Vitris, Vivado HLS.
Location: Villingen-Schwenningen, Germany.
Software Developer
heliosys GmbH
Embedded Linux software development on i.MX8 hardware.
Created a Yocto BSP.
Linux kernel development and device tree adjustments.
Target hardware: i.MX8.
Skills: Yocto, i.MX8, Linux kernel, Lua.
Location: Bavaria, Germany.
Software Developer
Testo SE & Co. KGaA
Yocto-based software development for thermal imaging cameras.
Created a Yocto BSP (Yocto Warrior).
Created and adapted Bitbake recipes.
Linux kernel development and device tree adjustments.
Set up a build server with Jenkins.
Used Git and Jenkins for build and version management.
Target hardware: i.MX6.
Products: Yocto, thermal imaging camera, Yocto Warrior, Linux kernel, i.MX6, Jenkins.
Location: Titisee-Neustadt, Germany.
Software Developer
Phytec Messtechnik GmbH
Embedded Linux development on TI AM335x and i.MX6 hardware.
Created Yocto recipes.
Upgraded Yocto to the Sumo release.
Upgraded the kernel to version 4.14.
Upgraded Barebox.
Device tree adjustments.
Products: Yocto, AM335x, i.MX6, kernel, Barebox.
Location: Mainz, Germany.
Software Developer
Valeo peiker acustic GmbH & Co. KG
Embedded Linux software development for automotive connectivity.
Created Yocto BSPs (host systems: Debian and Ubuntu).
Created and adapted Bitbake recipes.
Linux kernel development.
Qualcomm/WNC kernel development and integration.
Target hardware: i.MX6/i.MX8, Qualcomm-based platforms.
Performed code reviews.
Used Git, Gerrit and Jenkins.
Integrated and tested 2G/3G/4G and VoLTE functionality.
Products: Yocto, Qualcomm, i.MX, Git, Gerrit, Jenkins, LTE modem, automotive.
Location: Friedrichsdorf, Taunus, Germany.
Software Developer
Liebherr-Elektronik GmbH
Development of an ARM-based embedded device on i.MX6 hardware.
Embedded Linux development on customer hardware based on i.MX6.
Creation of Yocto recipes for customer and external software sources.
Bluetopia integration.
TI WiLink 8 connectivity.
Linux migration of AMBER embedded Wireless M-Bus modules.
Products: Yocto, Embedded Linux, kernel development, i.MX6, Bluetopia, TI WiLink 8, AMB8626 Wireless M-Bus module, U-Boot, GitLab, Git, UDS, CAN, DTC, SQLite.
Location: remote / Lindau, Germany.
Software Developer
Testo AG
Support in migrating embedded hardware to Linux.
Setup of the development environment with Buildroot.
Driver adaptation and development for DSS/CSI, BQ24297, and TI WiLink 8.
Use of Embedded Linux, GitLab, and U-Boot.
Use of WiFi, Bluetooth, and BlueZ.
Use of Jenkins for Continuous Integration.
Target hardware includes: AM3715 Sitara, USB gadget driver, OMAP.
Topics: DRM, BQ24297, PCI DSS, DSI, V4L2, BTLE, CSI, video streaming, kernel development.
Skills: Scrum.
Location: remote / Titisee, Germany.
Software Developer
Testo Visual Systems GmbH
Support in developing i.MX6-based embedded hardware.
Use of Yocto as the development environment at project start.
Migration of the development environment to Debian / ELBE later in the project.
Implementation of external libraries in Yocto, e.g. OpenCV and Eigen (libEigen).
Creation of Yocto recipes and later Debian packages for existing software.
Products: Yocto, ELBE, Debian, Git, Jenkins, i.MX6, Qt 5, OpenCL, OpenCV, Bluetooth, CMake, Embedded Linux, Image processing, Wandboard, Eigen (libEigen).
Skills: Scrum.
Location: remote / Titisee, Germany.
Software Developer
BDT Bavaria Digital Technik GmbH
Implementation of a protocol converter using an AMD embedded PC.
Goal: control of a CHP plant over various interfaces and access via a portal server.
Use of GX-412TC, Debian, GitLab, Eclipse, Node.js, Redis, CAN, Modbus.
Implementation of secure communication and tunneling mechanisms.
Use of reverse SSH tunnel, SSH, 3G, SSD, Clonezilla, SSL, systemd, Exim, Debhelper.
Creation of Debian packages.
Use of WiBuKey.
Location: remote / Pfronten, Germany.
Software Developer
heliosys GmbH
Diagnosis of network traffic between embedded devices.
Identifying transmission issues in communication between multiple embedded devices at the Ethernet level.
Carrying out a long-term notebook analysis using a Netgear Plus switch.
Use of Wireshark, Kali, Tcpdump.
Location: remote / Haldenwang, Germany.
Software Developer
heliosys GmbH
Connected a Linux embedded device to a Windows domain.
Used CentOS, Windows domain, Winbind.
Location: remote / Guxhagen, Germany.
Software Developer
heliosys GmbH
Network connection for an embedded device.
Connected control hardware to the internet.
Implemented using the "Digi Connect ME" from Digi.
Used "Digi Connect ME", DigiEL (Digi Embedded Linux), serial communication, and Ethernet.
Worked with NS7520, ARM7TDMI, GitLab, CGI.
Location: remote / Haldenwang, Germany.
Administrator
heliosys GmbH
Installed and administered a Linux server for the company.
Operated a Debian server with services like Docker, DNS bind9, Samba 4.1, Exim, GitLab, rsnapshot.
Created and maintained shell scripts to automate admin tasks.
Used encryption technologies like LUKS, dm-crypt, and OpenSSL.
Products: Debian, Docker, DNS bind9, Samba 4.1, Exim, GitLab, rsnapshot.
Skills: Bash, shell, encryption, LUKS, dm-crypt, OpenSSL.
Location: remote / Haldenwang, Germany.
Development
FRAKO Kondensatoren- und Anlagenbau GmbH
Linux kernel development for an energy management device.
Kernel development for an AMD Geode system.
Used the ptxdist-0.5.1 toolchain from Pengutronix.
Ported the toolchain to a 2012 ptxdist version.
Development of a central controller for high-frequency generators
Hüttinger Elektronik GmbH + Co. KG / TRUMPF GmbH + Co. KG
Developed a central controller for high-frequency generators.
Software development (MDA/MDD) with Rhapsody in C (version 7.1.1.1) and Willert Embedded UML RealTime Execution Framework RXF for RT Linux.
Used ptxdist (gcc 4.1.2, glibc 2.5, gdb) from Pengutronix as the BSP.
Implemented an API for Rhapsody to access the hardware under Linux.
Developed kernel drivers (UIO).
Adapted software stacks, e.g., Profibus stack.
Target hardware: MPC5200B.
Interfaces: CAN, RS-232, Profibus, Ethernet, USB host, DeviceNet, SPI.
Software used: Rhapsody in C, Eclipse, KDevelop, Valgrind.
Set up and supported Linux (Debian / Ubuntu) within a virtual machine (VMware) for developer PCs.
Created and maintained a Debian server (LDAP, Subversion, Mantis, DokuWiki, Git).
Performed HALT tests (Highly Accelerated Life Test).
Validated a user interface (OMAP, i.MX, PXA).
Ported a EUROS application to Linux.
TI TMS320C28335 DSP programming.
Requirements management with IRQA.
Linux Kernel Driver Development
FS Forth-Systeme GmbH / Digi International
Project work in the area of Linux kernel driver development.
Target platforms: ARM7/9, XScale PXA255/270, NetSilicon 7520/9750, Samsung 2410/2440, Atmel AT91RM200.
Development on Digi Connect ME (ARM7TDMI NS7520): 4 MB NOR flash control, implementation of NS7520 Ethernet multicast, big-/little-endian switch.
Porting Linux 2.4.22 and 2.6.17 to the target hardware Digi ConnectCore XP270 (XScale PXA270) with LCD, USB host (PXA and SL811HS), USB device (PXA), PCMCIA/Compact Flash, I²C, UARTs, SMSC LAN91C111.
Used U-Boot 1.1.3 and Linux 2.6.12.
Development on Digi ConnectCore Wi-9C (NS9360, ARM9): Wireless 802.11g with FPGA + UW2453 (ieee80211 Linux API, ieee80211softmac, hardware AES, wpa_supplicant), USB device (NS9360), U-Boot 1.1.4, Linux 2.6.17.
Development on Digi Connect Wi-EM (ARM7TDMI NS7520): Wireless 802.11b, Linux 2.4.22 and 2.6.17.
Development on Digi ConnectCore 9P9750: Madwifi porting for Linux 2.6.12.
Used version control systems: CVS, Subversion, and Git.
Java Development
Comnes GmbH
Project work in Java development and consulting.
Used IBM Java 1.3, JBuilder, OOA/OOD, JNI, GCC, VMware.
Developed client/server applications based on TCP/IP.
Used PostScript, RMI, JDBC.
Network support: Linux servers, Samba, routers, mail, fax, firewall, Apache.
Software Development
Fell Edv-Service GmbH
Software development of a loan processing program (client/server).
Developed in Java (IBM 1.3, JBuilder, CaseTools, Eclipse, JMF) with OOA/OOD.
Created native modules (JNI, GCC) and graphics/printing classes as a base for GUI classes developed in the team.
Used TCP/IP, PostScript, RMI, JDBC, MySQL.
Target platforms: Win32, OS/2, Linux/Unix.
Development on Linux PC, testing and JNI development on Windows clients.
JNI development with GCC and Watcom C, e.g. scanner/printer control, mathematical calculations in C and C++, interfaces to C programs.
Implemented a host interface (Fiducia/KSI).
Migration of existing BASIC code to Java (OO).
Operated Linux servers (Samba, routers, mail, fax, firewall, Perl).
Mentored apprentices.
Provided customer support and training.
Data Center Staff / Lab Engineer
BA-Loerrach
Data center staff / lab engineer in the trinational engineering program.
Managed and commissioned the network (Novell NetWare 5, Sun Solaris, Linux, VMware, HP OpenView, 3Com switches, Cisco routers, firewall, etc.).
Electrical and IT training of students.
Maintenance, monitoring, repair, and expansion of the BA network with about 250 PCs and 750 students.
Introduced security-related isolation mechanisms in router and switch areas (e.g. VLAN tagging IEEE 802.1q).
Operated a heterogeneous TCP/IP network with Novell 5.0, SuSE Linux 6.4, Windows NT 4.0.
Commissioned new network technologies, e.g. secure 11 Mbit/s wireless link.
Trained first-semester students with a focus on networking technology.
Development Engineer
KLA-Tencor AG / NANOPRO GmbH
Development engineer for optical wafer geometry measurement devices (diagnosis, calibration, diagnostics, metrology, chip technology).
Measured the wafer surface at the nanometer scale by evaluating interference images created by laser irradiation (interferometry).
Development work in Freiburg im Breisgau and Milpitas (USA, CA).
Development with Visual C++, Delphi, PLC, OOA/OOD.
Technical training of American staff.
Locations: Freiburg im Breisgau, Germany / Milpitas, United States.
Software Developer
dataMAX Bremen
Setup and development of an internet server (dial-in, ISDN, modem, web, mail).
Installation and configuration of Linux (RedHat, SuSE) for server services.
Software Developer
ZARM Bremen
Development in the field of high-speed image processing and combustion research.
Use of a DALSA CCD camera and Matrox Pulsar frame grabber on a PC platform.
Building an image database (SQL).
Hardware and software development using Watcom C++ 10.6 (Windows NT 4.0, OS/2) and Java (without image acquisition).
Summary
I am a software developer with extensive experience in developing embedded Linux systems, focusing on Yocto-based development, kernel drivers, and device tree configurations. I have contributed to projects in robotics, medical devices, automotive connectivity, and energy management, delivering robust solutions on platforms like i.MX, Raspberry Pi, and ARM-based systems. My expertise in C++, ANSI-C, and related tools has driven secure boot implementations, OTA updates, and real-time systems integration.
I offer practical skills in Linux system customization and seamless project delivery in challenging environments. I consistently adapt to evolving technical needs while ensuring quality and efficiency in every solution I design and implement.
Skills
- Yocto
- Linux
- Kernel
- Kvm
Languages
Education
University of Bremen
Diploma Engineer (Univ), Electrical Engineering · Electrical Engineering · Bremen, Germany
Similar Freelancers
Discover other experts with similar qualifications and experience