Online or onsite, instructor-led live Embedded Systems training courses demonstrate through interactive hands-on practice the fundamentals and advanced topics of Embedded Systems.
Embedded Systems training is available as "online live training" or "onsite live training". Online live training (aka "remote live training") is carried out by way of an interactive, remote desktop. Onsite live Embedded Systems trainings in Bonn can be carried out locally on customer premises or in NobleProg corporate training centers.
Our training facilities are located at Mozartstraße 4-10 in Bonn. Our spacious training rooms are located southwest of the city centre and offer optimal training conditions for your needs.
Arrival
The NobleProg training facilities are conveniently located near the Bonn main station. In the west you reach the motorway A565.
Parking
You will find numerous parking spaces around our training rooms.
Local Infrastructure
In downtown Bonn you will find numerous hotels and restaurants..
Rust for Embedded Systems focuses on applying intermediate-level Rust to resource-constrained, low-level hardware environments, covering toolchains, safety patterns, real-time concerns, and deployment workflows.
This instructor-led, live training (online or onsite) is aimed at intermediate-level Rust developers and embedded engineers who wish to build safe, reliable firmware using Rust.
By the end of this training, participants will be able to:
Set up and configure a Rust embedded toolchain and debug environment.
Write idiomatic, memory-safe firmware using no_std and embedded-hal abstractions.
Design and implement concurrency and interrupt-safe code in Rust.
Deploy, debug, and benchmark Rust firmware on real hardware.
Format of the Course
Interactive lecture and discussion.
Hands-on labs using physical or simulated hardware.
Guided exercises with incremental code build-up and live debugging sessions.
Course Customization Options
To request a customized training for this course, please contact us to arrange.
This instructor-led, live training in Bonn (online or onsite) is aimed at developers and embedded systems engineers who wish to leverage Rust for embedded systems programming and gain the necessary skills to develop robust and efficient embedded applications.
By the end of this training, participants will be able to:
Set up a development environment for Rust embedded systems programming.
Understand and work with microcontrollers and their peripherals using Rust.
Write efficient and reliable code for resource-constrained embedded systems.
Handle concurrency and real-time requirements in embedded applications.
Interface with hardware and use low-level abstractions in Rust.
Apply power management and low-power optimization techniques in embedded systems.
This instructor-led, live training in Bonn (online or onsite) is aimed at intermediate-level automotive engineers and technicians who wish to gain 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 Bonn (online or onsite) is aimed at intermediate-level automotive engineers and embedded systems developers who wish to understand the theoretical aspects of ECUs, focusing on 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 Bonn (online or onsite) is aimed at intermediate-level embedded systems engineers and AI developers who wish to deploy machine learning models on microcontrollers using TensorFlow Lite and Edge Impulse.
By the end of this training, participants will be able to:
Understand the fundamentals of TinyML and its benefits for edge AI applications.
Set up a development environment for TinyML projects.
Train, optimize, and deploy AI models on low-power microcontrollers.
Use TensorFlow Lite and Edge Impulse to implement real-world TinyML applications.
Optimize AI models for power efficiency and memory constraints.
Embedded systems are purpose-built computing systems designed to perform dedicated functions within larger systems. IoT (Internet of Things) is a network of interconnected physical devices embedded with sensors and software that communicate and exchange data over the internet.
This instructor-led, live training (online or onsite) is aimed at beginner-level technical professionals who wish to understand and apply embedded systems and IoT concepts using C and microcontroller architectures.
By the end of this training, participants will be able to:
Understand the architecture and components of embedded systems.
Write and compile C code for embedded hardware interaction.
Work with microcontroller peripherals such as timers and ADCs.
Understand how embedded systems contribute to IoT architectures.
Format of the Course
Interactive lecture and discussion.
Lots of exercises and practice.
Hands-on implementation in a live-lab environment.
Course Customization Options
To request a customized training for this course, please contact us to arrange.
In this instructor-led, live training in Bonn, participants will learn how to program the Arduino using advanced techniques as they step through the creation of a simple sensor alert system.
By the end of this training, participants will be able to:
Understand how Arduino works.
Dig deep into the main components and functionalities of Arduino.
Program the Arduino without using the Arduino IDE.
This instructor-led, live training in Bonn (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 Bonn, participants will learn how to program the Arduino for real-world usage, such as to control lights, motors and motion detection sensors. This course assumes the use of real hardware components in a live lab environment (not software-simulated hardware).
By the end of this training, participants will be able to:
Program Arduino to control lights, motors, and other devices.
Understand Arduino's architecture, including inputs and connectors for add-on devices.
Add third-party components such as LCDs, accelerometers, gyroscopes, and GPS trackers to extend Arduino's functionality.
Understand the various options in programming languages, from C to drag-and-drop languages.
Test, debug, and deploy the Arduino to solve real world problems.
Is C++ suitable for embedded systems such as microcontrollers and real-time-operating-systems?
Should object-oriented-programming be used in microcontrollers?
Is C++ too far removed from the hardware to be efficient?
This instructor-led, live training addresses these questions and demonstrates through discussion and practice how C++ can be used to develop embedded systems with code that is accurate, readable, and efficient. Participants put theory into practice through the creation of a sample embedded application in C++.
By the end of this training, participants will be able to:
Understand the principles of object-oriented modelling, embedded software programming and real-time programming
Produce code for embedded systems that is small, fast and safe
Avoid code bloat from templates, exceptions, and other language features
Understand the issues related to using C++ in safety-critical and real-time systems
Debug a C++ program on a target device
Audience
Developers
Designers
Format of the course
Part lecture, part discussion, exercises and heavy hands-on practice
This instructor-led, live training in Bonn (online or onsite) is aimed at engineers and scientists who wish to learn and apply DSP implementations to efficiently handle different signal types and gain better control over multi-channel electronic systems.
By the end of this training, participants will be able to:
Setup and configure the necessary software platform and tools for Digital Signal Processing.
Understand the concepts and principles that are foundational to DSP and its applications.
Familiarize themselves with DSP components and employ them in electronics systems.
Generate algorithms and operational functions using the 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.
A two day course consisting of around 60% hands-on labs focusing on Embedded Linux kernel internals, architecture, development and investigating how to write and integrate several types of device drivers.
Who should attend?
Engineers interested in Linux kernel development on Embedded systems and plateforms.
Build embedded Linux systems from the ground up using industry-standard cross-development tools and hands-on projects. This two-day course covers Linux history, open-source development models, bootloaders, custom system construction, build systems, and application debugging. With 60% practical implementation time, participants configure bootloaders, compile toolchains, construct filesystems, and execute real-world embedded Linux development tasks.
This training intends to introduce C++ as the common extension of C when applying object-oriented embedded system development. Since C++ encloses C, this training takes us from C to C++ in a natural way, and looks under the hood of how C++ is implemented. This is especially valuable to comprehend when applying C++ in an embedded resource limited environment. The C++ standard has recently been undergoing a major revision, a.k.a. as C++11, and a new one is on its way, C++14. This course addresses subjects brought in with these revisions that are especially useful like high performance memory management, concurrency making use of a multicore environment, and bare-metal close to the hardware programming.
GOAL/BENEFITS
The major objective of this class is that you shall be able to use C++ in a “correct way”.
Introduce C++ as an object oriented language alternative in an embedded system context
Show the similarities ‑ and differences ‑ with the C language
Comprehend different memory management strategies – especially the move semantics introduced with C++11
Look under the hood and understand what different paradigms in C++ leads to in machine code
Use templates to achieve type safe high order abstractions for bare-metal close to the hardware programming – memory mapped I/O as well as interrupts – especially the variadic templates introduced with C++11
Provide some useful design patterns especially applicable in an embedded context
A few exercises in order to practice some concepts
AUDIENCE/PARTICIPANTS
This training is aimed C++- programmers who intend to start using C++ in an embedded system context.
PREVIOUS KNOWLEDGE
The course requires basic knowledge in C++ programming, corresponding to our trainings ”C++ – Level 1” and ”C++ Level 2 – Introducing C++11”.
PRACTICAL EXERCISES
During the training you will practice the presented concepts in a number of exercises. We will use the open and free integrated development environment from Eclipse
In this instructor-led, live training in Bonn, participants will learn how to code using FreeRTOS as they step through the development of a simple RTOS project using a microcontroller.
By the end of this training, participants will be able to:
Understand the basic concepts of real-time operating systems.
Learn the environment of FreeRTOS.
Learn how to code with FreeRTOS.
Interface a FreeRTOS application to hardware peripherals.
Model Based Development (MBD) is a software development methodology that enables faster, more cost-effective development of dynamic systems such as control systems, signal processing and communication systems. It relies on graphic modeling rather than the traditional text based programming.
In this instructor-led, live training participants will learn how to apply MBD methodologies to reduce development costs and accelerate the time to market of their embedded software products.
By the end of this training, participants will be able to
Select and utilize the right tools for implementing MBD.
Use MBD to carry out rapid development in the early stages of their embedded software project.
Shorten the release of their embedded software into the market.
Format of the course
Part lecture, part discussion, exercises and heavy hands-on practice
This instructor-led, live training in Bonn (online or onsite) is aimed at developers who wish to use C to apply object oriented programming techniques and improve software design.
By the end of this training, participants will be able to: implement object oriented concepts in C, design modular applications, apply encapsulation and abstraction, and structure maintainable codebases.
This instructor-led, live training in (online or onsite) is aimed at embedded engineers and system administrators who wish to build, customize, and deploy OpenBMC firmware for server management.
This instructor-led, live training in (online or onsite) is aimed at hardware validation and system test engineers who wish to implement, test, and troubleshoot IPMI and sensor management on OpenBMC platforms.
This instructor-led, live training in (online or onsite) is aimed at security engineers and firmware developers who wish to harden OpenBMC deployments against unauthorized access and firmware tampering.
This instructor-led, live training in (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.
PCB (Printed Circuit Board) Circuit Design refers to the process of designing, etching, and printing circuits on a signal boards layout. EAGLE is a freely available desktop application for designing PCBs.
In this instructor-led, live training, participants will learn how to use the Eagle software to create PCB circuit boards. The course starts by examining a set of existing schematics, then drawing out an original circuit in Eagle. The training steps through process for designing the circuit board and discusses the process for manufacturing the boards (the course does not include the physical manufacturing of the boards).
By the end of this training, participants will be able to:
Create a Printed Circuit Board (PCB) from any schematic
Create schematics and design circuit boards using Eagle
Export the industry-standard files for constructing the circuit board
Audience
Engineers
Technicians
Format of the Course
Part lecture, part discussion, exercises and heavy hands-on practice
Notes
To request a customized training for this course, please contact us to arrange.
This course provides a comprehensive introduction to the Zig programming language, covering its syntax, memory management, application development, and advanced features. Participants will gain hands-on experience with Zig’s unique approach to safety, performance, and interoperability, making it a strong alternative to C and Rust. The course includes practical exercises 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 Bonn, Embedded Systems training courses in Bonn, Weekend Embedded Systems courses in Bonn, Evening Embedded Systems training in Bonn, Embedded Systems instructor-led in Bonn, Embedded Systems one on one training in Bonn, Embedded Systems coaching in Bonn, Embedded Systems instructor-led in Bonn, Online Embedded Systems training in Bonn, Embedded Systems instructor in Bonn, Embedded Systems classes in Bonn, Embedded Systems boot camp in Bonn, Embedded Systems on-site in Bonn, Embedded Systems private courses in Bonn, Weekend Embedded Systems training in Bonn, Embedded Systems trainer in Bonn, Evening Embedded Systems courses in Bonn