Skip to main content
Version: FILS English

CD Storage and Retrieval System

An STM32 system-based CD storage that selects and ejects CDs using servo mechanisms.

info

Student: Savage Jessica-Andreea
GitHub Repository: https://github.com/UPB-PMRust-Students/fils-project-2026-jessicasavage24

Description

This project is a CD storage and retrieval system that is build on a stand where CDs are arranged on a rotating platform. In the center of the structure there is a stepper motor that rotates the entire stand. The system can be controlled by a joystick and a display or remotely via Bluetooth from a phone. Once a CD is selected, the stepper motor rotates the stand until the chosen CD reaches the front position. At this point, a servo motor is activated and pushes the CD outward for an easier access.

Motivation

I chose this project idea beacause i wanted to make something that accesses a CD collection easier and faster. Instead of manually searching through a stack of CDs, you cand simply browse for a desired album and the system will locate and present it.

Architecture

The whole system is built around an STM32 microcontroller. It receives commands either from the joystick-based local interface or through the Bluetooth module connected to a phone.

Scheme

Schematics

\wsl.localhost\Ubuntu\home\jessi\website\website\versioned_docs\version-fils_en\project\2026\jessica.savage\schema-jessica.webp

Log

Week 6

I came with the project idea and received a feedback.

Weeks 7-8

According to the feedback i tried to improve my project and I ordered the components.

Week 9

I received the components and started testing them to see if everything works.

Hardware

DeviceUsagePrice
STM32 Nucleo-U545RE-Qmain controllerborrowed
1.44'' LCDDisplays CD slection menu34.99 RON
Joystick Breakout BoardNavigates and selects options5.35 RON
Breadboard 830 points MB-102Connects the components to the microcontroller24.83 RON
Stepper motorMoves the mechanism to position48.99 RON
Servo motorPushes the CD13.99 RON
Wires (M-F and M-F)Component Interconnections15 RON
ResistorsProtects the components3.57 RON
Active BuzzerAudio feedback0.99 RON
RGB LEDStatus indicator0.99 RON

Software

LibraryDescriptionUsage
embassy-stm32STM32 hardware controlUsed for handling the motors, LEDs and joystick
st7735-lcdDisplay driverUsed to control the screen
embedded-graphicsGraphics libraryUsed to display the menu
embedded-halHardware interfaceUsed for communication with the peripherals
  1. Embedded Rust 101 course labs
  2. STM32U5 Reference Manual