Your Challenge: Implement a Motor Tester
Background
One of the biggest things that makes embedded programming interesting is working to control both hardware and software. There are several low-level (closer to the physical hardware components) peripherals on-board the microcontrollers for interfacing with various devices. The low-level libraries you will be working with for this bootcamp are the serial peripheral interface (SPI) and the timers (TIM).
Instructions
Your task is to input a potentiometer value from 0 to 3.3V and convert it to a PWM signal to control a motor. The potentiometer is connected to an external ADC chip which sends data to the MCU over SPI. Motor testers are useful for determining servo motor range, continuous rotation motor speed, prototype testing, and centering servos.
Documentation is provided for each step in the process in the next bootcamp pages.
Fork this repository so you can edit it (See
Set up development environment
Open the project in the STM32 Cube IDE
Configure Microcontroller (.ioc) file pins based on schematic
Configure SPI peripheral (ADC)
Configure timer for PWM signal
Write code to convert ADC input to motor control signal
Debug all Compiler Errors
Create pull request and message in the
#Bootcamp
channel to have it reviewedOnce approved, come into the bay to test your code if you are on campus!
A preliminary schematic of the circuit board created for this bootcamp: