Week 5: Embedded programming

Group Assignment: group page


Abdalla:

Aduino IDE

Arduino IDE Arduino is a very popular and most commonly used open-source electronics platform based on easy-to-use hardware and software. Arduino is fundamentally a C/C++ environment. It runs a simple programming language called Wiring, which makes it easy to write scripts to make the microcontroller carry out tasks. These scripts are called Sketches by Arduino. Most shields come with sketches already written that can be loaded in to the software, compiled and downloaded to the base board.

Advantages:

  1. Cross-platform - runs on Windows, Macintosh OSX, and Linux operating systems. Most microcontroller systems are limited to Windows. ​

  2. Easy to learn with a lot of online resources to learn ​

  3. Huge supporting community. ​

  4. Simple, clear programming environment - easy-to-use for beginners, yet flexible enough for advanced users to take advantage of as well. ​

  5. Open source and extensible software - The Arduino software is published as open source tools, available for extension by experienced programmers. The language can be expanded through C++ libraries, and people wanting to understand the technical details can make the leap from Arduino to the AVR C programming language on which it’s based. Similarly, you can add AVR-C code directly into your Arduino programs if you want to. ​

Disadvantages:

  1. No understanding of the AVR microcontroller. ​

  2. Sketches and shields can be difficult to modify. ​

  3. No debugger included for checking scripts. When errors arise, some do not have a clear statement of where or why this error message is showing, it won’t direct you or give solution unless you have experience with Arduino. ​

  4. For using with Attiny. Attiny 44 in our case, we need to install the package, it is also required to burn the Arduino bootloader onto the chip to make sure the chip will accept any programs uploaded via the Arduino IDE.