https://github.com/pandyaparth2407/arduinomimicstm32
Created BasicTools library for anyone wish to use STM32F103 for their project with arduino style interface
https://github.com/pandyaparth2407/arduinomimicstm32
arduino dma printf protocol-bridge real-time serial-communication stm32 stm32-arduino stm32-with-printf stm32cubeide stm32f103 timing uart usb-cdc
Last synced: 17 days ago
JSON representation
Created BasicTools library for anyone wish to use STM32F103 for their project with arduino style interface
- Host: GitHub
- URL: https://github.com/pandyaparth2407/arduinomimicstm32
- Owner: pandyaparth2407
- License: mit
- Created: 2025-04-04T22:13:41.000Z (26 days ago)
- Default Branch: main
- Last Pushed: 2025-04-04T23:49:08.000Z (26 days ago)
- Last Synced: 2025-04-05T00:19:44.069Z (26 days ago)
- Topics: arduino, dma, printf, protocol-bridge, real-time, serial-communication, stm32, stm32-arduino, stm32-with-printf, stm32cubeide, stm32f103, timing, uart, usb-cdc
- Language: C
- Size: 591 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
```markdown
# π ArduinoMimicSTM32: Bridge Your Projects with STM32F103! π
Welcome to the **ArduinoMimicSTM32** repository! This project aims to provide a library for developers who want to harness the power of the STM32F103 microcontroller using an Arduino-like interface. Whether you're a hobbyist or a professional, this library simplifies your development process, making it more accessible and efficient.
## π Overview
The **BasicTools library** allows you to utilize STM32F103 in a familiar way, making your transition from Arduino smoother. With this library, you can quickly set up real-time communication protocols, use DMA, and implement UART and USB CDC features effortlessly.
## π― Key Features
- **Arduino-style Interface**: Enjoy a straightforward interface similar to Arduino.
- **DMA Support**: Optimize your data transfer with Direct Memory Access.
- **printf Functionality**: Use familiar printing functions for debugging.
- **Real-time Communication**: Implement real-time protocols with ease.
- **UART Communication**: Engage in serial communication effortlessly.
- **USB CDC Support**: Utilize USB communication for your projects.## π¦ Installation
To get started with the ArduinoMimicSTM32 library, follow these steps:
1. Clone this repository:
```bash
git clone https://github.com/pandyaparth2407/ArduinoMimicSTM32.git
```2. Navigate to the cloned directory:
```bash
cd ArduinoMimicSTM32
```3. Open the project in your favorite IDE (STM32CubeIDE recommended).
4. Build and upload the project to your STM32F103 board.
5. Check the **Releases** section for the latest compiled binaries or updates.
## π Download
You can find the latest releases of the library [here](https://github.com/pandyaparth2407/ArduinoMimicSTM32/releases). Download the necessary files and execute them in your development environment.
## π Usage
### Initialization
To initialize the library, include the header file in your project:
```cpp
#include "BasicTools.h"
```Create an instance of the class:
```cpp
BasicTools bt;
```### Setup Function
In your `setup()` function, initialize the library:
```cpp
void setup() {
bt.begin(9600); // Initialize with baud rate
}
```### Loop Function
In your `loop()`, you can now use the library functions:
```cpp
void loop() {
bt.print("Hello, STM32!");
delay(1000);
}
```## βοΈ Topics Covered
This repository tackles several essential topics related to STM32F103 development, including:
- **Arduino**: Emulating the Arduino environment for STM32.
- **DMA**: Managing memory transfers efficiently.
- **printf**: Utilizing standard output functions for easy debugging.
- **Protocol Bridge**: Setting up communication between devices.
- **Real-time**: Handling time-sensitive operations.
- **Serial Communication**: Interfacing with various serial devices.
- **STM32**: Working with STM32F103 microcontroller.
- **STM32 with printf**: Using printf for easier debugging.
- **STM32CubeIDE**: Developing with STM32CubeIDE environment.
- **Timing**: Managing timing for tasks and delays.
- **UART**: Understanding and using Universal Asynchronous Receiver-Transmitter.
- **USB CDC**: Implementing USB communication.## π Contributing
We welcome contributions from the community! If you wish to contribute, please follow these steps:
1. Fork the repository.
2. Create a new branch:
```bash
git checkout -b feature/YourFeature
```
3. Make your changes.
4. Commit your changes:
```bash
git commit -m "Add Your Feature"
```
5. Push to the branch:
```bash
git push origin feature/YourFeature
```
6. Create a pull request.## π€ Community
Join our community of developers! Share your projects, ideas, and feedback. Engage with others who are also working with STM32 and Arduino. Connect on forums, Discord, or social media to discuss tips and tricks.
## π Documentation
For detailed documentation, refer to the [Wiki](https://github.com/pandyaparth2407/ArduinoMimicSTM32/wiki). You'll find guides, examples, and best practices to get the most out of the BasicTools library.
## π§ Examples
Here are some example projects using the ArduinoMimicSTM32 library:
### Example 1: Simple Serial Communication
This example demonstrates how to send data over UART.
```cpp
#include "BasicTools.h"BasicTools bt;
void setup() {
bt.begin(9600);
}void loop() {
bt.print("Sending data...");
delay(1000);
}
```### Example 2: USB CDC Communication
Implement USB communication to send data to your PC.
```cpp
#include "BasicTools.h"BasicTools bt;
void setup() {
bt.beginUSB();
}void loop() {
bt.print("USB data transmission...");
delay(2000);
}
```## π οΈ Support
For support, open an issue in the repository. Provide details about the problem youβre facing. Weβll try our best to help you resolve it promptly.
## π Acknowledgments
We appreciate the contributions and support from the open-source community. Special thanks to the developers who inspire and motivate us to innovate.
## π License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
---
### π Get Started Today!
With ArduinoMimicSTM32, you can elevate your projects and make the most of STM32F103. Don't hesitate to explore the library and create something amazing!
For updates, check our [Releases](https://github.com/pandyaparth2407/ArduinoMimicSTM32/releases) section.
Let's build something great together! π
```