Skip to content

Commit 8da838e

Browse files
authored
Merge branch 'main' into Project/sara_cristiana.capp
2 parents 5d0e649 + b03aec6 commit 8da838e

99 files changed

Lines changed: 19679 additions & 245 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
# MA Website
22

33
This is the website for the MA course delivered to ACS CC and FILS English.
4+
5+
[![Review Assignment Due Date](https://classroom.github.com/assets/deadline-readme-button-22041afd0340ce965d47ae6ef1cefeee28c7c493a6346c4f15d667ab976d596c.svg)](https://classroom.github.com/a/yNS7YZsE)
21.1 KB
Loading

website/versioned_docs/version-acs_cc/project/2026/adelina_maria.alexe/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ The project uses an STM32 Nucleo-U545RE-Q as the main microcontroller board, fea
5555
### Schematics
5656

5757
<!-- TODO: Add KiCad schematic exported as SVG -->
58-
<!--![Schematic](schematic.svg)-->
58+
![Schematic](images/schematic.webp)
5959

6060
### Bill of Materials
6161

Lines changed: 59 additions & 0 deletions
Loading
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# RC Car
2+
3+
Remote controlled car using wireless serial communication.
4+
5+
:::info
6+
7+
**Author**: Alex Mark Stan \
8+
**GitHub Project Link**: https://github.com/UPB-PMRust-Students/acs-project-2026-MRK1717
9+
10+
:::
11+
12+
## Description
13+
14+
This project consists of building a remote-controlled car using wireless serial communication through the HC-12 module.
15+
16+
A joystick is used as input on the controller side, sending commands wirelessly to the car. The STM32 NUCLEO board receives these commands and controls the motors accordingly.
17+
18+
The system allows forward, backward, left, and right movement by controlling four DC motors through a motor driver.
19+
20+
## Motivation
21+
22+
I chose this project because it combines both hardware and software concepts, allowing me to learn about wireless communication, motor control, and processing analog inputs.
23+
24+
It is also a practical project that can be extended later with additional sensors or control features.
25+
26+
## Architecture
27+
28+
![Block Diagram](./block_diagram.svg)
29+
30+
The system is composed of two main parts:
31+
- Controller side: joystick module and HC-12 transmitter
32+
- Car side: HC-12 receiver, STM32 NUCLEO board, motor driver, DC motors, and battery pack
33+
34+
The joystick generates analog input values. These values are converted into movement commands and transmitted wirelessly through the HC-12 module. The STM32 receives the commands and sends control signals to the motor driver, which drives the DC motors.
35+
36+
## Log
37+
38+
### Week 20 - 24 April
39+
Chose the project idea and analyzed the system architecture. Studied the components required for building the RC car, including the STM32 NUCLEO board, HC-12 module, and motor driver.
40+
41+
### Week 25 - 28 April
42+
Researched communication between controller and car using the HC-12 module. Planned the hardware setup and started preparing the initial documentation.
43+
44+
## Hardware
45+
46+
STM32 NUCLEO-U545RE-Q board: Responsible for receiving commands and controlling the motors.
47+
48+
HC-12 Wireless Module: Used for wireless serial communication between the controller and the car.
49+
50+
Joystick Module: Used to generate movement commands based on user input.
51+
52+
L298N Motor Driver: Controls the speed and direction of the DC motors.
53+
54+
DC Motors: Provide physical movement for the car.
55+
56+
Battery Pack: Provides power for the car components.
57+
58+
### Schematics
59+
60+
TBD
61+
62+
### Bill of Materials
63+
64+
| Device | Usage | Price |
65+
|--------|--------|-------|
66+
| [STM32 Nucleo U545RE-Q](https://www.st.com/en/evaluation-tools/nucleo-u545re-q.html) | The microcontroller | [110 RON](https://ro.rsdelivers.com/product/stmicroelectronics/nucleo-u545re-q/stmicroelectronics-nucleo-u545re-q-stm32-nucleo/1899566) |
67+
| [Chassis Kit](https://www.pololu.com/category/2/motors) | The base for the car | [48.40 RON](https://www.emag.ro/) |
68+
| [HC-12 Wireless Module](https://components101.com/wireless/hc-12-wireless-module) | Used for wireless communication | [20 RON](https://www.emag.ro/) |
69+
| [Joystick Module](https://components101.com/modules/joystick-module) | Used for user input control | [20 RON](https://www.emag.ro/) |
70+
| [L298N Motor Driver](https://components101.com/modules/l298n-motor-driver-module) | Used to control the motors | [10.84 RON](https://www.emag.ro/) |
71+
| [DC Motors](https://www.pololu.com/category/2/motors) | Used for movement | [4 x 15 RON](https://www.emag.ro/) |
72+
| [Battery Pack](https://components101.com/batteries/18650-lithium-cell) | Power supply | [30 RON](https://www.emag.ro/) |
73+
74+
## Software
75+
76+
| Library | Description | Usage |
77+
|---------|-------------|-------|
78+
| [embassy-stm32](https://github.com/embassy-rs/embassy/tree/main/embassy-stm32) | Hardware interface | Used as the base library for controlling STM32 peripherals |
79+
| [embassy-time](https://github.com/embassy-rs/embassy) | Timing utilities | Used for delays and timing control |
80+
| [embedded-hal](https://github.com/rust-embedded/embedded-hal) | Hardware abstraction traits | Used for portable embedded hardware interfaces |
81+
82+
## Links
83+
84+
1. https://components101.com/wireless/hc-12-wireless-module
85+
2. https://components101.com/modules/l298n-motor-driver-module
86+
3. https://components101.com/modules/joystick-module
87+
4. https://www.st.com/en/evaluation-tools/nucleo-u545re-q.html
88+
5. https://github.com/embassy-rs/embassy

website/versioned_docs/version-acs_cc/project/2026/alexandru.birsan02/images/diagram.svg

Lines changed: 3 additions & 0 deletions
Loading
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# Polargraph
2+
A vertical drawing machine that uses a polar coordinate system to create pen-on-paper art
3+
4+
:::info
5+
6+
**Author**: Alexandru-Vlad Bîrsan \
7+
**GitHub Project Link**: https://github.com/UPB-PMRust-Students/acs-project-2026-vldxndr
8+
9+
:::
10+
11+
## Description
12+
13+
Polargraph - Vertical Plotter
14+
15+
The Polargraph is a vertical DRP (Digital Reconstruction Plotter) that operates on a polar coordinate system. Unlike the traditional plotter or printer that works on a X Y axis the polargrah transforms polar coordinates into coordonates on the paper by using two motors fixed over the paper that hold wires that have variable lenghts so they can position the drawing tool where it needs to be.
16+
17+
18+
## Motivation
19+
20+
The idea came to me because I have previously studied architecture and have always wanted to have something that could draw using real writing utensils, because while a printer can draw exactly what you want using pin point accuracy it lacks the soul of a hand drawing. This project aims to have the accuracy of a printer while portraying a hand rendered drawing.
21+
22+
23+
## Architecture
24+
25+
![Diagram](./images/diagram.svg)
26+
27+
## Log
28+
29+
### Week 27 - 30 April
30+
31+
Wrote initial documentation and made the first diagram while ordering the parts. Decided to use preexisting software for transforming drawings into lists of instructions.
32+
33+
### Week 12 - 18 May
34+
35+
### Week 19 - 25 May
36+
37+
## Hardware
38+
39+
The Polargraph is powered by an external 12V DC source to ensure constant torque for the stepper motors. For development purposes, the STM32 Nucleo is tethered via USB for real-time G-Code streaming and debugging
40+
41+
### Schematics
42+
43+
44+
### Bill of Materials
45+
46+
| Device | Usage | Price |
47+
| :--- | :--- | :--- |
48+
| [STM32 Nucleo-U545](https://www.st.com/en/microcontrollers-microprocessors/stm32u545.html) | Main Controller (Brain of the project) | [Owned] |
49+
| [NEMA 17 Stepper Motor (1.7A)](https://www.optimusdigital.ro/ro/motoare-pas-cu-pas/106-motor-pas-cu-pas-nema-17-40mm-17a.html) | Axis movement (2 pieces required) | [130 RON](https://www.optimusdigital.ro) |
50+
| [TMC2208 Stepper Driver](https://www.optimusdigital.ro/ro/drivere-motoare-pas-cu-pas/2753-driver-motor-pas-cu-pas-tmc2208.html) | Silent motor control (2 pieces required) | [90 RON](https://www.optimusdigital.ro) |
51+
| [SG90 Micro Servo](https://www.optimusdigital.ro/ro/servomotoare/9-servomotor-sg90.html) | Pen lift mechanism | [15 RON](https://www.optimusdigital.ro) |
52+
| [12V 5A Power Supply](https://www.optimusdigital.ro/ro/surse-de-alimentare/123-sursa-de-alimentare-12v-5a.html) | External power for stepper motors | [55 RON](https://www.optimusdigital.ro) |
53+
| [GT2 Pulleys & Belt Kit](https://www.optimusdigital.ro/ro/curele-si-fulii/145-fulie-gt2-20-dinti-5mm.html) | Mechanical transmission system | [40 RON](https://www.optimusdigital.ro) |
54+
| [Breadboard MB-102](https://www.optimusdigital.ro/ro/prototipare/10-breadboard-830-puncte.html) | Prototyping and circuit connections | [15 RON](https://www.optimusdigital.ro) |
55+
| [Jumper Wires M-M / F-M](https://www.optimusdigital.ro/ro/fire-conectori-si-socluri/894-set-fire-tata-tata-65-buc.html) | Connecting components to Nucleo | [15 RON](https://www.optimusdigital.ro) |
56+
| [DC Jack Adapter](https://www.optimusdigital.ro/ro/fire-conectori-si-socluri/124-mufa-dc-mama-cu-terminal-block.html) | Connecting the 12V supply to breadboard | [5 RON](https://www.optimusdigital.ro) |
57+
| [Capacitor Kit (100uF)](https://www.optimusdigital.ro/ro/componente-pasive/220-condensator-electrolitic-100uf-35v.html) | Power spike protection for drivers | [5 RON](https://www.optimusdigital.ro) |
58+
59+
60+
## Software
61+
62+
| Library | Description | Usage |
63+
| :--- | :--- | :--- |
64+
| [stm32u5xx-hal](https://github.com/stm32-rs/stm32u5xx-hal) | Hardware Abstraction Layer | Managing GPIO for motor control, UART for G-Code streaming, and Timers for pulse generation. |
65+
| [embedded-hal](https://github.com/rust-embedded/embedded-hal) | Embedded Abstraction Traits | Provides a standard interface for peripheral drivers, ensuring modular and testable code. |
66+
| [micromath](https://github.com/tarkentat/micromath) | Fast Math Library | Used for efficient fixed-point and floating-point square root calculations in the Inverse Kinematics engine. |
67+
| [cortex-m-rt](https://github.com/rust-embedded/cortex-m-rt) | Startup and Runtime | Handles the entry point and reset handler for the ARM Cortex-M33 processor. |
68+
| [panic-halt](https://github.com/rust-embedded/panic-halt) | Panic Handler | Provides a simple panic strategy that halts the processor in case of critical software errors. |
69+
70+
71+
#### Host Software & Toolchain
72+
73+
To transform digital images into physical drawings, the project uses a multi-step toolchain:
74+
75+
1. **Vectorization/G-Code Generation**: I use DrawingBotV3 (or Inkscape with G-Code extensions). These tools allow me to convert standard images (JPG/PNG) into paths using algorithms like *Squiggle*, *TSP (Travelling Salesman Problem)*, or *Stippling*.
76+
2. **Path Optimization**: The software generates a list of G-Code commands (`G0`, `G1`) which represent coordinates in a Cartesian system.
77+
78+
## Links
79+
80+
1. [DrawingBotV3](https://drawingbotv3.com/) - The primary software for G-Code generation.
81+
2. [Polargraph Physics](https://github.com/euphy/polargraph/wiki/Polargraph-physics) - Detailed explanation of the inverse kinematics involved.
82+
3. [TMC2208 Datasheet](https://www.trinamic.com/fileadmin/assets/Products/ICs_Documents/TMC220x_TMC2224_datasheet_Rev1.09.pdf) - Technical specifications for the motor drivers.
83+
4. [Example](https://www.youtube.com/watch?v=aiw3hkDvp-M) - Working example

website/versioned_docs/version-acs_cc/project/2026/ana.mardaloescu2802/architecture.svg

Lines changed: 4 additions & 0 deletions
Loading

0 commit comments

Comments
 (0)