Skip to Content

BSP Development Training

Industrial Embedded Software & Multi-MCU BSP Architecture Design Single architecture, single-button build regardless of MCU. Vendor-independent BSP approach.

  • 100% hands-on laboratory sessions (real hardware)
  • Vendor-independent, multi-MCU BSP architecture
  •  (ST/TI/Microchip/Nuvoton…)
  • Debugging, logging, and industrial fault analysis (product-oriented approach) 


The BSP Development Training is a hands-on and architecture-focused program designed for engineers who want to develop industrial-grade embedded software.

It covers vendor-independent BSP design, the Hardware Abstraction Layer (HAL), and multi-MCU architectures on real hardware.

By the end of the training, you will reach a level where you can design a scalable infrastructure that maintains the same architecture across different MCU families.



BSP geliştirme eğitimi kapsamında yapılan uygulamalı sınıf çalışması
EmPhasalis, BSP geliştirme eğitimi kapsamında kullanılan gömülü sistem geliştirme kartı
This training is designed to break vendor-dependent development habits and to build sustainable BSP architectures.

With a single-architecture approach, it aims to produce scalable solutions across different MCUs.
Gömülü yazılım ve BSP geliştirme eğitmeni Burak Emre Polat
Burak Emre Polat
Embedya – Founder

BSP Development Training Schedule

The training may be organized in different cities/countries. You can follow the schedule for the most up-to-date dates and available seats.

Your Dynamic Snippet will be displayed here... This message is displayed because you did not provide enough options to retrieve its content.

 What Will You Be Able to Do After This Training?

Technical Competencies

  • Embedded software development for real-world applications
  •  Work with reliable and optimized BSP architectures used in real products.
  • Multi-MCU BSP architecture
  • Develop software for different microcontrollers using a single architectural approach.
  • Debugging and problem analysis
  • Systematically identify and resolve hardware and software issues.
  • Sensor and hardware integration
  • Apply accurate measurement and calibration techniques on real hardware.
Hands-On Experience

  • One-to-one practical work on real hardware
  • Working on real problems encountered in the field
  • Development using industry-standard tools and methodologies
  • Clean, maintainable, and sustainable coding practices
Career Impact

  • Preparation for advanced embedded software roles
  • Coding discipline aligned with industry standards
  • A strong portfolio with projects running on multiple MCUs
  • Analytical thinking and systematic problem-solving skills
🎯 Who Is This Training For?

  • Engineers working in embedded software or aiming to work in this field
  • Developers who want to move away from vendor-dependent BSP structures in their current projects
  • Developers working with multiple MCU families and looking for a single architectural approach
  • Those who want to improve their skills in debugging, logging, and fault analysis
  • Engineers who want to learn real BSP architectures used in the field
  • Professionals aiming to advance their career in embedded software engineering
🚫 Who Is This Training Not For?

  • Those at the level of “I want to learn C from scratch”

  • Those who are not interested in MCU registers, datasheets, and hardware-level details

  • Those who want to stay only at the Arduino level

⚠️ This training does not teach shortcuts; it teaches the correct and sustainable way.

Prerequisites:

Intermediate-level C programming knowledge

Participants are expected to be familiar with the following C topics:

  • Basic control structures (if/else, switch-case, loops)
  • Functions and parameter passing concepts
  • Arrays and pointer fundamentals
  • Structures (struct), unions, and typedef usage
  • Bit-level operations and bitmask logic
  • The role of header (.h) and source (.c) files, and the basic compilation process
  • Basic familiarity with debugging concepts

Training Flow – 2-Day Intensive Program

1. Day - Training Program
Objective:

Enable participants to bring an MCU from reset to a fully operational state by building clock, timing, I/O, and communication infrastructure using a vendor-independent BSP architecture.


Content:

  • Requirements definition

  • MCU architecture and memory layout

  • Project template (platform-independent structure)

  • Startup file

  • Linker script

  • Clock configuration (clock tree, PLL, clock sources)

Bu oturumun çıktısı:

  • The MCU boots up in a controlled and predictable manner after reset

  • The BSP skeleton is clearly established

Content:

  • Clock verification using MCO

  • Tick infrastructure (without using SysTick)

  • System time with microsecond resolution

  • GPIO drivers (Register-level & BSP layer)

Outcome of This Session:

  • Clock and timing are measured and verified

  • Delay and timing infrastructure is established

  • Real hardware is controlled through GPIO

Content:

  • UART hardware architecture and operating principles 

  • Industry-standard UART driver design (BSP layer) 

  • RX / TX data flow management and buffering 

  • Logging infrastructure for debugging and system tracing

Bu oturumun çıktısı:

  • The system communicates with the external world

  • A field-usable logging infrastructure is established

Content:

  • Fundamental timer principles

  • Time measurement

  • PWM generation

  • Duty cycle control

  • Hardware validation

Outcome of This Session:

  • Applications requiring high timing precision can be developed

  • The foundation for systems such as motors, LEDs, and power electronics is established



⚠️ By the end of Day 1, participants will have built a vendor-independent and extensible BSP infrastructure from scratch.

