Mats Bohlinsson, Developer in Strömstad, Sweden
Mats is available for hire
Hire Mats

Mats Bohlinsson

Verified Expert  in Engineering

Bio

Mats is a versatile coder who enjoys making simple solutions to complex problems and developing in small, agile teams. He considers tests a vital part of every app and prefers Python, C++, C, and Java languages. Mats has a broad knowledge of technologies and likes to do everything from soldering, uC programming, and embedded Linux to CI, build systems, and Android apps.

Portfolio

Imsys AB
Python 3, Artificial Neural Networks (ANN), PyTorch, Hardware Drivers...
Norxe
Python 3, C++, C, Yocto, OpenCV, NumPy, Embedded Systems, Electronic Sensors...
Barco
Cortex-M Microcontrollers, Python 3, NVAPI, Jenkins, Docker, Image Processing...

Experience

Availability

Part-time

Preferred Environment

PyCharm, JetBrains, Python

The most amazing...

...thing I've built is a follow-me Android app for DJI drones running Python in real time. I used all my skills in this project.

Work Experience

Embedded Software Developer

2022 - 2023
Imsys AB
  • Made the design and implemented a parser for output from TVM for running on a hardware accelerator. Developed a driver for an in-house-developed AI accelerator chip for FreeRTOS. The driver was for DDR memory. I used Azure CI Pipelines.
  • Debugged microcode. Used a DNN hardware simulator in Python, which I ported to C.
  • Provided support for the internal CI system. Contributed to the speed optimization of builds in the pipelines.
Technologies: Python 3, Artificial Neural Networks (ANN), PyTorch, Hardware Drivers, Embedded Software Engineering, Compilers, Embedded C, Bootloaders, Embedded Hardware, Automation Scripting, Scripting, Firmware, Embedded Development, Object-oriented Programming (OOP)

Embedded Software Developer

2020 - 2022
Norxe
  • Built a warp engine that decodes MPCDI files to internal warp mesh and blends images in a multi-projector setup.
  • Configured Yocto and Linux device tree for projector HW.
  • Developed a new build and log system using CMake and spdlog.
Technologies: Python 3, C++, C, Yocto, OpenCV, NumPy, Embedded Systems, Electronic Sensors, Embedded Software Engineering, Compilers, Embedded C, Bootloaders, Embedded Hardware, Automation Scripting, Scripting, Embedded C++, Firmware, Embedded Development, Firmware over the Air (FOTA), Object-oriented Programming (OOP), Qt 5, Real-time Operating System (RTOS), NXP i.MX

Software Developer Consultant

2015 - 2020
Barco
  • Created a new, fully automated way of tearing testing. All ten connectors were tested with all supported timings with NVIDIA NVAPI and Python. Used software probes instead of cameras, which were very stable for automatic tests.
  • Developed software for low-powered IR receivers in standby mode. Used C and Arm Cotrex-M0+.
  • Made new projector features in C++, including fan control and warp blend.
Technologies: Cortex-M Microcontrollers, Python 3, NVAPI, Jenkins, Docker, Image Processing, Buildroot, USB, Raspberry Pi, Embedded Systems, Electronic Sensors, Embedded Software Engineering, Compilers, Embedded C, Bootloaders, Embedded Hardware, Automation Scripting, Scripting, Embedded C++, Firmware, Embedded Development, Firmware over the Air (FOTA), Object-oriented Programming (OOP), Real-time Operating System (RTOS), MCU, REST APIs

DSP Software Developer

2008 - 2015
Ericsson
  • Built a software client that could run remotely on target.
  • Made a complete and very advanced CI system for over 100 developers together with my team.
  • Developed DSP software for the WCDMA base station in C.
Technologies: DSP, Python 3, CMake, Embedded Systems, Embedded Software Engineering, Compilers, Embedded C, Bootloaders, Embedded Hardware, Automation Scripting, Scripting, Coverity, Embedded C++, Firmware, Embedded Development, Firmware over the Air (FOTA), Object-oriented Programming (OOP), Real-time Operating System (RTOS)

Embedded Software Developer

2006 - 2008
Altran
  • Developed DSP code for the WCDMA base station. Implemented new features for the enhanced uplink scheduler.
  • Ported C/C++ code to new hardware and used one track for different HW.
  • Created automotive diagnostic tools (SKF), reversed diagnostic protocols and developed custom tools for sniffing protocols.
Technologies: C, Embedded Linux, DSP, Embedded Systems, Embedded Software Engineering, Compilers, Embedded C, Bootloaders, Embedded Hardware, Automation Scripting, Scripting, Coverity, Embedded C++, Firmware, Embedded Development, Object-oriented Programming (OOP), Real-time Operating System (RTOS)

