You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

6.6 KiB


Arduino Guide

A guide covering Arduino devices such as the Arduino Uno and Arduino Nano. Along with the tools, applications and libraries that will make you a better and more efficient developer with Arduino devices. Also, learn about cool projects that you can build with your Arduino device.

Checkout the Arduino Starter Kit

Checkout the Arduino Uno

Arduino Uno Hardware Specs

  • Microcontroller ATmega328P
  • Operating Voltage 5V
  • Input Voltage (recommended) 7-12V
  • Input Voltage (limit) 6-20V
  • Digital I/O Pins 14 (of which 6 provide PWM output)
  • Flash Memory 32 KB (ATmega328P) of which 0.5 KB used by bootloader
  • SRAM 2 KB (ATmega328P)
  • EEPROM 1 KB (ATmega328P)
  • Clock Speed 16 MHz

Checkout the Arduino Nano

Arduino Nano Hardware Specs

  • Microcontroller ATmega328
  • Architecture AVR
  • Operating Voltage 5 V
  • Flash Memory 32 KB of which 2 KB used by bootloader
  • SRAM 2 KB
  • Clock Speed 16 MHz
  • Input Voltage 7-12 V
  • Digital I/O Pins 22 (6 of which are PWM)

Resources

Arduino is an open source electronic prototyping platform enabling users to create interactive electronic objects.

Arduino Reference Manual

Getting Started with Arduino

Arduino Education

Arduino Store

Arduino Forum

Arduino Courses on Udemy

Arduino Courses on Coursera

Online Arduino Classes on Skillshare

Introduction to Arduino course on Pluralsight

Arduino Training Courses on NobleProg

Arduino with Python course from Real Python

200+ Arduino Projects on Instructables

Tools

Arduino CLI is an all-in-one solution that provides builder, Boards/Library Manager, uploader, discovery and many other tools needed to use any Arduino compatible board and platforms.

Arduino IDE is an open source integrated development environment(IDE) for the Arduino computing platforms based on easy-to-use hardware and software.

Arduino Pro IDE is a professional version of the Arduino IDE that brings more features for advanced users and developers. The project is currently in the experimently version.

VSCode Arduino is a VSCode extension for Arduino. The Arduino extension makes it easy to develop, build, deploy and debug your Arduino sketches in Visual Studio Code, with a rich set of functionalities.

Gobot is a framework using the Golang programming language for robotics, physical computing, and the Internet of Things(IoT).

Tasmota is an alternative firmware for ESP8266 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX.

Blynk is a C++ library for embedded hardware. It works with over 400 hardware models such as Arduino, ESP8266, Raspberry Pi, Intel Edison/Galileo, LinkIt ONE, Particle Core/Photon, ARM mbed, etc.

Arduino Thread is a library tha makes it simple to run Threads on Arduino.

PlatformIO is a professional collaborative platform for embedded development with no vendor lock-in. It provides support for multiplatforms and frameworks such as IoT, Arduino, CMSIS, ESP-IDF, FreeRTOS, libOpenCM3, mbed OS, Pulp OS, SPL, STM32Cube, Zephyr RTOS, ARM, AVR, Espressif (ESP8266/ESP32), FPGA, MCS-51 (8051), MSP430, Nordic (nRF51/nRF52), NXP i.MX RT, PIC32, RISC-V.

PlatformIO for VSCode is a plugin that provides support for the PlatformIO IDE on VSCode.

Tock is an embedded operating system designed for running multiple concurrent, mutually distrustful applications on Cortex-M and RISC-V based embedded platforms. Tock's design centers around protection, both from potentially malicious applications and from device drivers.

TinyGo is a Go compiler(based on LLVM) intended for use in small places such as microcontrollers, WebAssembly (Wasm), and command-line tools.

LLVM is a library that has collection of modular/reusable compiler and toolchain components (assemblers, compilers, debuggers, etc.). With these components LLVM can be used as a compiler framework, providing a front-end(parser and lexer) and a back-end (code that converts LLVM's representation to actual machine code).

Chipyard is an open source framework for agile development of Chisel-based systems-on-chip. It will allow you to leverage the Chisel HDL, Rocket Chip SoC generator, and other Berkeley projects to produce a RISC-V SoC with everything from MMIO-mapped peripherals to custom accelerators.

The Eclipse Embedded CDT is a collection of plug-ins for Arm & RISC-V C/C++ developers. Unicorn is a lightweight, multi-platform, multi-architecture CPU emulator framework(ARM, AArch64, M68K, Mips, Sparc, X86) based on QEMU.

Keystone is a lightweight multi-platform, multi-architecture(Arm, Arm64, Hexagon, Mips, PowerPC, Sparc, SystemZ & X86) assembler framework.