# WSL2 for Firmware Development | Interrupt

**URL:** <https://community.memfault.com/t/wsl2-for-firmware-development-interrupt/902>\
**Category:** Blog\
**Created:** [December 18, 2024, 9:03pm UTC](https://community.memfault.com/t/wsl2-for-firmware-development-interrupt/902 "2024-12-18T21:03:47Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![discobot](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.memfault.com/discobot/32/1_2.png) [@discobot](https://community.memfault.com/u/discobot)\
**Post date:** [December 18, 2024, 9:03pm UTC](https://community.memfault.com/t/wsl2-for-firmware-development-interrupt/902/1 "2024-12-18T21:03:47Z")

</div>

This guide provides instructions for setting up an environment for developing, debugging, and programming embedded systems firmware in the Windows Subsystem for Linux (WSL2).

* * *
This is a companion discussion topic for the original entry at [https://interrupt.memfault.com/blog/wsl2-for-firmware-development](https://interrupt.memfault.com/blog/wsl2-for-firmware-development)

---

<div class="post-metadata">

**Author:** ![doug.harriman](https://avatars.discourse-cdn.com/v4/letter/d/aca169/32.png) [@doug.harriman](https://community.memfault.com/u/doug.harriman)\
**Post date:** [December 21, 2024, 9:19pm UTC](https://community.memfault.com/t/wsl2-for-firmware-development-interrupt/902/2 "2024-12-21T21:19:32Z")

</div>

Highly recommended setup. At [Simplexity Product Development](https://www.simplexitypd.com/), we’ve been using WSL + Docker as our development environment for the last 4-5 years. In addition to the near-native Linux performance for build time, keeping it on a Windows box keeps the IT guys happy and running native Docker inside of WSL means that all of our CI processes are running in the exact same container that runs on our Bitbucket server instance.

---

<div class="post-metadata">

**Author:** ![discobot](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.memfault.com/discobot/32/1_2.png) [@discobot](https://community.memfault.com/u/discobot)\
**Post date:** [December 21, 2024, 9:19pm UTC](https://community.memfault.com/t/wsl2-for-firmware-development-interrupt/902/3 "2024-12-21T21:19:32Z")

</div>

Listed on December 21, 2024, 9:19pm UTC



---

<div class="post-metadata">

**Author:** ![Strooom](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.memfault.com/strooom/32/297_2.png) [@Strooom](https://community.memfault.com/u/Strooom)\
**Post date:** [April 5, 2026, 3:57pm UTC](https://community.memfault.com/t/wsl2-for-firmware-development-interrupt/902/4 "2026-04-05T15:57:43Z")

</div>

One more powerful use case : you can open your Win11 VSCode, and from there make a remote connection to your WSL, which will install VSCode server in your WSL2/linux.

From then on, you can use VSCode as if you were on linux. You can even install extensions etc.

It’s my favourite setup for doing Zephyr development.
