Programming languages
| Languages | Experience | Rating | Last used |
|---|---|---|---|
| C | 5 years | 5 | 2025 |
| C# | 2 years | 3 | 2020 |
| Python | 1 years | 1 | 2025 |
Jonathan is a calm, methodical embedded software engineer with a strong technical grounding in mathematics, physics, and bare-metal development. He enjoys digging into how things work at their core and is motivated by turning complex, low-level challenges into clean and reliable solutions.
He works best in a cooperative environment and contributes with steady communication and careful consideration. Jonathan brings years of hands-on experience in developing firmware close to the hardware, and he approaches each assignment with focus, curiosity, and a genuine willingness to help the team succeed.
Outside of work, he stays sharp through chess, keeps active in the gym, and unwinds by playing Dungeons & Dragons with friends.
| Languages | Experience | Rating | Last used |
|---|---|---|---|
| C | 5 years | 5 | 2025 |
| C# | 2 years | 3 | 2020 |
| Python | 1 years | 1 | 2025 |
| Tool | Experience | Rating | Last used |
|---|---|---|---|
| Visual Studio Code | 5 years | 5 | 2025 |
| Vim | 5 years | 5 | 2025 |
| STM32CubeIDE | 2 years | 4 | 2025 |
| CMake | 4 years | 4 | 2025 |
| Figma | 2 years | 3 | 2023 |
| Git | 5 years | 4 | 2025 |
| GitLab | 5 years | 4 | 2025 |
| ST-Link | 5 years | 4 | 2025 |
| JIRA | 3 years | 4 | 2023 |
| Visual Studio | 2 years | 2 | 2020 |
| GDB | 5 years | 4 | 2025 |
| Tool | Experience | Rating | Last used |
|---|---|---|---|
| Device Drivers | 5 years | 4 | 2025 |
| Linux | 5 years | 4 | 2025 |
| RTOS | 5 years | 4 | 2025 |
| Unit Testing | 2 years | 4 | 2024 |
| Git | 5 years | 4 | 2025 |
| Language | Skill level |
|---|---|
| Swedish | Native speaker |
| English | Near native / fluent |
Developed a new GSM driver from scratch, utilizing threads and processes available in the Contiki OS, making the driver capable of asynchronous messaging. Some features of the driver include phone calls, text messaging, GPS positioning, Phone book and message buffer.
As part of updating the ambulance communication system, Jonathan and the in-house team at J&D forked the Contiki OS and adapted it to meet the project’s requirements. This involved modifying the process scheduler and redefining how the RTOS distinguished between threads and processes.
Created an onboard terminal interface for runtime testing, which became an essential tool for developers to query and validate new features. It allowed custom methods to be registered and run on demand. The driver supported simultaneous parsing of UART via JTAG, the standard UART port, and USB.
Converted a legacy bare-metal system into an OS-based architecture, replacing the statemachine waterfall logic with a persistent memory-card–driven state model.
Developed a concrete measurement system as part of a seven-person team. My primary responsibility was implementing the GUI with the collaboration of a external UX designer. Using LVGL I created custom widgets and tools as well as the architecture for the front end part of the system.
Developed a BMS (battery management system). The driver featured smart-charging, automatic self-heating, and a battery health monitoring system.
Consultant
Embedded software developer involved in in-house product development, internal library/SDK maintenance, and client consulting projects. The company motto was "from idea to finished product", meaning Jonathan built all drivers, tools and architectural solutions from scratch.