Hands on projects with the I2C protocol - Learn by doing!
What you'll learn
- Be able to set up I2C communication between microcontrollers and thousands of I2C devices available in the market
- Understand how OLED displays work and know how to display content on them
- Gain a deep understanding of how to set up I2C communication between a STM32 Nucleo microcontroller and a Linear Technologies LTC2990 Current, Voltage and Temperature sensor
- Understand how to enable GPIO input to read input into the microcontroller from push buttons
- Understand Hardware Abstraction Layer (HAL) Libraries and how to use them
- Feel confident and comfortable programming applications on the Cortex-M platform
- Read datasheets for I2C slave devices to figure out how to make them work with a microcontroller master
Requirements
- Basic knowledge of embedded systems
- STM32 Nucleo development board is recommended, but not mandatory
- MakerMax I2C development board is recommended, but not mandatory
- Basic understanding of the ARM Cortex processor fundamentals
Description
Welcome to this course on embedded systems for STM32: I2C protocol masterclass. The I2C communication protocol is a popular protocol that microcontrollers use to talk to various devices such as EEPROMS and NVRAMs, ADCs and DACs, I/O interfaces for port expansion, and a whole array of different types of sensors. This class goes in-depth into the theory behind the I2C protocol, why it was originally designed, what types of common formats are available, and how to implement I2C communication between a STM32 microcontroller, a LTC2990 current, voltage and temperature sensor and an OLED display.
Who am I?
I’m Akshay, and I’ll be your instructor for this course. I have been fascinated with micro controllers since I was a child, and now I consider it lucky to have it as my profession. I currently write firmware for safety critical systems that go inside electric cars. With my knowledge of embedded systems over the past 10+ years, and working in Silicon Valley, I have gained a unique insight into what the industry needs and what the students are lacking.
Course Structure
The course is divided into four sections -
Section 1 - In this section you will learn the theory behind the I2C protocol and how to implement it effectively.
Section 2 - In this section you will set up a free and open source development environment to program and debug ARM Cortex microcontrollers. If you have previously completed my course on the Foundations of ARM Cortex-M processors, then you may choose to skip to the next section.
Section 3 - In this section you will get hands-on experience on how to write the I2C drivers for the LTC2990 temperature, current and voltage sensor and the SSD1306 OLED display. You can take the knowledge learned in this section and apply it to any other I2C device of your choosing.
Section 4 - In this section you will unlock features of the I2C Shield with specially designed assignments. After each assignment I will show you my method of implementation for comparison.
What hardware is needed for this course?
This course is created around the Nucleo series of boards from ST Microelectronics and I have designed, specifically for this course a custom board that fits on top of the Nucleo board. The Nucleo board is available for purchase directly from ST Micro and the custom I2C board can be purchased on www(dot)makermax(dot)ca to allow you to get hands-on without having a whole electronics lab at your desk. Although this hardware is recommended, it is not mandatory. If you choose not to buy the hardware, you will still be able to follow along through all the lectures as I will show you my implementation. The best way to learn however, is to try and implement it yourself. If you have further questions on the hardware or anything else, send me a message! I would be more than happy to help you.
Who this course is for:
- An embedded systems enthusiast, professional or student who wants to explore the peripherals of a microcontroller
- If you wish to master the I2C communication protocol
- If you wish to gain a deep understanding of the GPIO peripheral
- Already been working with ARM Cortex microcontrollers and want to gain a deeper understanding of the processor's peripherals
Instructors
Akshay has always had a practical approach to engineering. His quest for Electric Vehicles began in 2008 when he developed a unique dashboard electric scooters that rewards users when they drive electric. In his Masters at University of Toronto he developed a unique way of measuring impedance characteristics of Lithium-ion batteries on-board vehicles that allow for early prediction of battery failures.
He was a core member of the Battery Hardware and Firmware team at Tesla, where he worked on the Model S refresh, Model X and Model 3 vehicles. He is now the Director at MakerMax Inc., that is enabling an ecosystem for mass EV adoption by creating products such as battery analyzers, characterizers and battery management platforms that enable the industry to create high performance and safe Electric Vehicles. He also runs popular online workshops on Battery Technology to reskill professionals and students in this field.
MakerMax is bringing a paradigm shift in education through its application based courses and workshops in embedded systems, electric vehicles and power electronics.
The next batch for our popular Electric vehicle battery and BMS masterclass is starting on January 30th! Registrations are open now.
For exclusive masterclasses and educational products, visit us at our website!