{"id":27374331,"url":"https://github.com/pandyaparth2407/arduinomimicstm32","last_synced_at":"2026-04-26T22:31:36.757Z","repository":{"id":286204328,"uuid":"960694725","full_name":"pandyaparth2407/ArduinoMimicSTM32","owner":"pandyaparth2407","description":"Created BasicTools library for anyone wish to use STM32F103 for their project with arduino style interface","archived":false,"fork":false,"pushed_at":"2025-04-04T23:49:08.000Z","size":605,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-05T00:19:44.069Z","etag":null,"topics":["arduino","dma","printf","protocol-bridge","real-time","serial-communication","stm32","stm32-arduino","stm32-with-printf","stm32cubeide","stm32f103","timing","uart","usb-cdc"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pandyaparth2407.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-04-04T22:13:41.000Z","updated_at":"2025-04-04T23:49:12.000Z","dependencies_parsed_at":"2025-04-05T00:29:52.690Z","dependency_job_id":null,"html_url":"https://github.com/pandyaparth2407/ArduinoMimicSTM32","commit_stats":null,"previous_names":["pandyaparth2407/arduinomimicstm32"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pandyaparth2407%2FArduinoMimicSTM32","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pandyaparth2407%2FArduinoMimicSTM32/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pandyaparth2407%2FArduinoMimicSTM32/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pandyaparth2407%2FArduinoMimicSTM32/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pandyaparth2407","download_url":"https://codeload.github.com/pandyaparth2407/ArduinoMimicSTM32/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248710444,"owners_count":21149188,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","dma","printf","protocol-bridge","real-time","serial-communication","stm32","stm32-arduino","stm32-with-printf","stm32cubeide","stm32f103","timing","uart","usb-cdc"],"created_at":"2025-04-13T11:56:01.410Z","updated_at":"2026-04-26T22:31:36.715Z","avatar_url":"https://github.com/pandyaparth2407.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"```markdown\n# 🚀 ArduinoMimicSTM32: Bridge Your Projects with STM32F103! 🌟\n\n![ArduinoMimicSTM32](https://img.shields.io/badge/ArduinoMimicSTM32-v1.0.0-blue?style=flat\u0026logo=github)\n\nWelcome 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.\n\n## 📚 Overview\n\nThe **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.\n\n## 🎯 Key Features\n\n- **Arduino-style Interface**: Enjoy a straightforward interface similar to Arduino.\n- **DMA Support**: Optimize your data transfer with Direct Memory Access.\n- **printf Functionality**: Use familiar printing functions for debugging.\n- **Real-time Communication**: Implement real-time protocols with ease.\n- **UART Communication**: Engage in serial communication effortlessly.\n- **USB CDC Support**: Utilize USB communication for your projects.\n\n## 📦 Installation\n\nTo get started with the ArduinoMimicSTM32 library, follow these steps:\n\n1. Clone this repository:\n   ```bash\n   git clone https://github.com/pandyaparth2407/ArduinoMimicSTM32.git\n   ```\n\n2. Navigate to the cloned directory:\n   ```bash\n   cd ArduinoMimicSTM32\n   ```\n\n3. Open the project in your favorite IDE (STM32CubeIDE recommended).\n\n4. Build and upload the project to your STM32F103 board.\n\n5. Check the **Releases** section for the latest compiled binaries or updates.\n\n## 🔗 Download\n\nYou 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.\n\n## 📜 Usage\n\n### Initialization\n\nTo initialize the library, include the header file in your project:\n\n```cpp\n#include \"BasicTools.h\"\n```\n\nCreate an instance of the class:\n\n```cpp\nBasicTools bt;\n```\n\n### Setup Function\n\nIn your `setup()` function, initialize the library:\n\n```cpp\nvoid setup() {\n    bt.begin(9600);  // Initialize with baud rate\n}\n```\n\n### Loop Function\n\nIn your `loop()`, you can now use the library functions:\n\n```cpp\nvoid loop() {\n    bt.print(\"Hello, STM32!\");\n    delay(1000);\n}\n```\n\n## ⚙️ Topics Covered\n\nThis repository tackles several essential topics related to STM32F103 development, including:\n\n- **Arduino**: Emulating the Arduino environment for STM32.\n- **DMA**: Managing memory transfers efficiently.\n- **printf**: Utilizing standard output functions for easy debugging.\n- **Protocol Bridge**: Setting up communication between devices.\n- **Real-time**: Handling time-sensitive operations.\n- **Serial Communication**: Interfacing with various serial devices.\n- **STM32**: Working with STM32F103 microcontroller.\n- **STM32 with printf**: Using printf for easier debugging.\n- **STM32CubeIDE**: Developing with STM32CubeIDE environment.\n- **Timing**: Managing timing for tasks and delays.\n- **UART**: Understanding and using Universal Asynchronous Receiver-Transmitter.\n- **USB CDC**: Implementing USB communication.\n\n## 🌐 Contributing\n\nWe welcome contributions from the community! If you wish to contribute, please follow these steps:\n\n1. Fork the repository.\n2. Create a new branch:\n   ```bash\n   git checkout -b feature/YourFeature\n   ```\n3. Make your changes.\n4. Commit your changes:\n   ```bash\n   git commit -m \"Add Your Feature\"\n   ```\n5. Push to the branch:\n   ```bash\n   git push origin feature/YourFeature\n   ```\n6. Create a pull request.\n\n## 🤝 Community\n\nJoin 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.\n\n## 📖 Documentation\n\nFor 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.\n\n## 🔧 Examples\n\nHere are some example projects using the ArduinoMimicSTM32 library:\n\n### Example 1: Simple Serial Communication\n\nThis example demonstrates how to send data over UART.\n\n```cpp\n#include \"BasicTools.h\"\n\nBasicTools bt;\n\nvoid setup() {\n    bt.begin(9600);\n}\n\nvoid loop() {\n    bt.print(\"Sending data...\");\n    delay(1000);\n}\n```\n\n### Example 2: USB CDC Communication\n\nImplement USB communication to send data to your PC.\n\n```cpp\n#include \"BasicTools.h\"\n\nBasicTools bt;\n\nvoid setup() {\n    bt.beginUSB();\n}\n\nvoid loop() {\n    bt.print(\"USB data transmission...\");\n    delay(2000);\n}\n```\n\n## 🛠️ Support\n\nFor 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.\n\n## 🎉 Acknowledgments\n\nWe appreciate the contributions and support from the open-source community. Special thanks to the developers who inspire and motivate us to innovate.\n\n## 🔔 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n### 🚀 Get Started Today!\n\nWith ArduinoMimicSTM32, you can elevate your projects and make the most of STM32F103. Don't hesitate to explore the library and create something amazing!\n\nFor updates, check our [Releases](https://github.com/pandyaparth2407/ArduinoMimicSTM32/releases) section.\n\nLet's build something great together! 🌟\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpandyaparth2407%2Farduinomimicstm32","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpandyaparth2407%2Farduinomimicstm32","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpandyaparth2407%2Farduinomimicstm32/lists"}