2. Day - Data, Communication, and Performance
Objective:
Transform the BSP infrastructure built by the participants into a data-collecting, high-performance, and production-ready system.


Content:

  • ADC operating principles
  • Sampling, resolution, and reference voltage concepts
  • ADC driver architecture and BSP integration
Hands-On Examples:

  • Temperature measurement using an NTC sensor
  • Light level measurement using an LDR
  • Analog level control using a potentiometer

Outcome:

  • Accurate transfer of analog signals into software
  • Establishment of measurement, filtering, and validation infrastructure

Content:

  • I²C protocol fundamentals (addressing, ACK/NACK)

  • I²C driver infrastructure

  • Bus management and error scenarios

Hands-On Examples:

  • Analog output generation using the MCP4725A DAC

  • SSD1306 0.96” OLED display driver

    • Text and basic graphics rendering

    • Displaying measured data on the screen

Outcome:

  • Reliable communication with external peripherals

  • Visualization of measured data via DAC output and display

Content:

  • SPI protocol fundamentals and timing principles

  • SPI driver architecture (mode, clock, CS management)

  • W25Q128 SPI Flash memory architecture

    • Page / Sector / Block structure

    • Read / Write / Erase commands

Hands-On Exercises:

  • Reading and writing data using the W25Q128

  • Sector erase and data verification

  • Analysis of flash access timings

Outcome:

  • Persistent data storage using external SPI flash memory

  • Foundation for logging, configuration, and data recording infrastructure


Content:

  • Fundamental DMA principles

  • Using UART with DMA

  • Reducing CPU load

  • Integrating all components into a single project

Outcome:

  • A production-oriented, high-performance BSP project

  • Hands-on experience with a real product scenario



Hardware Package Provided to Participants

These hardware components will be used hands-on during the training and given to participants as a gift at the end of the program.

EmPhasalis

EmPhasalis, BSP geliştirme eğitimi kapsamında kullanılan gömülü sistem geliştirme kartı

Sensors and peripherals for ADC, I²C, and GPIO applications, enabling real hardware scenarios.

EmSparkerG0

EmSparkerG0, BSP geliştirme eğitimi kapsamında kullanılan gömülü sistem geliştirme kartı

STM32-based BSP architecture, clock configuration, and core peripheral abstractions.

EmSparkerM0

EmSparkerM0, BSP geliştirme eğitimi kapsamında kullanılan gömülü sistem geliştirme kartı

Nuvoton-based BSP architecture, clock configuration, and core peripheral abstractions.

Arm DAP-Link

Gömülü yazılım BSP eğitimi için kullanılan debug ve bağlantı ekipmanları

Professional debugging, programming, and low-level fault analysis infrastructure.

UART/USB Dönüştürücü

Gömülü yazılım BSP eğitimi için kullanılan debug ve bağlantı ekipmanları

Serial communication, logging, and runtime debug output capture.

Logic Analyzer

Gömülü yazılım BSP eğitimi için kullanılan debug ve bağlantı ekipmanları

Real-time analysis of digital signals and communication protocols.

 Training Methodology

"“From Theory to Practice” Approach

  • Conceptual Foundation: Explanation of core principles, theoretical framework, and required mathematical models
  • Implementation: Step-by-step development through hands-on coding
  • Testing: Testing, measurement, and debugging on real hardware
  • Troubleshooting: Real-time analysis and problem-solving based on real-world issues
  • Optimization: Performance tuning and industry-oriented applications

"Hands-On Workshop:

  • Development board for each participant: The boards used during the training are given to participants at the end of the program
  • Real sensors and actuators: One-to-one practice with industry-grade hardware
  • Live debugging sessions: Real-time debugging and analysis
  • Face-to-face coding: Reinforcing learning through code reviews and collaborative development

Why This Training?

This training is designed around real hardware and production-oriented scenarios, rather than purely theoretical concepts.

A Development Board for Every Participant

The development board used during the training is permanently gifted to participants at the end of the program.

Hands-On Practice with Real Sensors and Actuators

One-to-one, hardware-based applications are carried out using sensors and peripherals actively used in industry.

Live Debugging and Analysis Sessions

Gömülü yazılım BSP geliştirme sırasında kullanılan profosyonel log örnekleri

Real-time debugging, logging, and signal analysis techniques are covered through live, hands-on applications.

Face-to-Face Coding

Professional software development habits are reinforced through code reviews and collaborative development sessions.

Hands-On Workshops & Applied Mini Projects

Each topic is reinforced with small-scale projects and hands-on workshops, applying concepts to real-world scenarios.

Instructor

Burak Eme Polat

Founder & Lead Instructor | Embedya

I am a graduate of METU Electrical and Electronics Engineering and have been working in the field of embedded systems for approximately 15 years.

In addition to RTOS, Embedded Linux, and BSP architectures, I specialize in system profiling, performance analysis, and advanced debugging techniques.

In my trainings, I transfer professional, field-proven approaches through hands-on practice using real hardware and real-world scenarios.