14 år i yrket · Egenföretagare
Eric Björklund
Senior Embedded developer,
- Kvadrat Tech Stockholm
I enjoy taking ownership of components that may have been forgotten, under-tested or lacking clear architecture. My approach always starts with establishing reliable tests, enabling safe refactoring and long-term maintainability. With solid tests in place, clean abstractions naturally emerge — and from those, a fit-for-purpose architecture takes shape. I don’t believe in perfect architectures; I believe in making conscious trade-offs and evolving the design over time to keep… systems understandable, maintainable and trustworthy.
Visa merVisa mindre
- C++
- Python
- Artificial Intelligence
- GitLab
- Linux
- Windows
- Jenkins
- Perforce
- TeamCity
- CMake
- Git
- MATLAB
- Debugging
- Documentation
- Machine Learning
- Customer Support
- I2S
- I2C
- Oscilloscopes
- CI-/CD-pipeline
- USB driver programming
- vcpkg
- C++
- Python
- Artificial Intelligence
- GitLab
- Linux
- Windows
- Jenkins
- Perforce
- TeamCity
- CMake
- Git
- MATLAB
- Debugging
- Documentation
- Machine Learning
- Customer Support
- I2S
- I2C
- Oscilloscopes
- CI-/CD-pipeline
- USB driver programming
- vcpkg
- C++
- Python
- Artificial Intelligence
- GitLab
- Linux
- Windows
- Jenkins
- Perforce
- TeamCity
- CMake
- Git
- MATLAB
- Debugging
- Documentation
- Machine Learning
- Customer Support
- I2S
- I2C
- Oscilloscopes
- CI-/CD-pipeline
- USB driver programming
- vcpkg
Kurser & certifieringar
- C Körkort2011
Uppdrag
Senior Algorithm Engineer
mars 2026 – nu
Toptracer (part of Topgolf), is a global market leader in camera-based ball tracking systems for… golf, combining computer vision, image processing, and physics modelling to deliver real-time analytics at scale." The system is deployed in more than 1,000 golf ranges worldwide, operating under diverse real-world conditions, with production software running locally on Linux-based infrastructure interacting with camera hardware and network environments.
The Tracking Core team developed and maintained the core tracking pipeline, where the challenge was to continuously improve accuracy, robustness, and performance of a distributed, production-critical system while handling real-world variability and system-level dependencies across software, hardware, and networks.
Developed and maintained tracking system components using C++, Python, and Rust, focusing on performance optimization and reliability in a Linux server environment
Analysed production data in Observe from global installations to identify algorithmic weaknesses, edge cases, and low-frequency/high-impact failures using data-driven debugging techniques
Implemented, tested, and validated improvements in computer vision and object tracking algorithms, ensuring consistency across varying environmental conditions
Worked hands-on with system-level interactions between camera hardware, embedded/edge devices, and network configurations to troubleshoot and enhance end-to-end performance
Collaborated closely within a team of 7 engineers through code reviews, refactoring initaives, technical discussions, and shared ownership, applying pragmatic decision-making
Evaluated and troubleshooted a next-generation camera system as part of a hardware replacement initiative, performing system-level testing and root-cause analysis across camera hardware, Linux infrastructure, networking, and tracking software to assess production readinessResultat: Enhanced the reliability and robustness of a next-generation camera system by identifying and resolving hardware-software integration issues, helping achieve tracking accuracy comparable to the existing production platform while increasing confidence in future large-scale deployment.
Teknik och metoder: C++, Python, Rust, Linux, Observe, computer vision, image processing, object tracking, physics modelling, production data analysis, edge computing, embedded Linux, network configuration, system integration, debugging, code reviews
Visa merVisa mindre
- Linux
- Embedded Linux
- Image processing
- Rust
- Python
- Computer Vision
- C++
- Edge computing
- Object tracking
- Production Data Analysis
Evidente
sep. 2024 – feb. 2026
Consultant Embedded Software Developer
Evidente is a Swedish engineering consultancy specializing in embedded systems, software… architecture, and safety-critical solutions across automotive, industrial and IoT domains.
Held two consulting engagements. First: design and implementation of a low-power electronic lock using Zephyr RTOS, owning overall system and software architecture. Second: development and maintenance of a Linux-based package management and installation system for an automotive platform, enabling reliable field deployment and updates.
Ownership of the software for a battery-powered smart lock built on Zephyr RTOS, with communication over BLE and NFC. Responsible for architecture, implementation, driver development, automated testing and CI/CD. Worked closely with a hardware engineer to measure and optimize power consumption and low-power strategy. (C, MCU boot, Nordic nRF52, CMake, Docker, gitlab, device tree, drivers, multithreading, encryption, Bluetooth low energy, DFU, ztest, ninja, OTA)
Development and maintenance of a Linux-based package management component, delivered as part of a Yocto-based embedded Linux distribution. Redesigned the component architecture using a Ports and Adapters (Hexagonal) approach to separate core domain logic from out-of-process concerns, and implemented a rollback strategy safe against interruptions, ensuring system consistency even in the event of power loss during installation or rollback. (C++, Python, CMake, GTest, PyTest, Yocto, Embedded-Linux, Linux, Valgrind, qemu, Docker, Jenkins, Artifactory, JFrog, json, GCC, clangtidy, clangformat)
Improving CI/CD build time for a Yocto-based project in Jenkins, analyzing Yocto caching mechanisms and parallelization opportunities across build and test stages to significantly reduce end-to-end build times. (jenkins, Groovy script, artifactory, JFrog, Yocto, artifact caching, bash, Python)Results: Extended battery lifetime from approximately 1 year to 3–5 years. Delivered a robust, power-loss-safe update mechanism enabling reliable field deployments without manual recovery. Significantly reduced CI build and test times for the Yocto-based platform, improving developer feedback cycles and overall development velocity.
Technologies and Methods: Zephyr RTOS, C/C++, DeviceTree, Nordic nRF52, BLE, NFC, secure boot/DFU, unit/integration tests (ztest and gtest), CMake, Ninja, GCC/clang, Linux, Embedded-linux, Yocto, shell, Python, Git, GitLab/Jenkins CI, code reviews, static analysis, Scrum, SAFE, oscilloscopes/logic analyzers
Visa merVisa mindre
- Linux
- Zephyr
- Jenkins
- Git
- CMake
- Unit testing
- Integration testing
- C/C++
- Shell
- OTA
- NFC
- GitLab
- BLE
- Python
- Package Management
- Ninja
- Static analysis
- Scrum/Kanban
- devicetree
- GCC/Clang
- Nordic nRF52/ESP32
MSAB (Micro Systemation)
jan. 2017 – sep. 2024
Software Developer
MSAB is a global leader in mobile forensics, known for extracting, decoding and analyzing data from… smartphones and other devices used by law enforcement and government agencies.
Rehired to explore and introduce machine learning capabilities and to become responsible for the company’s data enrichment pipeline. Work expanded to include CI improvements and solving C++ package management issues impacting build stability and developer productivity.
Implementation of image recognition capabilities, from research and prototyping to production integration. Built pipelines to scan large image sets for people, weapons, drugs, money and other categories using open-source models, with runtime selection between GPU and CPU execution to ensure predictable performance across customer environments. (OpenCV, CUDA, neural network models)
Design and integration of speech-to-text transcription for audio evidence using whisper.cpp, enabling full-text search across customer data sets. Implemented GPU-accelerated inference with automatic CPU fallback depending on available hardware at runtime.
Implementation of face detection and face recognition workflows using multiple AI models for detection, feature extraction and face comparison, optimized for on-device execution with optional GPU acceleration to handle large-scale data efficiently. (OpenCV, image segmentation, image processing, TensorFlow, PyTorch, CUDA, KNN)
Redesign of the data enrichment execution model to parallelize processing across multiple decoders and introduce more effective caching strategies, reducing execution time by approximately 50% on representative workloads. (C++ multithreading, caching, refactoring)
Complete redesign of C++ third-party dependency management for whole company, migrating from manual builds to a central vcpkg registry used across all components. Enabled centralized versioning, automated upgrades, and automatic SBOM generation for third-party dependencies, significantly improving build reproducibility, compliance, and long-term maintainability.(vcpkg, binary caching, deterministic builds, license compliance)
Overall ownership of the data enrichment platform, including implementation and ongoing maintenance, automated testing integrated into the CI/CD pipeline, and reliable deployment of all components together with their dependencies (artifact caching, artifact management, branching strategy, design, architecture)Results: Delivered AI-assisted data enrichment enabling investigators to find relevant evidence; accelerated large-scale data processing by approximately 50% through parallel execution and effective caching helping investigator to get processed data faster; automated third-party dependency updates, allowing developers to focus on product development rather than manual dependency management.
Technologies and Methods: C++17/20/23, STL, Boost, Python, REST, ML prototyping (scikit-learn), text processing, regex, multithreading, SIMD, vcpkg, CMake, Ninja, TeamCity, Github, Jira, CI, Docker, unit/integration tests, code review, static/dynamic analysis, Scrum, OpenCV, CUDA, GPU, neural network, KNN, C++ multithreading, TensorFlow, Image processing, PyTorch, Scrum, Kanban, Confluence, Git, Github, Perforce
Visa merVisa mindre
- Jenkins
- REST
- SQLite
- CMake
- Regex
- Docker
- STL
- Machine Learning
- Boost
- GitLab
- Python
- Conan
- C++
- Multithreading
- Data enrichment
- CI-/CD-pipeline
- vcpkg
MSAB (Micro Systemation)
jan. 2015 – dec. 2017
Software Developer
MSAB’s products connect to a vast range of mobile devices to extract and decode evidentiary data for… digital investigations.
Main responsibility for Windows USB driver programming to support connectivity with a wide spectrum of phones, plus development of extraction and decoding routines for mobile data formats.
Contributed to the development and maintenance of Windows USB drivers enabling reliable communication with a wide range of mobile devices, supporting forensic data extraction and decoding. Worked on driver-level USB communication, device compatibility, performance optimization and robust error handling for unstable and legacy devices.
Results: Expanded supported device coverage by may, new models; reduced driver-related defect rate release-over-release through defensive I/O and rigorous regression tests.
Technologies and Methods: C/C++, WinUSB, UMDF/KMDF, asynchronous I/O, crash dumps, protocol analyzers (USBlyzer/Wireshark)
Visa merVisa mindre
- Continuous Integration
- CMake
- Unit testing
- C/C++
- Protocol analyzers
- Windows
- HID
- USB driver programming
- WinUSB
- UMDF/KMDF
Samsung Nanoradio Design Center
jan. 2012 – dec. 2015
Embedded Software Developer
Samsung Nanoradio Design Center focused on Wi‑Fi/Bluetooth combo chipsets and embedded firmware for… consumer and IoT devices, operating under stringent memory and real-time constraints.
Member of an ~8-person SCRUM team building a speaker/audio solution within a Wi‑Fi/Bluetooth SoC, working close to hardware with C in a constrained environment. Scope included development, testing, documentation, debugging and on-site customer support in Shanghai.
Contributed to the development of an embedded IoT audio device built on a Wi-Fi/Bluetooth SoC, enabling wireless audio streaming from sources such as DLNA devices and Spotify. Worked close to hardware in a resource-constrained environment, focusing on embedded C development, real-time audio handling and system stability.
Contributed to establishing an automated test suite for the embedded firmware, improving regression detection and confidence during development in a resource- and real-time-constrained environment.Results: Delivered a stable embedded audio solution capable of reliable wireless streaming over Wi-Fi/Bluetooth. Improved firmware robustness and development confidence through the introduction of automated tests, contributing to smoother integrations and fewer late-stage regressions.
Technologies and Methods: C, RTOS concepts, SVN, Git, Scrum, Jira, DSP basics, I2S, SPI, GPIO, UART, JTAG, circular buffers, oscilloscopes/logic analyzers, continuous integration
Visa merVisa mindre
- Embedded C
- Git
- SPI
- UART
- GPIO
- I2S
- DMA
- Scrum
- RTOS concepts
- DSP basics
- Fixed-point arithmetic
CPAC Systems
jan. 2012 – dec. 2012
Master Thesis Worker / Image Processing Intern
CPAC Systems, member of Volvo group, develops control systems and operator-assist technologies for… off-highway machinery and marine applications, with a focus on safety, reliability and HMI.
Developed a camera-based pedestrian detection prototype for heavy construction equipment to increase operator awareness around large vehicles. Built a driver-assist tool using four external cameras to create a stitched “overview” / bird’s-eye view of the immediate surroundings for truck drivers.
Master’s thesis focused on the development of a proof-of-concept computer vision-based pedestrian detection system for autonomous construction equipment. The work included data collection and dataset preparation, training and evaluation of neural networks, and comparison with classical machine learning approaches such as SVM and k-NN to assess accuracy, robustness and suitability under real-time constraints. (C++, OpenCV, Neural Network, SVM, k-NN, Machine Learning)
Short assignment to develop a proof-of-concept 360-degree surround-view system for trucks, based on four external cameras with real-time image stitching. A significant part of the work involved camera calibration and designing a physical test rig to enable controlled data collection and validation.(C++, OpenCV, Image processing)Results: Delivered a proof-of-concept pedestrian detection system for autonomous construction equipment, demonstrating reliable detection performance under real-time constraints. Additionally delivered a functional 360-degree surround-view prototype with real-time image stitching, supported by robust camera calibration and a dedicated test rig enabling repeatable validation.
Technologies and Methods: OpenCV, C++, Neural Network, SVM k-NN, data mining, machine learning, model training
Visa merVisa mindre
- OpenCV
- Image analysis
- Image processing
- Kalman filtering
- Python
- C++
- Multithreading
- Viola-Jones
- GPU/OpenCL
- HOG+SVM
Utbildning
M.Sc. in Biomedical Engineering
2012
Chalmers
B.Sc. in Automation & Mechatronics
2010
Chalmers
Liknande profiler
Kompetens · nivå och år
Tekniker
- C++
- Python
- Artificial Intelligence
- C
- Embedded C
- Embedded programming
- Image analysis
- Image processing
- LaTeX
- Bluetooth
- WiFi
- Java
- BLE
- C/C++
- GPIO
- Kalman filtering
- Multithreading
- NFC
- Object tracking
- OpenCV
- OTA
- Protocol analyzers
- PWM
- Regex
- REST
- Rust
- SIMD
- STL
- UART
- Unit testing
Plattformar
- GitLab
- Linux
- Windows
- Android
- Embedded Linux
- PostgreSQL
Produkter
- Jenkins
- Perforce
- TeamCity
- Zephyr
- Conan
- Docker
- HID
- Ninja
- SQLite
Verktyg
- CMake
- Git
- MATLAB
- SVN
- Artifactory
- Scikit-learn
- Shell
- systemd
Metoder och processer
- Debugging
- Documentation
- Machine Learning
- Package Management
- Scrum
- Testing
- Data extraction
- Boost
- Computer Vision
- Continuous Integration
- Integration testing
- Scrum/Kanban
- SPI
- Static analysis
Verksamhetsområden
- Customer Support
Standarder och regelverk
- I2S
Hårdvara
- I2C
- Oscilloscopes
Övrigt
- CI-/CD-pipeline
- USB driver programming
- vcpkg
- Data Decoding
- Mobile Forensics
- Circular buffers
- Data enrichment
- devicetree
- DMA
- DSP basics
- Dynamic Analysis
- Edge computing
- Fixed-point arithmetic
- GCC/Clang
- GPU/OpenCL
- HOG+SVM
- Libusb
- LightGBM
- Nordic nRF52/ESP32
- ostree
- Production Data Analysis
- RAUC
- Ring buffers
- RTOS concepts
- Secure comms
- SetupAPI
- UMDF/KMDF
- Viola-Jones
- WinUSB
- ztest
Den som känner Eric
Theodor Wahlgren
Theodor är Erics kontaktperson på Kvadrat.