Project Name
A multifunctional lamp
Author: Bumbacea Ioana Sarah
GitHub Project Link: https://github.com/UPB-PMRust-Students/fils-project-2026-sarahioana05-ship-it
Description
This project consists of a smart decorative lamp built using using a recycled aluminum can, with RGB LEDs placed inside to create lighting effects. The base of the lamp is inspired by a cherry blossom tree design.
Motivation
The idea for this project started from the desire to create a unique and visually appealing desk decoration using everyday materials. I also wanted the project to be more than just decorative, so I added features such as lighting effects, a timer, and a display, making it useful as a study lamp.
Architecture
The system is structured into several main functional components that interact with each other to provide the final behavior. +----------------------+
| Input Module |
|---|
| - Potentiometers |
| - Touch Sensor |
| - Button |
| +----------+-----------+ |
| v |
| +----------------------+ |
| Control Logic |
| ---------------------- |
| - Mode Selection |
| - Timer Management |
| - State Handling |
| +----+-----------+-----+ |
| +-----------+ +-----------+ |
| v v |
| +----------------------+ +----------------------+ |
| LED Control |
| ---------------------- |
| - RGB PWM Control |
| - Effects (rainbow, |
| blinking, etc.) |
| +----------------------+ +----------------------+ |
Log
Week 5 - 11 May
draw the schematic and planned how to create the lamp support and other decorative elements
Week 12 - 18 May
tested some of the components
Week 19 - 25 May
github assignment and started building the model
Hardware
The project is built around an STM32 microcontroller and includes multiple input and output components to create an interactive lighting system. The power supply is based on two 18650 Li-ion batteries, connected through a boost converter to provide 12V for the LEDs and a step-down regulator to supply 5V to the microcontroller and other components. STM32 Nucleo board – main controller RGB LEDs – main light source MOSFET transistors (IRF1405) – used to control LED channels Potentiometers (x4) – color and brightness control Capacitive touch sensor (TTP223) – mode switching LCD display – system feedback (brightness, time, etc.) Buzzer – timer alerts DC motor – interactive energy generation element Boost converter (XL6009) – steps voltage up to 12V Step-down converter (LM2596) – regulates voltage to 5V 18650 batteries + holder + charger – portable power supply The hardware schematics is saved in the .svg file
Schematics
Place your KiCAD or similar schematics here in SVG format.
Bill of Materials
| Device | Usage | Price |
|---|---|---|
| [STM32 Nucleo-U545RE] | The microcontroller | 125 RON |
| [LCD de 1.44'' pentru STC, STM32 și Arduino (5 V)] | the lcd screen | 34,99 RON |
| [Rezistor Variabil 10k WH148] | The potentiometers | 2,39*4 RON |
| [Buton 6x6x6] | five buttons | 1,80 RON |
| [Modul DC-DC Boost XL6009] | voltage booster to 12V | 9,99 RON |
| [Tranzistor Mosfet IRF1405 (Canal N, 200W, 55V)] | three mosfets for the leds | 29,97 RON |
| [Suport de Baterii 2 x 18650] | Battery support | 3,99 RON |
| [Modul cu Senzor Capacitiv TTP223] | touch sensor | 2,97 RON |
| [Baterie Reincarcabila 18650 ISR Li-Ion 3.6V 2600mAh] | power supply | 38,96 RON |
| [Modul DC-DC Step Down LM2596] | the voltage regulator for 5V | 9,46 RON |
| [Intrerupator Negru On/Off] | Button for the power supply | 1,98 RON |
| [Buzzer Pasiv de 3.3V sau 3V] | buzzer for the alarm | 1,98 RON |
| [Breadboard 90 x 52 x 8.5 mm] | two breadboards | 11,98 RON |
| [ Set de LED-uri Asortate de 5 mm si 3 mm (310 buc) cu Rezistoare Bonus] | LEDs and resistors | 26,99 RON |
| [Set Fire pentru Breadboard] | wires for components | [7,99 RON](cannot find the link anymore) |
Software
| Library | Description | Usage |
|---|---|---|
| embassy-stm32 | Async HAL for STM32 microcontrollers | Main framework for handling tasks, timers, and peripherals |
| embassy-time | Time handling for async systems | Used for delays, timers, and scheduling (lamp timer) |
| embedded-graphics | 2D graphics library | Used to draw text and UI on the LCD display |
| embedded-hal | Hardware abstraction layer | Used for general GPIO, ADC, and PWM control |
| lcd driver | LCD driver | Used to control the LCD display |