๐Ÿ‡ฎ๐Ÿ‡น IT ๐Ÿ‡ฌ๐Ÿ‡ง EN

โšก No installation ยท Just a USB cable

Welcome to AVR1
The Assembly Lab
for Arduino

This section is for those who want to go beyond libraries and understand what really happens inside the microcontroller. Here you program "on bare metal", using only Assembly and the brute force of registers.

๐Ÿ—„๏ธ ATmega328P โ€” I/O REGISTERS Arduino Nano ยท UNO
0x04 DDRB
7 6 5 4 3 2 1 0
0x05 PORTB
7 6 5 4 3 2 1 0
0x06 PINB
7 6 5 4 3 2 1 0
Open the compiler โ†’
Guided path

1. Start Here
the foundations

๐Ÿš€ First Steps

Absolute First Steps

Your first experience with AVR Assembly. Two lines of code and an LED lights up.

Start โ†’
โ“ Why

Why ATmega328?

Discover why this microcontroller is the workhorse for learning.

Discover โ†’
๐Ÿ—บ๏ธ Map

Pin & Register Map

The visual reference to understand which bit corresponds to each physical pin.

Explore โ†’
๐Ÿ“‹ Overview

Path Introduction

An overview of what you'll learn and in what order.

View โ†’
Interactive

2. Experiment and
Test Yourself

โšก

Interactive Compiler

Write Assembly code and see the generated opcodes immediately. Includes a specific tutorial on usage.

Open Compiler โ†’
๐Ÿ’ก

Example: Turn on an LED

The "Hello World" of electronics, explained in detail.

View Example โ†’
โ˜ ๏ธ

Crash ASM: Stack Disasters

Boeing 737 MAX (346 deaths), Toyota, Ariane 5: PUSH/POP and CALL/RET errors that changed the world. Ethical lesson.

Ethical Lesson โ†’
โ“

Register Quiz

An interactive test to check your understanding. Other quizzes: "What does AVR1 do?" and Mini Tutorial + Quiz.

Test Yourself โ†’
Hands-on

3. Practical Projects
Get things moving

๐Ÿฆพ G90 Servo

G90 Servo Control

Control a servo motor without using the Servo.h library, managing registers and timers directly.

๐Ÿ‡ฎ๐Ÿ‡น IT ๐Ÿ‡ฌ๐Ÿ‡ง EN
โš™๏ธ Stepper Motor

28BYJ-48 Stepper

Rotate a stepper motor with precise bit sequences, controlled via SBI and CBI.

Start project โ†’
Web Serial API

4. Advanced Tools
Beyond compilation

Interact directly with hardware from the browser using Web Serial.

๐Ÿ“
Read/Write Flash
๐Ÿ‘๏ธ
Read Flash
๐Ÿ”
Firmware/Reset
๐Ÿ“ก
Serial Reading
๐Ÿ”Œ
Serial Communication
โฌ†๏ธ
Nano Uploader
๐Ÿ”ฅ
Flash Tutorial
โ“
Compiler Help
Resources

Useful Resources
and External Links

๐Ÿ“„ ATmega328P Official Datasheet Microchip
๐Ÿ“ฆ avrlass Library JS assembler
๐Ÿ›œ Arduino Web Uploader dbuezas
๐Ÿ“˜ m328Pdef.inc register definitions
๐Ÿ”ง Serial Terminal