Skip to content
View paletteguy's full-sized avatar

Highlights

  • Pro

Block or report paletteguy

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
paletteguy/README.md

Karsten Sperling Opdal

Developing Embedded Systems into the future of AI

Contact details

Company: Opdal Enterprise
CVR: 31357667
Address: Nordvangen 13, DK-4600 Køge
Phone: +45 42 40 42 82
Email: karsten.s.opdal@gmail.com
LinkedIn: https://linkedin.com/in/karstenopdal-7a11512
Web: https://opdal.dk
GitHub profile: https://github.com/paletteguy


Summary

An embedded Linux specialist bringing embedded platforms to life — reliably and securely.

30+ years spanning Nokia handsets, Infineon baseband platforms, and medical simulation devices. He owns the full stack from silicon to screen: Yocto build systems, kernel bring-up, real-time C++ services, Qt/QML interfaces, CI/CD pipelines, secure OTA deployment, and security hardening (secure boot, RED, FIPS 140). Builds his own tools — from AI-powered crash analyzers to HSM-backed certificate portals. AI is deeply integrated into his engineering workflow.

Ready to help design and architect the next embedded system, where security is the foundation.

Copenhagen, Denmark | Open to remote across Europe


Core Skills

C · C++ (C++23) · Embedded Linux · Yocto · Linux kernel · Qt/QML (Qt 3–6) · Python · Rust · WiFi/Bluetooth · CI/CD · GitHub Actions · Boost · Azure · Secure boot · FastAPI · Tauri · AI-assisted engineering


Languages

Danish: Native speaker (written and spoken)
English: Fluent — second language used throughout career, full professional proficiency
Norwegian: Fluent understanding (spoken and written), conversational speaking — 25 years' exposure, Norwegian spouse
Swedish: Strong understanding (spoken and written), near-conversational speaking — 30 years' exposure, neighbouring country
German: Good understanding (spoken and written), speaking somewhat rusty — 10 years during education


Experience

Laerdal Medical

Senior Software Engineer Consulting
October 2010 – February 2026 (15 years 5 months)

  • Senior Embedded Software Engineer / Build System Architect for SimPad devices / simulators and SimMan3G product lines.
  • Lead maintainer of Yocto/OpenEmbedded build platform delivering production Linux across ARM32, ARM64, x86-32, and x86-64. Evolved through six major Yocto releases (Rocko to Scarthgap). Migrated from Ubuntu to custom distribution with RAUC A/B OTA updates and Azure Key Vault HSM signing.
  • Architected multi-platform CI/CD pipelines with GitHub Actions, SBOM generation, and automated CVE tracking for medical device compliance.
  • Linux kernel configuration, debugging, patching, and Device Tree customization across i.MX6, i.MX8M Plus, and Intel x86 — board bring-up, peripheral enablement, pin muxing, clock trees, and driver troubleshooting.
  • Developed real-time simulation engine controlling medical manikins (SimMom, SimBaby, MammaAnne, SimMan ALS) via CAN bus or IOC controller and physiological modelling. C++ (up to C++23) with Boost.
  • Designed and developed SimPad touch-screen UI using Qt 4–5 with QML for embedded interfaces.
  • Proficient in C#, used for LLEAP development.
  • WiFi connectivity and ALSA audio pipelines for clinical simulation. Bluetooth expert with patches contributed to BlueZ and Qt Bluetooth stacks.
  • Applied EU Radio Equipment Directive (RED) compliance — hardened Linux kernel configuration, implemented secure boot, and built a CVE checker tool that analyzed whether kernel config options introduced known vulnerabilities or whether existing patches already addressed them.
  • Created SimServer Imager (Qt6/C++/QML, based on Raspberry Pi Imager) for managed WIC/VSI/SPU deployment and CDN distribution.
  • Built VEX Kernel Checker — AI-assisted Kernel CVE analysis integrated with Dependency-Track.
  • Built SSH Certificate Portal (FastAPI/Python) — self-service time-limited SSH certificates with Azure AD OIDC, HSM-protected CA signing (RSA/ED25519/ECDSA), deployed on Azure App Service.
  • Designed Azure Key Vault HSM signing workflow for RAUC bundles and secure boot — non-exportable keys, automated renewal via Azure Automation, multi-environment CI integration.
  • Built Jira Analyse Companion — AI-powered diagnostic platform using Claude/Gemini/OpenAI for crash analysis across SimPad, LinkBox, and CAN firmware. Jira automation, source context integration. Delivered as CLI, VS Code extension, and Tauri desktop app.

