Welcome to the Embedded Systems Project repository! This project focuses on STM32F103C8 (Blue Pill) and Arduino UNO R3, with development using STM32Cube Programmer and Arduino IDE. The repository includes firmware, circuit schematics, and project examples for embedded applications.
β
STM32F103C8 & Arduino UNO R3 support
β
Arduino-based programming
β
Peripheral interfacing: GPIO, UART, SPI, I2C, PWM, ADC
β
STM32Cube Programmer for flashing STM32
β
Arduino IDE for easy development
β
Sensor & actuator integration (DHT11, LCD, Motors, etc.)
β
Interrupts & power management
β
Communication: Serial, I2C, SPI, Bluetooth
π¦ Embedded-Systems-Project
βββ π docs # Documentation and guides
βββ π firmware # STM32 & Arduino firmware source code
βββ π hardware # Circuit schematics and PCB designs
βββ π examples # Example projects & test programs
βββ π LICENSE # License information
βββ π README.md # Project overview
Before you begin, ensure you have the following installed:
πΉ For STM32F103C8 (Blue Pill):-
βββ STM32Cube Programmer
βββ STM32duino (for Arduino IDE)
βββ USB-to-Serial Adapter (CP2102, CH340G) or ST-Link v2
βββ STM32CubeIDE (Optional for advanced development)
πΉ For Arduino UNO R3
βββ Arduino IDE
βββ Drivers for USB (CH340/ATmega16U2)
2οΈβ£ Clone the Repository sh Copy Edit git clone https://github.com/your-username/Embedded-Systems-Project.git cd Embedded-Systems-Project
πΉ Uploading Code to STM32F103C8 (Blue Pill) Method 1: Using STM32Cube Programmer & USB-to-Serial (CP2102)
Connect USB-to-Serial (CP2102/CH340G) to STM32: VCC β 3.3V GND β GND TX β PA10 (RX1) RX β PA9 (TX1) Set BOOT0 = 1 (Programming Mode), BOOT1 = 0 Open STM32Cube Programmer Select Serial Port, connect, and flash firmware Set BOOT0 = 0 (Normal Mode), reset STM32 Method 2: Using ST-Link V2
Connect ST-Link to STM32: 3.3V β 3.3V GND β GND SWDIO β SWDIO SWCLK β SWCLK Open STM32Cube Programmer, select ST-Link, and flash firmware πΉ Uploading Code to Arduino UNO R3 Connect Arduino to PC via USB Open Arduino IDE Select Board: Arduino UNO Select Port (Tools > Port > COMx) Write or open an example code Click Upload π Example Projects Project Description Board Blink LED Basic LED blinking STM32 & Arduino UART Communication Serial communication between STM32 & Arduino STM32 & Arduino I2C OLED Display Display text on OLED via I2C STM32 & Arduino Temperature Sensor (DHT11) Read temperature & humidity data STM32 & Arduino Motor Control (PWM) Control DC Motor speed using PWM STM32 & Arduino Bluetooth Communication (HC-05) Wireless communication using Bluetooth STM32 & Arduino Find the code inside the examples folder!
π€ Contributing We welcome contributions! Follow these steps:
Fork the repository. Create a new branch: git checkout -b feature-xyz. Commit your changes: git commit -m "Added new feature". Push the changes: git push origin feature-xyz. Open a Pull Request. π License This project is licensed under the MIT License β see the LICENSE file for details.
π¬ Contact & Support
π§ Email: [email protected]
ποΈLinkedin: https://www.linkedin.com/in/utkarshpatel001