Course Content
Embedded Python on ARM Cortex M4 Processor
Python Essential Training
Setting Up Python
Printing a Statement
Working with Variables
Working with Lists
Experimenting with Arithmetic Operators
Working with Conditions
Working with Loops
Working with Functions
Dictionaries
Implementing Classes
Adding more Methods to the Class
Understanding the Class Init Method
Inheriting from a Class
More on Inheritance
Setting Up MicroPython
Getting the Required Tools
Installing the Required Tools
Getting Started with MicroPython
Accessing the Microcontroller using a Terminal
Accessing the Microcontroller using rshell
Setting an IDE for MicroPython Development
Getting the Required Documentation for STM32 Development
Bare-Metal Embedded MicroPython Development
Analyzing the Peripheral and Buses in the Documentation
Constructing the Memory Address
Developing the Bare-Metal Driver
General Purpose Input/Output(GPIO)
Overview of ARM Cortex-M General Purpose Input/Output Module
Developing the GPIO Output Driver using Direct Register Access
Developing the GPIO Input Driver using Direct Register Access
Exploring the MicroPython GPIO Class
Developing the GPIO Output Driver
Developing the GPIO Input Driver
General Purpose Timers
Understanding STM32 Timers
Implementing Background Threads using Timers
Generating Precise PWM Signals using Timers
Generating Precise PWM Signals of changing Dutycycles
Developing the Timer Output Compare Driver
Developing the Timer Input Capture Driver
Watchdog Timers (WDG)
Developing the Watchdog Timer Driver
Realtime Clocks (RTC)
Developing the RealtimeClock Driver
Analog to Digital Conversion (ADC)
Introduction to Analog to Digital Conversion
Analyzing the ADC Documentation
Implementing the ADC Driver using Direct Register Access
Developing the ADC Driver
Developing the ADC Periodic Sampling Driver
Reading Internal Channels: Temperature, VBAT, VREF
Universal Asynchronous-Synchronous Receiver-Transmitter (USART)
Overview of the UART Protocol
Developing the UART Transmit(TX) Driver
Developing the UART Receive(RX) Driver
External Interrupt (EXTI) Programming
Understanding Interrupts
Developing the External Interrupt (EXTI) Driver
Serial Peripheral Interface (SPI) Driver Development
Understanding the SPI Protocol
Developing the SPI Driver- Analyzing the Slave Device (ADXL345)
Implementing the SPI Read function
Implementing the SPI Write function
Implementing the slave intialization function
Testing the ADXL345 SPI Driver
Inter- Integrated Circuit (I2C) Driver Development
Understanding the I2C Protocol
Developing the I2C Driver – Scanning the Bus for connected Slaves
Implementing the I2C Read function
Implementing the I2C Write and Initialization functions
Testing the ADXL345 I2C Driver
Power Management Drivers
Developing the Sleep Mode Driver
Developing the Stop Mode Driver
Developing the Standby Mode Driver
Mixing Assembly Code with MicroPython
MicroPython Inline Assembly Basics
Working with Branching and Looping Instruction
Developing a GPIO Driver with Inline Assembly
Know your Instructor
Live Sessions
Duration 1 month
1 Hour Everyday
Next Batch 15th February – 15th March
8:00 PM to 9:00 PM