Training course · RAG & LLM Applications · C/C++ & Embedded

RAG & LLM Applications for C/C++ and Embedded Developers

Develop RAG and LLM applications: embeddings, vector databases, chunking, retrieval, evaluation, cost control and data protection.

Duration
2 days (14 hrs)
Format
Online or on-site
Language
German or English
Participants
open dates or exclusive for your team
Certificate
Certificate of attendance

Overview

“RAG & LLM Applications for C/C++ and Embedded Developers” is a hands-on course for roles such as Embedded software engineers working with microcontrollers and RTOS-based systems, C++ developers in systems software, automotive and industrial automation and Firmware and device driver developers. Rather than learning RAG & LLM Applications in the abstract, you work on tasks from your daily routine – with examples, exercises and templates from C/C++ & Embedded.

Retrieval-augmented generation connects language models to your own knowledge: manuals, contracts, tickets, wikis or product data are made searchable and handed to the model as context at runtime. The result is assistants that give grounded answers with citations instead of hallucinating. In this two-day course you build a complete RAG pipeline, from document preparation through embeddings and a vector database to answer generation, and you learn which levers actually determine quality.

Day two takes you from prototype to robust application. You compare chunking strategies, combine semantic and lexical search, apply reranking, metadata filters and query rewriting, and measure the effect with systematic evaluations. You also cover prompt caching, cost control, latency optimisation, document-level access control and privacy-compliant operation with an eye on GDPR and the EU AI Act. By the end you know when classic RAG is enough, when a large context window or agentic retrieval is the better option, and how to justify your architecture choices.

In embedded and systems development, determinism, memory safety and tight resource budgets matter more than almost anywhere else. AI coding assistants and agents help you read datasheets and register maps, write drivers and hardware abstraction layers, clear compiler warnings and static analysis findings, and build unit tests with mocks for hardware access. The domain also demands particular care: undefined behaviour, race conditions in interrupt handlers or MISRA violations creep in quickly when generated code is accepted uncritically. In this course you learn to integrate AI into your cross-compilation workflow with CMake, debuggers and hardware-in-the-loop tests while meeting the quality and safety expectations of functionally safe products.

The course is delivered live – either online in a virtual classroom or on-site in our training rooms in Munich, Salzburg, Berlin, Augsburg, Hanover, Bremen, Stuttgart and Kaiserslautern. We can also run it exclusively for your team.

Who is this course for?

  • Embedded software engineers working with microcontrollers and RTOS-based systems
  • C++ developers in systems software, automotive and industrial automation
  • Firmware and device driver developers
  • Embedded Linux and Yocto developers
  • Test and verification engineers for embedded systems

Typical challenges we address

  • Memory errors, undefined behaviour and concurrency bugs are hard to find and costly in the field
  • Legacy C codebases full of global state and macros with little test coverage
  • Significant effort to comply with and evidence coding standards such as MISRA C/C++ or AUTOSAR C++
  • Hardware knowledge locked in datasheets and in the heads of a few experts

What you will be able to do

  • You build a complete RAG pipeline from document preparation to answers with citations.
  • You choose embedding model, chunking strategy and vector database on solid grounds.
  • You improve retrieval quality with hybrid search, reranking and metadata filters.
  • You measure application quality with systematic evaluations and detect regressions.
  • Apply AI agents to driver development, refactoring and debugging in C and C++ in a targeted, verifiable way.
  • Raise test coverage of low-level software with generated unit tests and mocks that run on the host.
  • Combine AI support with coding standards, static analysis and the evidence requirements of safety-related development.

Course outline

Day 1

Module 1 Foundations of RAG and LLM applications
  • Anatomy of a RAG pipeline: ingestion, indexing, retrieval, generation
  • Understanding embeddings: semantic similarity, dimensions, model selection
  • Weighing RAG against fine-tuning and long context windows
  • Structured outputs, citations and dealing with hallucinations
Module 2 Document preparation and chunking
  • Reliably extracting PDFs, Office documents, HTML and tables
  • Chunking strategies: fixed size, structure-aware, semantic, with overlap
  • Enriching metadata and generating contextual summaries per chunk
  • Incremental updates and deletion of documents in the index
Module 3 Vector databases and retrieval strategies
  • Comparing vector databases and extensions such as pgvector, Qdrant, Weaviate or OpenSearch
  • Hybrid search combining vector and full-text search with BM25
  • Reranking, metadata filtering and query rewriting
  • Agentic retrieval: letting the model decide on search steps and tools
Module 4 Evaluation and quality assurance
  • Building and maintaining test sets from real user questions
  • Retrieval metrics such as recall and precision, and answer metrics such as faithfulness
  • Using and calibrating LLM-as-a-judge sensibly
  • Regression testing when chunking, model or prompt changes

Day 2

Module 5 Operations, cost and data protection
  • Prompt caching, batch processing and model choice to cut costs
  • Optimising latency and streaming responses
  • Document-level permissions, tenant isolation and protection against prompt injection
  • Data protection: data residency, processing agreements, deletion policies, GDPR and the EU AI Act
Module 6 Practice lab: C/C++ & Embedded
  • Drivers from datasheets
  • Making sense of static analysis
  • Unit tests with hardware mocks
  • Crash and memory analysis
  • Introducing modern C++
  • Build and toolchain upkeep