Skills: C++ · C++23 · Boost · C# · Rust · Python · Bash · JavaScript · TypeScript · Yocto · Linux kernel · Device Tree (DTB) · ARM (i.MX6/i.MX8) · x86 · Qt 4 · Qt 5 · Qt 6 · QML · FastAPI · RAUC · Azure · GitHub Actions · CAN bus · ALSA · WiFi · Bluetooth · BlueZ · Tauri · Secure boot · RED · Security · GDPR · FIPS 140 · NIST SP 800-171 · Unit testing · TDD · OOD · System architecture · Software architecture · WCF · XAML · MAUI

Oscilloscope

Senior Software Engineer Consulting
October 2010 – June 2019 (8 years 9 months)

  • Freelance

Nokia

Software Engineering Specialist
April 2010 – October 2010 (7 months)

  • I excelled in identifying and resolving complex firmware issues at Nokia, significantly enhancing product performance.
  • Specialized in debugging intricate hardware/software interaction bugs on mobile platforms.
  • Successfully fixed a battery drain issue that had persisted for years, improving battery lifetime by 30%.
  • Developed critical skills in embedded systems analysis and problem-solving within a leading technology company.

Skills: C · C++ · Linux · BSD · Unix · Embedded firmware · Debugging · Lithium battery management · Teaching · Developer support

Nokia Mobile Phones

Senior Software Engineering Consultant
September 2008 – February 2010 (1 year 6 months)

  • Provided expert consultation on the S40 platform software, focusing on bug fixing and error correction.
  • Debugged firmware issues across the S40 software stack to enhance performance and reliability.
  • Collaborated with cross-functional teams to ensure timely resolution of software defects, improving user experience.

Skills: C · C++ · S40 platform · Firmware debugging · Visual Studio plugin · BSD · Linux · Unix · Bash

Infineon

Software Expert
October 2007 – September 2008 (1 year)

  • Developed the Nokia 2110 low-cost phone platform during an expat assignment in Copenhagen.
  • Optimized embedded software for resource-constrained hardware, ensuring efficient use of memory.
  • Delivered high-quality software under tight deadlines, focusing on minimizing resource usage.

Skills: C · Embedded software · Memory optimization · Linux · Unix · BSD · Expat · Mentoring

Thorsø Data

Software Expert
October 2007 – September 2008 (1 year)

  • In house Senior Contract Software Engineer

Tang-Data A/S

Senior Software Engineer
March 2007 – October 2007 (8 months)

  • Developed a comprehensive veterinary CRM system utilizing Qt 3 and Qt 4, enhancing client management.
  • Provided on-site support for veterinary computer setups, ensuring seamless CRM hardware installations.
  • Collaborated with cross-functional teams to address customer needs and improve system functionality.

Skills: C++ · Qt 3 · Qt 4 · Linux · CRM · OOD · Teaching end users

Nokia

Senior Software Engineer
September 2000 – February 2007 (6 years 6 months)

  • Enhanced the software development lifecycle at Nokia through innovative UI development.
  • Developed internal tools that streamlined handset software testing processes.
  • Enabled mobile phone development in a simulated environment using Microsoft Visual Studio.
  • Developed a music player database using SQLite on a memory-constrained S30 embedded device, using test-driven development as the player and UI were not yet available.

Skills: C · C++ · Visual Studio · wxWidgets · Qt 3 · Unix · BSD · Simulation · UI development · SQLite · TDD · OOD · WCF · XAML

EC-Soft Danmark A/S

Senior System Software Engineer
October 2000 – December 2001 (1 year 3 months)

  • Consultant work for Nokia Denmark A/S developing S30 phones

Telenor

Contract Software Engineer
March 2000 – August 2000 (6 months)

  • Developed a web service enabling mobile access to Outlook email and calendar via WAP, one of the earliest mobile web integrations.

Skills: Microsoft Visual Basic# (.NET) · REST API · Web Server · WAP

EC-Soft Norge AS

Senior Software Engineer
March 2000 – September 2000 (7 months)

  • In house Software Consultant

Nokia

