Available either online or on-site, our instructor-led live Embedded Systems training programs combine interactive, hands-on exercises to cover both the core principles and advanced aspects of the field.
We offer Embedded Systems training as either “online live training” or “onsite live training.” The online live option (also known as “remote live training”) is delivered through an interactive remote desktop session. Onsite live training can be conducted directly at customer premises in Sofia or within NobleProg’s dedicated corporate training centers in Sofia.
NobleProg -- Your Local Training Provider
Crystal Business Center
ул. "Осогово" 40, Sofia, Bulgaria, 1303
Crystal Business Center is located in the central part of Sofia, on the corner of "Osogovo" street. and "Todor Aleksandrov" blvd. The building is easily accessible by metro (only 50 m from Opalchenska station) and other public transport. Its total area is 8000 sq.m. The office area is 6171 sq.m.
Intermediate Rust for Embedded Systems covers toolchains, safety patterns, and real-time workflows in Sofia. This live training helps developers build reliable firmware using no_std and embedded-hal. It focuses on concurrency, debugging, and hardware deployment.
This instructor-led, live training in Sofia (online or onsite) is designed for developers and embedded systems engineers who wish to utilize Rust for embedded systems programming and acquire the necessary skills to develop robust and efficient embedded applications.
Upon completing this training, participants will be able to:
Establish a development environment for Rust-based embedded systems programming.
Comprehend and work with microcontrollers and their peripherals using Rust.
Write efficient and reliable code tailored for resource-constrained embedded systems.
Address concurrency and real-time requirements in embedded applications.
Interface with hardware and employ low-level abstractions in Rust.
Implement power management and low-power optimization techniques in embedded systems.
This instructor-led, live training in Sofia (online or onsite) is designed for intermediate-level automotive engineers and technicians aiming to acquire hands-on experience in testing, simulating, and diagnosing ECUs using Vector tools like CANoe and CANape.
By the end of this training, participants will be able to:
Understand the role and function of ECUs in automotive systems.
Set up and configure Vector tools such as CANoe and CANape.
Simulate and test ECU communication on CAN and LIN networks.
Analyze data and perform diagnostics on ECUs.
Create test cases and automate testing workflows.
Calibrate and optimize ECUs using practical approaches.
This instructor-led, live training in Sofia (online or onsite) targets intermediate-level automotive engineers and embedded systems developers who wish to comprehend the theoretical aspects of ECUs, emphasizing Vector-based tools and methodologies used in automotive design and development.
By the end of this training, participants will be able to:
Understand the architecture and functions of ECUs in modern vehicles.
Analyze communication protocols used in ECU development.
Explore Vector-based tools and their theoretical applications.
Apply model-based development principles to ECU design.
This instructor-led, live training in Sofia (online or onsite) is designed for intermediate-level embedded systems engineers and AI developers looking to deploy machine learning models on microcontrollers using TensorFlow Lite and Edge Impulse.
Upon completion of this training, participants will be able to:
Grasp the fundamentals of TinyML and its advantages for edge AI applications.
Configure a development environment suitable for TinyML projects.
Train, optimize, and deploy AI models on low-power microcontrollers.
Utilize TensorFlow Lite and Edge Impulse to build real-world TinyML solutions.
Enhance AI models for better power efficiency and memory utilization.
This introductory instructor-led live training in Sofia delves into the core principles of embedded systems and IoT. Learners will acquire skills in C programming, microcontroller architectures, and the configuration of hardware peripherals. The course includes practical exercises to foster real-world technical proficiency.
This instructor-led, live training in Sofia (online or onsite) is aimed at engineers who wish to learn how to use embedded C to program various types of microcontrollers based on different processor architectures (8051, ARM CORTEX M-3, and ARM9).
In this instructor-led live training in Sofia, participants will learn how to program Arduino for practical applications, such as controlling lights, motors, and motion detection sensors. This course requires the use of actual hardware components within a live laboratory setting, rather than relying on software-simulated hardware.
Upon completion of this training, participants will be able to:
Program Arduino to control lights, motors, and other peripheral devices.
Gain a comprehensive understanding of Arduino's architecture, including its inputs and connectors for expanding functionality with add-on devices.
Integrate third-party components such as LCDs, accelerometers, gyroscopes, and GPS trackers to enhance Arduino's capabilities.
Evaluate various programming language options, ranging from traditional C to visual drag-and-drop environments.
Test, debug, and deploy Arduino solutions to address real-world challenges.
This instructor-led course in Sofia explores how C++ fits embedded systems. It covers object-oriented design, memory management, and real-time programming to build accurate, efficient code. Participants will create a sample application to gain practical skills.
This instructor-led live training in Sofia (online or onsite) is tailored for engineers and scientists aiming to learn and apply DSP implementations to efficiently handle diverse signal types and gain better control over multi-channel electronic systems.
By the end of this training, participants will be able to:
Set up and configure the necessary software platform and tools for Digital Signal Processing.
Understand the core concepts and principles foundational to DSP and its applications.
Familiarize themselves with DSP components and employ them in electronics systems.
Generate algorithms and operational functions using results from DSP.
Utilize the basic features of DSP software platforms and design signal filters.
Synthesize DSP simulations and implement various types of filters for DSP.
This live training in Sofia covers embedded C design principles, helping developers understand reliability, functionality, and logic. It includes hands-on exercises to design error-free applications, optimize hardware performance, and master system constraints, code reusability, and maintainability.
This hands-on training in Sofia guides engineers through Embedded Linux kernel internals, architecture, and driver development. Learners will configure, compile, and boot custom kernels, while also mastering device tree fundamentals and writing character device drivers for real-world applications.
This hands-on course in Sofia guides participants to build embedded Linux systems from the ground up. It covers bootloaders, cross-development, build systems, and application debugging. With 60% practical time, learners configure toolchains and construct custom filesystems for real-world projects.
This training in Sofia bridges the gap between C and C++ for embedded systems. It explores C++11 features like move semantics and concurrency. Learn to use templates for bare-metal programming and apply design patterns. Gain the skills to use C++ correctly in resource-constrained environments.
In this instructor-led live training in Sofia, participants will learn how to code using FreeRTOS by stepping through the development of a simple RTOS project on a microcontroller.
By the end of this training, participants will be able to:
Grasp the fundamental concepts of real-time operating systems.
Familiarize themselves with the FreeRTOS environment.
Acquire skills in coding with FreeRTOS.
Interface a FreeRTOS application with hardware peripherals.
This instructor-led training in Sofia covers core C++ OOP concepts like classes, encapsulation, and polymorphism. Developers learn to design modular, reusable applications through hands-on labs, exploring inheritance, exceptions, and templates to build scalable software solutions effectively.
This instructor-led, live training session (available online or on-site) is designed for embedded engineers and system administrators who wish to build, customize, and deploy OpenBMC firmware for server management.
This instructor-led live training (available online or onsite) targets hardware validation and system test engineers looking to implement, test, and troubleshoot IPMI and sensor management on OpenBMC platforms.
This instructor-led, live training (available online or onsite) is designed for security engineers and firmware developers who aim to harden OpenBMC deployments against unauthorized access and firmware tampering.
This instructor-led, live training (available online or onsite) is aimed at embedded Linux developers who wish to master the OpenBMC build system, customize layers, and create production-ready BMC firmware images.
This instructor-led live training (available online or onsite) targets beginner to intermediate PCB designers and electronics engineers aiming to develop a complete and controlled PCB design workflow using Altium Designer.
Participants work on a single connected project, progressing from project setup and component libraries through schematic capture, PCB layout, and verification to manufacturing outputs and controlled production release.
By the end of this training, participants will be able to:
Create and manage structured Altium Designer PCB projects.
Build and validate schematic designs and component libraries.
Configure PCB rules, routing settings, DRC, and manufacturing constraints.
Generate and verify fabrication, assembly, and mechanical outputs.
Apply practical high-speed design constraints.
Manage engineering changes and controlled re-releases.
This comprehensive course in Sofia covers RISC-V architecture, assembly, Linux, FPGA, and AI applications. It addresses the global talent shortage by building expertise from ISA fundamentals to advanced SoC design. Ideal for engineers seeking to master modern, open-source computing stacks.
This course offers a thorough introduction to the Zig programming language, exploring its syntax, memory management, application development, and advanced features. Participants will acquire practical experience with Zig’s distinctive approach to safety, performance, and interoperability, positioning it as a compelling alternative to C and Rust. The curriculum incorporates practical exercises designed to reinforce learning and build confidence in writing efficient, reliable Zig programs.
Read more...
Last Updated:
Testimonials (7)
Detailed explanation, re-iteration of points in a quite subtle way that really drove the knowledge home very well. Rod's willingness to double-check the odd obscure question that we rasied, to be sure that his answers were 100% right. Also, his interest in discussing the pros & cons of alternate coding styles so that we learnt not only how to use C++ in our intended way, but why it should be done that way.
Nick Dillon - cellxica Ltd
Course - Using C++ in Embedded Systems - Applying C++11/C++14
Being able to ask for advanced subjects even if there were not planned initially.
Gabriel Chouinard - Spark Microsystems
Course - FreeRTOS: Programming for Real Time Operating Systems
I understood the process of the operating system and how do we link all factors together information of network as well so now I have an obvious and full picture about what is going on these computers how they communicate with each others ultimately gained knowledge about the most important operating system which is Linux and how do we implement our own embedded Linux
Rawda Alnaqbi - beamtrail
Course - Introduction to Embedded Linux (Hands-on training)
The knowledge of the trainer. He was able to answer all of my questions, even questions about our platform. He also continued to help until we all understood the material.
James O'Donnell - Tennant Company
Course - Embedded Linux Kernel and Driver Development
The trainer really adapted the training to our level and took a lot of time and efforts to make sure the presentation was well adapted.
Nicolas Guerette-Berthiaume - Trilliant
Course - C++ for Embedded Systems
Just getting off the ground and doing some basic things was super useful
Online Embedded Systems training in Sofia, Embedded Systems training courses in Sofia, Weekend Embedded Systems courses in Sofia, Evening Embedded Systems training in Sofia, Embedded Systems instructor-led in Sofia, Embedded Systems instructor in Sofia, Weekend Embedded Systems training in Sofia, Embedded Systems one on one training in Sofia, Embedded Systems instructor-led in Sofia, Online Embedded Systems training in Sofia, Evening Embedded Systems courses in Sofia, Embedded Systems coaching in Sofia, Embedded Systems classes in Sofia, Embedded Systems boot camp in Sofia, Embedded Systems on-site in Sofia, Embedded Systems trainer in Sofia, Embedded Systems private courses in Sofia