|
| 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 | + |
| 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 |
0 commit comments