Arduino® mikrokontroller kan användas för att styra flera olika typer av motorer. Även om den exakta elektroniska styrkretsen kommer att variera beroende på projektet, är varje motor kopplad till ett utgångsstift på Arduino®-kortet. Programmeringskod kan användas för att ändra hastighet och riktning för en ansluten motor, eller för att flytta fram en motor till en vald position. De tre vanligaste varianterna av Arduino®-motorer är likström (DC), stepper och servo.
En likströmsmotor är relativt enkel och kan användas för många ändamål. DC-motorer innehåller trådspolar som är placerade i en magnet. När elektricitet skickas genom spolarna får det resulterande elektromagnetiska fältet en axel att rotera. Många av likströmsmotorerna från Arduino® som används i dessa projekt inkluderar enkla växellådor, som ger hävstång för att svänga tunga hjul eller utföra andra mekaniska uppgifter.
Mycket små DC-motorer kan anslutas direkt till ett Arduino®-utgångsstift, men motorer som drar mer än 40 milliampere ström kräver ytterligare styrkretsar. Transistorer används ofta för detta ändamål.; detta gör att Arduino® kan använda en lågströmssignal, som aktiverar en halvledaromkopplare och skickar högströmsström till motorn. I vissa applikationer som robotik kombineras flera transistorer i ett arrangemang som kallas en ”H-brygga”. En H-brygga gör att den elektriska polariteten kan vändas och gör att DC Arduino®-motorer kan drivas framåt eller bakåt.
Arduino® stegmotorer liknar DC-motorer, men roterar inte kontinuerligt. Istället gör det interna arrangemanget av elektromagnetiska spolar en stegmotor framåt eller ”steg” framåt i små steg. Som ett exempel på denna rörelse drivs visarna på en batteridriven analog klocka ofta av en stegmotor. Arduino®-motorer med en ansluten stegmotor måste programmeras för att mata ut en serie pulser. Varje signal får motorn att ”trappa” en gång.
Servomotorer skiljer sig väsentligt från antingen DC- eller stegmotorer. Denna motor har integrerade växlar och kretsar för att kontrollera axelpositionen mycket exakt. Dessa typer av Arduino®-motorer är vanligtvis inte avsedda för fullständig cirkulär rotation, utan rör sig istället inom ett 90° eller 180° område. Servomotorer kräver både en konstant kraftkälla och en positionssignal, som bestämmer axelns exakta position. Servon, som dessa motorer ofta kallas, kan ofta röra sig från position till position med stor hastighet och precision.