Development Board
Any development board based on an ARM Cortex-M processor will be sufficient for successfully navigating this series, as the code is developed with portability across different platforms in mind.
This series is based on STM32F429ZIT6. The STM32F429ZIT6 is a microcontroller from STMicroelectronics that is part of the STM32F4 series of microcontrollers. It is based on the Arm Cortex-M4 32-bit processor and includes various features and peripherals that make it well-suited for multiple applications.
Some key features of the STM32F429ZIT6 microcontroller include the following:
Arm Cortex-M4 processor with a maximum frequency of 180 MHz
256 KB of flash memory and 64 KB of SRAM
Up to 2 MB of external SDRAM memory
Multiple communication interfaces, including Ethernet, USB OTG, and CAN
A rich set of peripherals, including ADC, DAC, timers, and PWM generators
2.4" QVGA TFT LCD
On-chip debugging and programming support
You can purchase the STM32F429ZIT6 microcontroller from the following vendors:
STMicroelectronics
Required hardware
To get started, you only need a development board. Some peripherals usually come with the board so we will start with these. We will begin by developing bare metal code for these onboard peripherals. I will illustrate how to create bare metal code to control these. Later, we will further interface more complex devices like touch screen LCD, stepper motors, and multimedia devices and develop drivers for them.
Below is a list of all the hardware you will need in this series. The list will be constantly updated as the series progresses.
Touchscreen LCD
A couple of LEDs, resistors, capacitors, jumper wires and a breadboard.
ADC and DAC (if your board didn't come with one)
Stepper motor
You may want to get a DIY kit that contains some components like jumper breadboard, wires, resistors, and LEDs we will be reusing as it isn't convenient to buy them in units.