Jakub Rachucki, Developer in Warsaw, Poland
Jakub is available for hire
Hire Jakub

Jakub Rachucki

Verified Expert  in Engineering

Embedded Software Developer

Location
Warsaw, Poland
Toptal Member Since
March 7, 2022

Jakub is an eager embedded system engineer with over five years of experience solving problems across several industries, including aerospace, automotive, and energy production, which gave him a unique insight into safety-critical systems. Proficient in both hardware and software development, Jakub has been involved in all stages of the software development process, from system requirements definition and proposals creation to hands-on software development while leading technical teams.

Portfolio

N7 Space
C, C++, ARM, Cortex M3, Emacs, FreeRTOS, GDB, Git, Embedded Systems, Linux...
Sensorbee
Embedded C, Modbus Protocol, Zephyr, Nordic nRF53, Firmware
Planetary Transportation Systems GmbH
C, Linux, Real-time Operating System (RTOS), Embedded Software...

Experience

Availability

Part-time

Preferred Environment

Linux, Emacs, Visual Studio Code (VS Code), ARM, GDB

The most amazing...

...product I have developed from scratch was the onboard computer for the first Polish suborbital rocket since 1974.

Work Experience

Embedded Software Engineer

2021 - PRESENT
N7 Space
  • Extended the company's embedded drivers portfolio to the new ARM Cortex M3 target. Implemented unit tests for the drivers and automated the integration test procedure using Raspberry Pi and Python.
  • Provided a FreeRTOS-based hardware abstraction layer for the ARM Cortex M7 platform. The software was used to validate the company's MBSE tool.
  • Enhanced the company's MBSE tool to support the new ARM Cortex M7 target.
  • Developed a communication library using ASN.1 and C++ according to the European Space Agency Standard ECSS-E-ST-70-41C.
  • Built BSP for ARM Cortex M7 and M3 targets for a scientific instrument operating on the ISS.
Technologies: C, C++, ARM, Cortex M3, Emacs, FreeRTOS, GDB, Git, Embedded Systems, Linux, CMake, Python, Real-time Operating System (RTOS), Embedded Software, Real-time Executive for Multiprocessor Systems (RTEMS), ARM Embedded, Embedded C++, Embedded C, Microcontrollers, Raspberry Pi, Hardware, Electronics, Real-time Embedded Systems, Microcontroller Programming, AUTOSAR, Docker, Firmware

Embedded C Developer

2023 - 2023
Sensorbee
  • Designed the upper-level logic of the Modbus library, enabling seamless mapping between LWM2M objects and Modbus registers. This achievement streamlined the fetching process of Modbus registers, optimizing computational complexity to O(1).
  • Developed the Modbus library using test-driven development (TDD) in the C language with unit tests written in C++, ensuring robust and reliable code quality and enhancing the library's performance.
  • Automated export of a register map from an interface control document (ICD) to C code, significantly accelerating the library's software development and making it easily scalable, as new registers can be added and code generated automatically.
Technologies: Embedded C, Modbus Protocol, Zephyr, Nordic nRF53, Firmware

Embedded Software Developer

2022 - 2022
Planetary Transportation Systems GmbH
  • Participated in the preparation of project design documents. Prepared the Software Reuse file for NASA CFS, an RTEMS-based operating system. Prepared Detail Design Justification file for the preflight checkout procedure.
  • Developed a communication library according to European Space Agency Standard ECSS-E-ST-70-41C in C. Developed the library unit tests using C++ and python. Integrated the library with the software written in C using RTEMS.
  • Automated the procedure of traceability matrix generation, mapping system requirements with test scenarios and test results using python and Atlassian REST API.
Technologies: C, Linux, Real-time Operating System (RTOS), Embedded Software, Embedded Hardware, Real-time Executive for Multiprocessor Systems (RTEMS), C++, Python, Bash, ARM Embedded, Embedded C++, Embedded C, Microcontrollers

Embedded Software Engineer

2018 - 2021
Łukasiewicz Research Network - Institute of Aviation
  • Created an onboard computer for a suborbital rocket composed of specialized and independent ARM-based modules interconnected using the CAN bus. The system was equipped with modular, C++-based, cross-platform software with generic HAL.
  • Standardized the C++ software development procedure across the organization. Promoted good coding practices, clean code, and test-driven development by training the organization and maintaining a wiki.
  • Developed the hardware in the loop tests stand for the onboard computer. Based on PXI computers with LabVIEW software and STM32 dev. boards with C++ software, it can simulate the whole rocket mission.
  • Managed a team of four embedded system engineers and one to three interns.
  • Hosted code reviews, daily sprints, sprint planning, sprint review, and retrospective meetings.
  • Provided consultancy in space avionics, embedded systems development, and testing for other projects at the institute.
  • Developed PCB for the modular onboard computer. Developed power modules with SPS providing three different voltages.
  • Created a DAC module with 16 ADC channels and a mass memory module with 4GB capacity. Created the IMU module with redundant sensors.