Module 7 Data protection, quality & transfer to daily work
  • Firmware is often core intellectual property and may be subject to export control or security requirements: you learn how to protect source code, assess licensing risks in generated code and reconcile AI use with the Cyber Resilience Act, IEC 62443 and functional safety under ISO 26262 or IEC 61508.
  • Ground rules for safe AI use in your team
  • Checking results: facts, sources, tests and the four-eyes principle
  • Personal action plan for the next 30 days
  • Open questions, outlook and resources for further learning

Practical scenarios from your field

Drivers from datasheets

Have register descriptions and timing diagrams structured from datasheets, then derive headers with bitfield definitions, initialisation routines and a lean hardware abstraction layer for SPI, I²C or UART peripherals.

Making sense of static analysis

Explain and prioritise findings from clang-tidy, cppcheck or MISRA checkers, propose compliant corrections and prepare justified deviations for your deviation records. Recurring patterns can then be fixed across the codebase.

Unit tests with hardware mocks

Extract testable interfaces from low-level code, generate mocks for register and HAL access and create unit tests with GoogleTest, Unity or CppUTest that run on the host.

Crash and memory analysis

Interpret HardFault registers, stack traces, core dumps and sanitiser output, narrow down likely causes such as stack overflows or use-after-free and suggest targeted debugging steps.

Introducing modern C++

Gradually replace raw pointers, manual memory management and macros with RAII, constexpr, smart pointers and type-safe abstractions without degrading real-time behaviour or the memory budget.

Build and toolchain upkeep

Structure CMake projects for cross-compilation, create toolchain files, linker scripts and CI jobs for firmware builds and analyse build failures in the context of the target platform.

Possible hands-on projects

Register header generator

A script that converts register tables from an SVD or CSV file into type-safe C headers with masks, offsets and accessor functions.

Serial protocol monitor

A desktop tool that reads from a serial port, decodes a custom binary protocol and displays frames with timestamps and filters.

MISRA report dashboard

A small web view that aggregates static analysis results, groups rule violations by module and tracks progress across builds. New violations are highlighted.

Prerequisites

Solid programming skills in Python (or TypeScript as an alternative), basic knowledge of databases and REST APIs, and some experience with LLM APIs. You are proficient in C or C++ and experienced with build systems, debugging and low-level or systems programming.

Technical requirements

A laptop with Python, Git, Docker and a code editor, plus API access to at least one LLM and embedding provider. Credentials for the exercises can be provided if needed.

Data protection & compliance

Firmware is often core intellectual property and may be subject to export control or security requirements: you learn how to protect source code, assess licensing risks in generated code and reconcile AI use with the Cyber Resilience Act, IEC 62443 and functional safety under ISO 26262 or IEC 61508.

Suggested dates

All dates are suggestions – your preferred date is always possible.

  • Thu, 26 November 2026 – Fri, 27 November 2026 Online Request
  • Wed, 9 December 2026 – Thu, 10 December 2026 Stuttgart Request
  • Thu, 7 January 2027 – Fri, 8 January 2027 Hanover Request
  • Wed, 13 January 2027 – Thu, 14 January 2027 Online Request
  • Thu, 28 January 2027 – Fri, 29 January 2027 Berlin Request
  • Tue, 2 February 2027 – Wed, 3 February 2027 Online Request

Frequently asked questions

When is RAG better than fine-tuning?

RAG is the right choice when a model needs access to current, extensive or frequently changing knowledge and should cite its sources. Fine-tuning mainly changes style, format or specialised behaviour. In many projects RAG is the faster, cheaper and more controllable route, sometimes complemented by fine-tuning for niche tasks.

Which vector database should we use?

That depends on data volume, existing infrastructure, filtering needs and operating model. If you already run PostgreSQL, pgvector often takes you a long way, while specialised systems shine with large datasets and hybrid search. In the course you compare several options hands-on and derive criteria for your own decision.

How can RAG be run in a GDPR-compliant way?

Key factors are choosing providers with suitable data residency and a data processing agreement, enforcing document-level permissions, having a deletion policy for the index and logs, and minimising personal data. For highly sensitive data, self-hosted models are also an option. We work through these choices using realistic architectures.

Is AI-generated code acceptable in safety-critical embedded systems?

Standards such as ISO 26262 or IEC 61508 do not prohibit AI tools, but they require traceable processes, reviews, testing and, where relevant, tool qualification. Generated code is therefore treated like any other code: reviewed, tested and verified against coding standards. In the course you develop working practices that support this evidence rather than bypass it.

Can an AI agent work with my target hardware?

Agents can trigger builds, flash devices, read serial output and run tests on the host or a hardware-in-the-loop rig, provided you expose the right command-line tools. We show you how to set up such loops in a controlled way, with clear permissions and without the agent accessing production devices unsupervised.

How much does “RAG & LLM Applications for C/C++ and Embedded Developers” cost?

The course costs a flat €949 plus VAT per participant – whether online or on-site. This includes 2 training day(s) with a live trainer, course materials, a lab environment and a certificate of attendance.

Can I suggest my own date?

Yes. Our suggested dates are just a guide. In the request form you can always describe your preferred date or period in free text – we check availability and confirm within one working day.

Is the course online or on-site?

Both are possible: live online in a virtual classroom or on-site in Munich, Salzburg, Berlin, Augsburg, Hanover, Bremen, Stuttgart or Kaiserslautern. We can also run the course exclusively for your team.

More courses for C/C++ and Embedded Developers

More RAG & LLM Applications courses

All 29 RAG & LLM Applications courses