Logo
Overview
Setting Up My Work Environment

Setting Up My Work Environment

hirobenhito hirobenhito
December 17, 2025
3 min read

Introduction

I am just starting my journey on embedded development. After digging through some resources and trying out different softwares, these are mandatory softwares in my workflow to do embedded hardware & software development. I only recently switch to Fedora as my main OS, so this is a documentation of me figuring things out in Linux having been previously setting up these softwares in windows.

PCB EDA: KiCad

KiCad is an open source software to design PCB that I’ve been using for quite a while and it covers my needs pretty well. The community is great and also you can find component models quite easily online. The installation on linux is also straightforward. You just need to run the command below.

Install KiCad
$ sudo dnf install kicad kicad-packages3d kicad-doc

Circuit Simulator: LTSpice

I’ve been using LTSpice for quite a while, but I was a little tempted to try QSpice by Qorvo because it offers c++ and verilog integration. Both LTSpice and QSpice are not natively supported in Linux environment, however LTSpice can be installed on linux using wine, unlike QSpice. With that information in mind, I decided to go with LTSpice.

I will show you how to set up LTSpice on fedora 43. You can see the guide from the wiki page of theWineHQ site. First we need to add the repo

Add Wine Repo
$ sudo dnf5 config-manager addrepo --from-repofile=https://dl.winehq.org/wine-builds/fedora/43/winehq.repo

The stable version of wine is not available yet in Fedora 43 so I need to install the development version, but you can install the stable version if it’s available when you are reading this.

Install Wine
$ sudo dnf install winehq-devel

Next, download the LTSpice installer from analog devices website and run the installer with wine just by clicking the .msi file.

After you finished the installation, you can find the LTSpice directory at “/.wine/drive_c/Program Files/ADI/LTspice” The .wine is a hidden folder located at your home directory. In that LTSpice folder, you can add models of circuits or components on top of the pre-installed libraries.

Programming Environment

I am using STM32 microcontroller to learn embedded development so I will show you how to set up the necessary packages and softwares to be installed. STM provides an IDE to program its microcontroller, but I prefer to set my own programming & debugging environment. However, I still use the CubeMX graphical tool to generate a template code for my board because it’s more convenient that way.

You can install the CubeMX from the software app in Fedora, but I installed it by downloading the installer from their website which require you to create an account. After you download the installer, you need to run this command in the folder which contains the SetupSTM32CubeMX-6.16.1 file to turn it into executable and run it.

Turn the file into executable
$ chmod 777 SetupSTM32CubeMX-6.16.1

Afterwords

I will update this article if I install more softwares or packages and incorporate it into my workflow.