Whether delivered online or on-site, our instructor-led live Embedded Systems training courses focus on interactive, hands-on practice to cover both fundamental and advanced concepts. This approach ensures participants gain a thorough understanding of the subject matter through practical application.
You can choose between "online live training" and "onsite live training". Online sessions, also known as "remote live training", are conducted through an interactive remote desktop environment. For on-site options, training can be delivered directly at your customer premises in Durban or at NobleProg's corporate training centers in Durban.
NobleProg -- Your Local Training Provider
Garden Court South Beach
Durban, South Africa
Way to get there
From Durban city centre: follow the beachfront/Marine Parade south toward South Beach.
By car/taxi: give the driver the address 73 O.R. Tambo Parade, South Beach, Durban 4001.
From King Shaka International Airport: the hotel is roughly 30 km ;from the airport.
Intermediate Rust for Embedded Systems delves into toolchains, safety patterns, and real-time workflows within Durban. This live training supports developers in building reliable firmware through no_std and embedded-hal. The focus remains on concurrency, debugging, and hardware deployment.
This instructor-led, live training in Durban (online or onsite) is designed for developers and embedded systems engineers who wish to utilise Rust for embedded systems programming and acquire the necessary skills to build robust and efficient embedded applications.
Upon completion of this training, participants will be able to:
Configure a development environment for Rust-based embedded systems programming.
Comprehend and work with microcontrollers and their peripherals using Rust.
Write efficient and reliable code for resource-constrained embedded systems.
Manage concurrency and real-time requirements in embedded applications.
Interface with hardware and utilise low-level abstractions in Rust.
Apply power management and low-power optimisation techniques in embedded systems.
This instructor-led, live training in Durban (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 Durban (online or onsite) is designed for intermediate-level automotive engineers and embedded systems developers who wish to grasp the theoretical aspects of ECUs, emphasizing Vector-based tools and methodologies used in automotive design and development.
By the conclusion of this training, participants will be capable of:
Comprehending the architecture and functions of ECUs in contemporary vehicles.
Analyzing the communication protocols utilized in ECU development.
Exploring Vector-based tools and their theoretical applications.
Implementing model-based development principles in ECU design.
This instructor-led, live training in Durban (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.
This accessible instructor-led live training in Durban delves into the basics of embedded systems and IoT. Learners will gain proficiency in C programming and microcontroller architectures, along with configuring hardware peripherals. The course features practical, hands-on exercises to cultivate essential technical skills.
This instructor-led, live training in Durban (online or onsite) is designed for engineers who want to master embedded C programming for a range of microcontrollers across different processor architectures, including 8051, ARM CORTEX M-3, and ARM9.
In this instructor-led, live training in Durban, participants will learn how to program the Arduino for practical applications, such as controlling lights, motors, and motion detection sensors. This course requires the use of real hardware components in a live lab environment (software-simulated hardware is not used).
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.
Integrate 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.
This instructor-led course in Durban examines the role of C++ in embedded systems. It delves into object-oriented design, memory management, and real-time programming to ensure the creation of accurate and efficient code. Participants will build a sample application to reinforce their practical skills.
This instructor-led, live training in Durban (online or onsite) is designed for engineers and scientists who aim to learn and apply DSP implementations to efficiently manage various signal types and achieve superior control over multi-channel electronic systems.
Upon completion of this training, participants will be capable of:
Setting up and configuring the necessary software platforms and tools for Digital Signal Processing.
Gaining a comprehensive understanding of the foundational concepts and principles underlying DSP and its applications.
Becoming familiar with DSP components and utilising them effectively within electronic systems.
Generating algorithms and operational functions based on DSP outcomes.
Utilising core features of DSP software platforms to design signal filters.
Synthesising DSP simulations and implementing diverse filter types for DSP applications.
This live training in Durban delves into embedded C design principles, enabling developers to navigate reliability, functionality, and logical structure. It features hands-on exercises focused on crafting error-free applications, optimizing hardware performance, and mastering system constraints, code reusability, and maintainability.
This intensive, hands-on training in Durban walks engineers through the core mechanics, architecture, and driver creation processes of the Embedded Linux kernel. Participants will learn to configure, build, and launch custom kernels, while gaining proficiency in device tree fundamentals and the development of character device drivers for practical, real-world use cases.
This practical course in Durban enables participants to build embedded Linux systems from the ground up. It addresses bootloaders, cross-development, build systems, and application debugging. With 60% of the time allocated to hands-on activities, learners will configure toolchains and construct custom filesystems to tackle real-world projects.
This Durban training bridges the gap between C and C++ for embedded systems. It explores C++11 features such as move semantics and concurrency. Learn to leverage templates for bare-metal programming and apply relevant design patterns. Acquire the skills to use C++ correctly in resource-constrained environments.
This instructor-led, live training in Durban (online or onsite) is designed for engineers who wish to design high-performance embedded systems using FPGA technology.
Upon completion of this training, participants will be able to:
Install and configure the FPGA software tools required to design and simulate an embedded system.
Select the most suitable FPGA architecture for a given application.
In this instructor-led live training in Durban, participants will learn how to code using FreeRTOS while stepping 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.
Familiarise themselves with the FreeRTOS environment.
Learn how to code with FreeRTOS.
Interface a FreeRTOS application with hardware peripherals.
This instructor-led training focuses on Durban, covering essential C++ OOP concepts such as classes, encapsulation, and polymorphism. Through hands-on labs, developers gain the skills to design modular and reusable applications, exploring inheritance, exception handling, and templates to create efficient, scalable software solutions.
This instructor-led live training (online or on-site) 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 (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 session (available online or onsite) is designed for security engineers and firmware developers aiming to harden OpenBMC deployments against unauthorised access and firmware tampering.
This instructor-led, live training (available online or onsite) is designed for embedded Linux developers seeking to master the OpenBMC build system, customise layers, and produce production-ready BMC firmware images.
This live, instructor-led training (available online or on-site) is designed for beginner to intermediate PCB designers and electronics engineers aiming to develop a complete, 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, 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 Durban course explores 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, making it ideal for engineers aiming 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 capabilities. Participants will gain practical experience with Zig's distinct approach to safety, performance, and interoperability, positioning it as a compelling alternative to C and Rust. The curriculum includes practical exercises designed to reinforce learning and build confidence in writing efficient, reliable Zig code.
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 Durban, Embedded Systems training courses in Durban, Weekend Embedded Systems courses in Durban, Evening Embedded Systems training in Durban, Embedded Systems instructor-led in Durban, Embedded Systems one on one training in Durban, Embedded Systems boot camp in Durban, Embedded Systems coaching in Durban, Evening Embedded Systems courses in Durban, Online Embedded Systems training in Durban, Embedded Systems trainer in Durban, Weekend Embedded Systems training in Durban, Embedded Systems instructor in Durban, Embedded Systems private courses in Durban, Embedded Systems classes in Durban, Embedded Systems on-site in Durban, Embedded Systems instructor-led in Durban