Git Product home page Git Product logo

rustduino's Introduction

arduino

RustDuino is a one of the 4 projects offered by Electronics Club in summer 2021 for Y20 batch students which introduces the concepts of Embedded programming using Rust Language and also covers Arduino Architecture from the very basics. The project is oriented towards making our own Chips feature implementation library for Arduino.

We will be making optimizations along the way in this project, especially because what currently happens is that C/C++ program is converted into an arduino language and then into binaries. We'll be directly interfacing them so that these multiple conversions are not needed.

HAL (Hardware Abstraction Library) is a layer of programming that allows a computer Operating System to interact directly with the hardware device at a general level. AVR-GCC linker is a cross platform compiler which will allow us to compile code meant for arduino devices on our computers. We will be using this along the course of the project.

Communication Control Library will be a part of the project where we will be implementing various communication protocols of our Arduino board so that it could be further interfaced with different sensors and peripheral devices according to the power sources allowed by the source code. We will be implementing both USART (Universal Synchronous and Asynchronous serial Receiver and Transmitter ) and I2C communication protocols.

arduino

Understanding the Arduino Architecture at its core and developing a Rust Lang Crate ("library") for standard Arduino sensors and microcontrollers is the prime goal of this project. This will be accomplished using the Hardware Abstraction Library, Communication Control Library which we will make and the AVR-GCC compiler.

RUST language offers both memory safety and efficiency among other benefits, making it essential for low level embedded programming .Also with very robust memory allocation and dis-allocation rules with unique ownership and borrowing rules the compiler itself provides sufficient check on the code before trying it on the microcontrollers so that there is absolutely no wrongly functioning code preventing any potential harm to the chip.

We would try to cover as many library features as possible but the very fact of availability of a large number of features in Arduino makes this a vast never ending task. Our final aim is developing libraries for 2 chips specifically Atmega2560p (Arduino Mega) and Atmega328p (Arduino nano, uno).

What you want next ?

rustduino's People

Contributors

devansh-kumar-jha avatar mshivam2409 avatar vakshit avatar nikhilg2121 avatar 3007-ani-sha avatar prateekkp20 avatar sanmatip20 avatar tulikashukla avatar samarth-2003 avatar ayush4602 avatar 49sahil avatar libra-sky avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.