kicad_firmware_generation, TSN and Zephyr on Casio
Christopher Besch • 19th June 2026
 

  1. kicad_firmware_
    generation
  2. TSN for Spacecraft
  3. Zephyr on Casio

 

Part 1: Automatic Firmware Generation for Spaceflight Hardware based on Schematics

kicad_firmware_generation

  • Generate Group Netlist from KiCad schematics
  • Generate Code from Group Netlist
  • My bachelor thesis:
    • implementation
  • My PdF:
    • Writing paper
    • More analysis
  • Use case: DLR PCDU satellite module

Synthetic Benchmark

  • 120 test cases
  • Made with KiCad Open-Hardware projects
  • Automatically add synthetic annotations to schematics
  • Test runtime of kicad_firmware_generation

Systematic Fault Injection

  • Inject faults into PCDU schematics:
    swap labels, delete cables
  • 8885 unique faults
  • Over a week on CES server
  • Manual sample (300 cases) for fault classification
 

Part 2:
TSN for Spacecraft

Networking inside Spacecraft

  • Real-time: worst-case delay, jitter
  • Previously: proprietary point-to-point connections
    → heavy, costly
  • Can we use Ethernet & IP?

Transport Layer

UDP

  • Unreliable service
    (e.g., packets might be dropped)
  • Simple (3 pages in RFC 768)

TCP

  • Reliable service using
    Automatic Repeat Request (ARQ)
  • Complex (98 pages in RFC 9293)

Time Sensitive Networking (TSN)

  • Standardised under IEEE 802.1Q
  • Reliability at link layer: never drop a packet → no need for TCP
  • Accurate time-stamps based on PTP (Precision Time Protocol)
  • Hard timing guarantees

My Task

  • Validate TSN for use in spacecraft
  • Build a demonstrator
  • TODO: ring topology

Linux TSN Support

  • TODO

Zephyr TSN Support

  • TODO

Software Requirements

  • Open-source networking stack
  • Embedded
  • Real-time

Options

  • Linux with PREEMPT_RT
  • Zephyr

Hardware Requirements for TSN

For TSN Endpoints

  • IEEE 802.1AS: gPTP (based on IEEE 1588: PTP)
  • IEEE 802.1Qav: credit-based traffic shaper

TSN Switching

  • In-hardware switch
  • IEEE 802.1Qci: Per-Stream Filtering and Policing
  • Switchdev driver

Hardware Options

ST

  • STM32 MCU: no MMU → no Linux
  • STM32MP1: no TSN
  • STM32MP2 (like STM32MP257F): closed source drivers for switch (no switchdev implementation)

NXP

  • i.MX 8DXL + SJA1105Q: expensive
  • NXP Layerscape 1028A: expensive

Intel

  • i226-it: PCIe card; not embedded; no switch

Texas Instruments

  • SK-AM64B
  • TMDS64EVM: expansion connector with RMII for other PHYs
 

Part 3:
Zephyr on Casio

Casio A199W, launched in 1989

  • Few features

Ollee Watch, launched in 2025

  • Replaces Casio A199W PCB
  • Many features
    a small smartwatch with Bluetooth and app
  • STM32WB55RG
  • Closed-source firmware and app

Morse Watch, my Project

  • Using Casio case/LCD and Ollee PCB
  • Open-source firmware
  • Using Zephyr
  • Super low-power
    battery life target: 1 year

Project Mile Stones

  1. Casio LCD dev kit
  2. Reverse-engineered Ollee KiCad schematics
  3. Zephyr board definition for Ollee
    (using kicad_firmware_generation)
  4. Zephyr application: Bluetooth, OTA (MCUboot, MCUmgr)
  5. Zephyr driver for STM32 direct LCD drive
  6. Article on Zephyr LCD driver development
  7. Article on Zephyr's IWDG watchdog driver
  8. Zephyr PR #108622

Summary

  1. kicad_firmware_generation
    • Paper writing
    • Synthetic benchmark
    • Fault injection
  2. TSN for Spacecraft
    • TSN literature research
    • Hardware selection
    • Software selection
  1. Zephyr on Casio
    • Zephyr learning project
    • Working demo
    • 2 articles, 1 PR