Embedded Swift Community Hour (March 14, 2025)

Embedded Swift Community Hour – March 14th, 2025 – Recap

Thank you all for joining the first Embedded Swift Community Hour! It was a pleasure meeting everyone and hearing about the many ways you're using Embedded Swift.

I’d love to hear any feedback—feel free to share your thoughts in this thread or send me a DM.

Attendance & Projects

We had around 20 participants throughout the hour, joining from locations worldwide, including California, Utah, Ontario, Belgium, the Netherlands, England, Denmark, Germany, Saudi Arabia, Ukraine, and more!

Attendees shared a variety of Embedded Swift projects, including:

  • @mortenbekditlevsen’s handheld device project with their daughter

  • @spevans’s bare-metal x86 kernel

  • And many others—check them out:

:pushpin: Project Links:

Discussion Highlights

First-Time User Experience

A major topic of discussion was how to improve the onboarding process for new Embedded Swift developers. Rough edges included:

  • SourceKit-LSP setup can be tricky to configure reliably

  • A simple SwiftPM package template for Embedded Swift would be helpful

  • Interest in a simple Swift-based IDE similar to Arduino Studio or MicroPython

  • Lack of high-level guides for different development styles ("easy mode" vs. "hard mode")

  • A need for more structured documentation on integrating Swift with existing C libraries

Bare-Metal Development

For those working at a lower level, several technical topics came up:

Embedded Swift on Linux

  • Interest in using Embedded Swift for Linux user space (and kernel space) for extremely small binary sizes

  • Discussion around the feasibility of a portable Swift libc or bringing swift-system to embedded

Platform Considerations

  • Interest in examples setting up ARM vector tables and clearer documentation on low-level startup code

  • Exploring how Swift should handle platform dependencies (e.g. memory allocation, etc.)

  • Potential support for architectures beyond ARM and RISC-V, including Xtensa, Z80, and Arduino platforms

Build System & Interoperability

  • Challenges in integrating SwiftPM with other build systems like CMake (e.g., Pico SDK)

  • Interest in generating C headers from Swift (-emit-objc-header equivalent for C/C++/Obj-C++)

  • Questions on how to take an existing Swift library and make it work in Embedded Swift

Bridging the Gap: From High-Level to Bare-Metal

Emerging from these two discussions was the theme of smoothing the transition between high-level SDKs and low-level bare-metal development. Some key takeaways:

  • What boards and toolchains are best suited for different levels of abstraction?

  • Can Embedded Swift provide an "out-of-the-box" experience while still enabling fine-grained control?

Next Steps

It was great to see so much interest and engagement in Embedded Swift! There's a lot of excitement around making Swift more accessible for embedded development, and I'm looking forward to further discussions and collaboration in the future.

See you at the next one! :tada:

7 Likes