Delivered either online or on-site, our live, instructor-led Embedded Systems training courses provide interactive, hands-on opportunities to master both the fundamental principles and advanced concepts of the field.
Embedded Systems training is offered as either “online live training” or “onsite live training.” Online live sessions (also referred to as “remote live training”) are facilitated through an interactive remote desktop platform. Alternatively, on-site live training can be conducted locally at customer premises in Gaia or at NobleProg’s corporate training centers in Gaia.
NobleProg – Your Local Training Provider
Holiday Inn Porto - Gaia
220, Rua Diogo Macedo, 220, Vila Nova de Gaia 4400-107 , Gaia, Portugal
From Porto by Metro
If you're coming from Porto city centre:
Take the Metro Line D (yellow line) toward Vila d’Este.
Get off at João de Deus.
From João de Deus, walk about 13 minutes to: Rua Diogo Macedo 220, 4400-107 Vila Nova de Gaia.
From Vila Nova de Gaia train station
If by “local train station” you mean Vila Nova de Gaia-Devesas:
The address is approximately 12 minutes walking from Vila Nova de Gaia station according to the accommodation's location information.
You can therefore walk directly rather than taking the metro.
Intermediate Rust for Embedded Systems explores toolchains, safety patterns, and real-time workflows within the context of Gaia. This live training supports developers in constructing reliable firmware using no_std and embedded-hal, with a strong emphasis on concurrency, debugging, and hardware deployment.
This instructor-led live training in Gaia (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 Gaia (online or onsite) is designed for intermediate-level automotive engineers and technicians who wish to acquire hands-on experience in testing, simulating, and diagnosing ECUs using Vector tools such as CANoe and CANape.
By the end of this training, participants will be able to:
Comprehend 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 Gaia (online or onsite) targets 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 Gaia (online or onsite) targets intermediate-level embedded systems engineers and AI developers who aim 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 beginner-friendly, instructor-led live training on Gaia explores 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 develop hands-on capabilities.
This instructor-led, live training in Gaia (online or onsite) is designed for engineers keen on mastering embedded C to program diverse microcontrollers across various processor architectures (8051, ARM CORTEX M-3, and ARM9).
In this instructor-led, live training in Gaia, participants will learn how to program the Arduino for real-world applications, such as controlling 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.
This instructor-led course in Gaia examines the integration of C++ within embedded systems. It addresses object-oriented design, memory management, and real-time programming to facilitate the creation of accurate and efficient code. Participants develop practical skills by constructing a sample application.
This instructor-led live training in Gaia (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.
This live training on Gaia delves into the principles of Embedded C design, enabling developers to grasp the nuances of reliability, functionality, and logical structure. The course features hands-on exercises focused on building error-free applications, optimizing hardware performance, and mastering key aspects such as system constraints, code reusability, and long-term maintainability.
This practical training in Gaia takes engineers through the internals, architecture, and driver development of the Embedded Linux kernel. Learners will configure, compile, and boot custom kernels while mastering the fundamentals of device trees and writing character device drivers for real-world applications.
This practical course in Gaia enables participants to develop embedded Linux systems from the ground up. The curriculum addresses bootloaders, cross-development workflows, build systems, and application debugging. With 60% of the time dedicated to hands-on practice, learners configure toolchains and assemble custom filesystems for real-world applications.
This Gaia training bridges the divide between C and C++ in embedded systems. It delves into C++11 capabilities such as move semantics and concurrency. You will learn to employ templates for bare-metal programming and implement relevant design patterns, acquiring the skills to use C++ effectively in resource-limited environments.
In this instructor-led live training in Gaia, participants will learn how to code using FreeRTOS by developing a simple RTOS project on a microcontroller.
Upon completion of this training, participants will be able to:
Understand fundamental concepts of real-time operating systems.
Familiarize themselves with the FreeRTOS environment.
Gain proficiency in coding with FreeRTOS.
Interface FreeRTOS applications with hardware peripherals.
This instructor-led training in Gaia focuses on core C++ OOP concepts, including classes, encapsulation, and polymorphism. Through hands-on labs, developers gain the skills to design modular and reusable applications, exploring inheritance, exceptions, and templates to build effective, scalable software solutions.
This instructor-led, live training session (available online or onsite) 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) is designed for 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 (online or onsite) is designed for security engineers and firmware developers seeking to strengthen OpenBMC deployments against unauthorized access and firmware tampering.
This instructor-led, live training session (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 tailored for beginner to intermediate-level PCB designers and electronics engineers seeking 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, 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 Gaia explores RISC-V architecture, assembly, Linux, FPGA, and AI applications. It aims to bridge the global talent shortage by developing expertise from ISA fundamentals to advanced SoC design. It is ideal for engineers looking to master modern, open-source computing stacks.
This course offers a thorough introduction to the Zig programming language, encompassing its syntax, memory management, application development, and advanced features. Participants will acquire practical experience with Zig’s distinct emphasis on safety, performance, and interoperability, establishing it as a robust alternative to C and Rust. The curriculum incorporates practical exercises designed to reinforce learning and instil 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
Remy Pieron - Facebook
Course - Arduino Programming for Beginners
Good examples, focus on most useful material
Piotr Sowinski - Intel Technology Poland
Course - Object Oriented Programming with C++
Provisional Upcoming Courses (Contact Us For More Information)
Online Embedded Systems training in Gaia, Embedded Systems training courses in Gaia, Weekend Embedded Systems courses in Gaia, Evening Embedded Systems training in Gaia, Embedded Systems instructor-led in Gaia, Embedded Systems private courses in Gaia, Online Embedded Systems training in Gaia, Embedded Systems instructor-led in Gaia, Embedded Systems trainer in Gaia, Weekend Embedded Systems training in Gaia, Embedded Systems instructor in Gaia, Embedded Systems boot camp in Gaia, Embedded Systems one on one training in Gaia, Evening Embedded Systems courses in Gaia, Embedded Systems coaching in Gaia, Embedded Systems classes in Gaia, Embedded Systems on-site in Gaia