Har genomfört en del projekt från första kundmöte till färdig produkt under min tid som verksam i kategorin inbyggda system, dvs kretskortsdesign, programmera mikroprocessorer, EMC-tester och diverse certifieringar.
Är det något jag lärt mig den hårda vägen är att genvägar ofta blir senvägar när man skalar upp produktionen och min högst personliga åsikt är att Arduino tillåter lite väl många genvägar som i slutändan kan bli väldigt problematiskt att navigera bland, inte enbart kodmässigt utan även tankemässigt.
För snabba proof-of-concept och icke kritiska lösningar fungerar det säkert jättebra. Men det allra viktigaste är att man lär sig vad som pågår under huven, varför går saker och ting fel om man flippar en bit här eller där. Vilka register styr relevanta "interrupt-flags", vad är addressen till (eller hur ser callback ut från) interruptvektorn osv.
När det kommer till 8-bits eller 32-bits kärnor så föreslår jag att skippa 8-bits och gå direkt på 32-bits. Jag började min bana med Motorolas 68HC och Assembler vilket gav en jättebra förståelse för hur mikroprocessorer fungerar i botten. Men det finns bättre och mer effektiva sätt idag att lära sig än att bara knacka Assemblerkod tills poletten trillar ner.
Sist gång jag använde 8-bits mikroprocessor skulle jag säga är minst 7-8 år sedan. Innan jag uteslutande körde med 32-bits så var det ofta projekt av modell "enklare" som började med 8-bits, kunden insåg att för att öka försäljning måste det ena med det andra läggas till/byggas ut osv. Till slut hamnade man i läget där byte av processor var enda vägen framåt.
Jag skulle däremot överväga använda en 8-bits idag om produktionsvolymen överstiger 250k enheter och dessa inte kräver 32-bits.