Database and Software Developer

2003 - 2004
Swedish Meteorological and Hydrological Institute
  • Developed a website and database for phytoplankton and oceanographic data.
  • Made a correlation between biological and hydrological data.
  • Imported historical plankton samples into Mimer DB.
Technologies: SQL, Java, Mimer SQL, Compilers, Object-oriented Programming (OOP)

Embedded Systems Consultant

2000 - 2002
HiQ International
  • Developed tests for 3G mobile platform software at Ericsson Lund.
  • Defined test specifications for 3GPP at Ericsson Mobile Platforms.
  • Defined the test API for 3GPP at Ericsson Mobile Platforms.
Technologies: C, 3G, Testing, Embedded Systems, Embedded Software Engineering, Compilers, Embedded C, Embedded Hardware, Embedded C++, Embedded Development, Object-oriented Programming (OOP), Real-time Operating System (RTOS)

Embedded Systems Consultant

1999 - 2000
Telelogic
  • Ported old Plex code to SDL as a consultant for Ericsson MSC.
  • Designed and implemented a framework for testing base stations at Ericsson.
  • Developed test cases for testing base stations at Ericsson.
Technologies: C, SDL, Embedded Systems, Embedded Software Engineering, Compilers, Embedded C, Embedded Hardware, Embedded C++, Embedded Development, Object-oriented Programming (OOP), Real-time Operating System (RTOS)

Embedded Software Developer

1998 - 1998
Ericsson Microwave System
  • Evaluated the object database to be used for saving radar targets.
  • Reverse-engineered file operations for database easyDB.
  • Wrote evaluation documentation used as an exam thesis.
Technologies: Ada, Linux, Strace, Embedded Systems, Embedded Software Engineering, Compilers, Embedded C, Embedded Hardware, Embedded C++, Embedded Development, Object-oriented Programming (OOP), Real-time Operating System (RTOS)

Software Developer

1994 - 1996
Noventus
  • Developed software for automatic conveyors, cranes, and forklifts.
  • Wrote client code for accessing Oracle SQL server.
  • Created Windows apps that replaced old VT100 terminals.
Technologies: C, Windows, Embedded Systems, Embedded Software Engineering, Compilers, Embedded C, Embedded Hardware, Embedded Development, Object-oriented Programming (OOP)

Autonomous Drone Programming

https://www.youtube.com/watch?v=nA3FVwELo28&t
Developed an Android app for DJI drones for running scripts in Python. The Python scripts are open source and act as plugins to the app.

SCRIPT EXAMPLES
• Advanced follow-me mode.
• Wind measurements.
• New flight modes.
• Flight parameter OSD and web server.
• Automatic follow-me mode.
• Search and rescue.

TOOLS
• Java, Python, and Linux.
• Panda3D as a 3D drone simulator.
• ZeroTier.
• RPyC and UDP.
• IPv6 over 4G, low-latency communication.
• Linux development environment with PyCharm, 3D Engine, and drone simulator as a downloadable VM.
1996 - 1998

Master of Science Degree in Computer Science

Chalmers University of Technology - Gothenburg, Sweden

1990 - 1993

Master's Degree in Computer Science

The Institute of Technology at Linköping University - Linköping, Sweden

Libraries/APIs

OpenCV, NumPy, SDL, PyTorch, AES, REST APIs

Tools

Arm Cortex-M3, Git, CMake, Coverity, MATLAB, PyCharm, JetBrains, Jenkins, Buildroot, Strace

Languages

Python 3, C, Python, Embedded C, Embedded C++, Java, SQL, C++, Lisp, Microcode, Assembler, Perl, Ada

Paradigms

Object-oriented Programming (OOP), Continuous Integration (CI), Test-driven Development (TDD), Testing

Platforms

Linux, Android, Docker, Embedded Linux, Windows, Raspberry Pi

Frameworks

Qt 5

Industry Expertise

Cybersecurity

Other

Embedded Systems, Real-time Operating System (RTOS), Embedded Software Engineering, Compilers, Embedded Hardware, Automation Scripting, Scripting, Firmware, Embedded Development, Reverse Engineering, Linux Device Driver, Yocto, DSP, Microcontroller Programming, Mobile GPS, GPS, APIs, Bootloaders, Firmware over the Air (FOTA), MCU, NXP i.MX, Cryptography, Containers, Boot, Soldering, Algorithms, Electronics, Physics, Linear Algebra, Simulators, Cortex-M Microcontrollers, NVAPI, Image Processing, USB, Mimer SQL, 3G, Cython, Electronic Sensors, Artificial Neural Networks (ANN), Hardware Drivers, Machine Learning, Technical Product Management, Product Owner, Internet of Things (IoT), RSA

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring