Arduino UNO ATMega328P in assembly

tutto il framework Arduino si può bypassare, ad esempio cancellate le due funzioni loop() e setup() e scrivere

int main()
{
    while(1);
}

e così avrete il main pulito con i suoi pregi e difetti, ad esempio nessun interrupt inizializzato e quindi no delay,millis et simila.
Sapere modificare il comportamento del framework è un buon inizio, per programmare in C non basta conoscere il linguaggio, che si racchiude in circa 200/300 pagine, bisogna avere altre conoscenze, bisogna studiare parecchio.
Tramite l'ide Arduino non si può programmare in Assembly perché viene richiamato GCC e poi g++ dunque possiamo usare l'inline, ma meglio non abusarne ed usarlo solo in casi strettamente necessari.
Forse si crede che in tale linguaggio il chip corra più veloce, ma per superare le ottimizzazioni del compilatore bisogna avere tanta,tanta,tanta esperienza.

Volete fare di più? aprite la directory che contiene il core Arduino e iniziate ad aggiungere , modificare il codice.Ricordatevi che li siete in C non in C++.