Skip to content

Created BasicTools library for anyone wish to use STM32F103 for their project with arduino style interface

License

Notifications You must be signed in to change notification settings

pandyaparth2407/ArduinoMimicSTM32

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

# 🚀 ArduinoMimicSTM32: Bridge Your Projects with STM32F103! 🌟

![ArduinoMimicSTM32](https://img.shields.io/badge/ArduinoMimicSTM32-v1.0.0-blue?style=flat&logo=github)

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
  1. Navigate to the cloned directory:

    cd ArduinoMimicSTM32
  2. Open the project in your favorite IDE (STM32CubeIDE recommended).

  3. Build and upload the project to your STM32F103 board.

  4. Check the Releases section for the latest compiled binaries or updates.

🔗 Download

You can find the latest releases of the library here. Download the necessary files and execute them in your development environment.

📜 Usage

Initialization

To initialize the library, include the header file in your project:

#include "BasicTools.h"

Create an instance of the class:

BasicTools bt;

Setup Function

In your setup() function, initialize the library:

void setup() {
    bt.begin(9600);  // Initialize with baud rate
}

Loop Function

In your loop(), you can now use the library functions:

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:
    git checkout -b feature/YourFeature
  3. Make your changes.
  4. Commit your changes:
    git commit -m "Add Your Feature"
  5. Push to the branch:
    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. 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.

#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.

#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 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 section.

Let's build something great together! 🌟