Technologies: ARM, C, C++, Cortex M3, STM32, STM32F7, STM32F4, Test-driven Development (TDD), Eclipse IDE, PXI, LabVIEW, Embedded Hardware, Embedded Software, Hardware, Electronic Sensors, Embedded C, Embedded C++, ARM Embedded, Arduino, Microcontrollers, Raspberry Pi, Electronics, Architecture, Real-time Embedded Systems, Hardware Design, Technical Consulting, Technology Consulting, Microcontroller Programming, Firmware, Electrical Engineering

Embedded Software Engineer

2017 - 2018
Aptiv
  • Took part in the C and C++ software development of car infotainment systems.
  • Collaborated in the C and C++ software development of the car distributed CAN network.
  • Maintained and supported legacy C and C++ software.
Technologies: C++, C, ARM

Technical Student

2015 - 2016
Cern
  • Launched an application that consolidated three different control system interfaces into one user-friendly tool. The product enabled the creation of a fully functional control system GUI after a few-second long configuration.
  • Implemented the application across two different CERN sections.
  • Organized and lectured a series of weekly coding courses promoting good coding practices and coding standards. Each event hosted around 20-30 people per week.
Technologies: LabVIEW, Subversion (SVN)

Onboard Computer for ILR33-Amber Rocket

https://en.wikipedia.org/wiki/ILR-33_AMBER
The goal was to create an onboard computer for a suborbital rocket. The system provided a reliable and scalable solution to perform suborbital missions. It was affordable and contained a lot of commercial-off-the-shelf (COTS) components.

I was responsible for the whole product and participated in the complete product development process, starting from the requirement formulation. I have also trade-offed the necessary system components, assessed the required time and money budgets, and handled fundraising via national, EU, and European Space Agency programs.

I had to create a team and organize a development facility. I recruited three members and equipped the laboratory. Additionally, 2-3 interns join us every year. I divided the team into hardware and software development and joined the software section while handling the team's management.

The designed system was composed of many independent modules interconnected using CAN. The software written in C++, developed using TDD, was modular and cross-platform, thanks to the generic hardware abstraction layer.

The product was a success, and the computer is now a vital part of the rocket and has already flown three times.

Automation of KPIs and Traceability Matrix Generation for a Space Project

The amount of documentation in space projects often surpasses the written code. Throughout my career, cooperating with many companies from the aerospace sector, I've seen the practice of keeping documentation in separate doc files or spreadsheets. Providing cross-references between documents or generating a traceability matrix in this condition was a nightmare.

My last client kept documentation in Confluence, which was a great idea. It granted the possibility to link crucial data with each other. My task was to automate the generation of a traceability matrix and KPIs for my client's client. The traceability matrix maps the high-level system requirements to test results, indicating if the system conforms to the design. The KPIs show the percentage of the high-level system requirements translated to low-level ones, showing the progress of the system engineering.

I wrote a Python application that scraps data from Confluence using its REST API. I programmatically mapped acquired data and generated the traceability matrix and KPIs. My application automatically updated the Confluence page, publishing the results, saving a lot of time, and enabling monitoring of the system development.

Design Software for CERN Control Center

https://accelconf.web.cern.ch/icalepcs2017/papers/thpha185.pdf
The goal was to create a cross-platform, user-friendly solution to accelerate the work of CERN physicists. The application met its purpose by consolidating and thus reducing the complexity of the control system network.

Using CERN middleware, the application combined all the accelerators devices and data sources into one interface. The application used inheritance and polymorphism to automatically detect the data source and create an object that adapts to its specifics.

I design the software using the requirements given by my supervisor. The application was written in LabVIEW using an object-oriented approach and ActorFramework. I made the application cross-platform to make it usable to all CERN workers.

The implementation and tests took seven months. Then I was responsible for launching and promoting the application across the organization.

CERN employees adopted the application, significantly reducing the time needed for control system development.

Languages

C++, C, Embedded C, Embedded C++, Python, Bash

Other

Embedded Systems, Universal Asynchronous Receiver/Transmitter (UART), Microcontroller Programming, ARM, STM32F7, STM32F4, I2C, Embedded Hardware, Embedded Software, Hardware, ARM Embedded, Microcontrollers, Firmware, FreeRTOS, Cortex M3, CAN Bus, Real-time Operating System (RTOS), Real-time Executive for Multiprocessor Systems (RTEMS), Systems Engineering, Electronic Sensors, Electronics, Architecture, Real-time Embedded Systems, Hardware Design, Technical Consulting, Technology Consulting, AUTOSAR, Modbus Protocol, Nordic nRF5, Nordic nRF52, Nordic nRF53, Electrical Engineering

Tools

Git, CMake, LabVIEW, Subversion (SVN), Emacs, GDB, Eclipse IDE, Confluence, Zephyr

Paradigms

Test-driven Development (TDD)

Platforms

STM32, Arduino, Visual Studio Code (VS Code), Linux, PXI, Eclipse, Raspberry Pi, Docker

Libraries/APIs

REST APIs

2015 - 2017

Master's Degree in Automatics and Robotics

AGH University of Science and Technology - Kraków, Poland

2011 - 2015

Bachelor's Degree in Automatics and Robotics

AGH University of Science and Technology - Kraków, Poland

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