Contract Software Engineer
May 1999 – February 2000 (10 months)

  • Developed user interfaces for Nokia's iconic handset models, including the 3210 and 3310.
  • SMS domain expert with full knowledge of 2G protocols. Collaborated with a fellow developer to implement concatenated SMS messaging.
  • Integrated T9 input support, improving text input efficiency for users.
  • Improved memory management on the S30 platform, optimizing resource usage on constrained hardware.

Skills: C · Unix · BSD · 2G protocols · SMS expert · T9 · UI development · S30 platform · Memory optimization

EC-Soft Danmark A/S

Software Consultant
May 1999 – February 2000 (10 months)

  • In house software consultant

Vizion Factory ApS

Software Engineer
December 1997 – April 1999 (1 year 5 months)

  • Played a key role in software development and early web solutions, contributing to the burgeoning internet landscape.
  • Built applications that addressed emerging needs and developed a training engine paired with a web interface to streamline user interaction.
  • Developed a web browser in Delphi Pascal to render HTML-based training materials.
  • Created screensavers using DirectX for 3D rendering.

Skills: Delphi Pascal · OOD · Windows · Windows COM+ · DirectX · Assembler x86 · Web development

Greve Kommune

Network System Specialist
January 1993 – October 1997 (4 years 10 months)

  • Set up new networks to enhance connectivity and efficiency within the organization.
  • Led network evolution:
    • 1 Mbit coaxial LAN
    • 10 Mbit (10BASE-T)
    • 100 Mbit UTP (100BASE-TX)
  • Provided training to employees on computer use, fostering a tech-savvy workplace.
  • Maintained hardware by adding and replacing components, ensuring optimal performance.
  • Built a database system for time registration and contractor management using Microsoft Visual Access.
  • Created celebration cards and information posters using CorelDRAW.
  • Developed WordPerfect macros to standardize letter templates for Greve Kommune's new visual identity.
  • Participated in transition from WordPerfect to Microsoft Office (Word, Excel), including user training and template migration.

Skills: Ethernet Protocol · Coaxial LAN (1 Mbit) · 10BASE-T · 100BASE-TX UTP · TCP/IP · Managed networking · Hardware · WordPerfect · Microsoft Office · Microsoft Visual Access · Database development · CorelDRAW · Teaching

Military Service

Recruit
February 1992 – October 1992 (9 months)

  • Danish Army, HAWK‑eskadrille at Stevnsfortet, Zealand

Opdal Enterprise

Owner
September 2008 – Present (17 years 7 months)

  • Køge Municipality

Home development

Developer
April 1983 – Present (43 years)

  • Developed Game for C-64, demos for C-64 and Amiga and a task / thread / resource manager for Amiga OS.
  • Developed music editor software C-64, Amiga and PC Dos.
  • Currently developing Android application for learning purpose and application with Rust and Svelte

Skills: C-64 · Amiga · Assembler 6502/68000 · C++ · C# · Python · Rust · Svelte · Android · GitHub · Azure · AWS · Web API · OOD

Hjemmeværnet

Volunteer
April 2002 – Present (24 years)

  • Danish Home Guard, Hjemmeværnet, Køge, Zealand
  • Trained in basic military skills and regularly participate in exercises and operations to support national defense and civil authorities.

Github repositories


Education

Software development

Niels Brock

Bachelor's Degree, Computer Science
August 1990 – January 1992

Niels Brock

Bachelor's Degree, Business/Commerce, General
August 1988 – June 1990

EFG Handel og Kontor

Basic business school
August 1987 – Juni 1988

Krogaardskolen

High school diploma
1976 – 1987

Popular repositories Loading

  1. meta-qt5 meta-qt5 Public

    Forked from meta-qt5/meta-qt5

    QT5 layer for openembedded

    BitBake 1

  2. paletteguy paletteguy Public

    Config files for my GitHub profile.

    Python

  3. rauc rauc Public

    Forked from rauc/rauc

    Safe and secure software updates for embedded Linux

    C

  4. meta-rauc meta-rauc Public

    Forked from rauc/meta-rauc

    Yocto meta layer for RAUC, the embedded Linux update framework

    BitBake

  5. meta-dependencytrack meta-dependencytrack Public

    Forked from bgnetworks/meta-dependencytrack

    A Yocto meta-layer for generating CycloneDX SBOMs and automatically uploading them to Dependency Track.

  6. profile profile Public

    Profile of me