In the previous part, we were able to control the servo motor by writing to PWM registers of the FE310 microcontroller. Now it’s time to have more fun with Rust by writing high-level servo motor abstraction that is suitable for controlling multiple servo motors in a uniform fashion. The HAL expresses such abstractions as Rust traits with the goal of making code more portable between different embedded platforms. The core functionality of the servo motor is captured in the Servo trait.