USB Device programming with STM32CubeIDE Training Course
The course presents the basic aspects of USB device programming and the practical use of STM32CubeIDE for USB device firmware design.
Course Outline
USB interface – overview, dictionary, device’s logical components. USB device classes.
USB descriptors. USB device control interface.
STM32 microcontrollers and their USB interfaces.
STM32 USB device middleware overview. Code structure, interrupts, caveats
and practical remarks.
Creating USB device solution using STM32CubeIDE.
Exercise 1 – HID device
Exercise 2 – CDC
Exercise 3 – mass storage
Requirements
Knowledge of C language and microcontroller technology.
Need help picking the right course?
USB Device programming with STM32CubeIDE Training Course - Enquiry
Testimonials (2)
Sean was a dynamic speaker and the hands-on exercises were very interesting and I can see how they will be really applicable.
Temira Koenig - Yeshiva University
Course - Raspberry Pi for Beginners
The aquisition of useful knowlwdge and clarification of some things I was not sure of peviously.
Kenneth Mahoney - University of Glasgow
Course - Arduino: Programming a Microcontroller for Beginners
Related Courses
Advanced Embedded Systems Development
35 HoursThis instructor-led, live training in Botswana (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).
Arduino Programming for Beginners
21 HoursIn this instructor-led, live training in Botswana, 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.
Efficient microcontroller programming in C
7 HoursThe course covers the aspects of modern C language dialects (C99, C11, C2x) related to embedded programming and guidelines for efficient and error-immune programming techniques. The examples/exercises are implemented on STM32 family microcontrollers.
Deploying AI on Microcontrollers with TinyML
21 HoursThis instructor-led, live training in Botswana (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.
Microcontroller Design
35 HoursThis instructor-led, live training in Botswana (online or onsite) is aimed at engineers who wish to learn the design principles of microcontroller design.
Raspberry Pi for Beginners
14 HoursRaspberry Pi is a very small, single-board computer.
In this instructor-led, live training, participants will learn how to set up and program the Raspberry Pi to serve as an interactive and powerful embedded system.
By the end of this training, participants will be able to:
- Set up an IDE (integrated development environment) for maximum development productivity
- Program Raspberry Pi to control devices such as motion sensor, alarms, web servers and printers.
- Understand Raspberry Pi's architecture, including inputs and connectors for add-on devices.
- Understand the various options in programming languages and operating systems
- Test, debug, and deploy the Raspberry Pi to solve real world problems
Audience
- Developers
- Hardware/software technicians
- Technical persons in all industries
- Hobbyists
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
Note
- Raspberry Pi supports various operating systems and programming languages. This course will use Linux-based Raspbian as the operating system and Python as the programming language. To request a specific setup, please contact us to arrange.
- Participants are responsible for purchasing the Raspberry Pi hardware and components.
Tensorflow Lite for Microcontrollers
21 HoursThis instructor-led, live training in Botswana (online or onsite) is aimed at engineers who wish to write, load and run machine learning models on very small embedded devices.
By the end of this training, participants will be able to:
- Install TensorFlow Lite.
- Load machine learning models onto an embedded device to enable it to detect speech, classify images, etc.
- Add AI to hardware devices without relying on network connectivity.
Serial interfaces in microcontrollers
7 HoursThe course presents common serial interfaces used in embedded systems and useful practical details of their implementation. The presentation is accompanied by hands-on exercises using STM32 microcontrollers.