
ARDUINONANO
Code:A000005
TheArduinoNanoisacompactboardsimilartotheUNO.
TheArduinoNanoisasmall,complete,andbreadboard‐friendlyboardbasedon
theATmega328(ArduinoNano3.x).Ithasmoreorlessthesamefunctionalityof
theArduinoDuemilanove,butinadifferentpackage.ItlacksonlyaDCpowerjack,
andworkswithaMini‐BUSBcableinsteadofastandardone.
GettingStarted
YoucanfindintheGettingStartedsectionalltheinformationyouneedto
configureyourboard,usetheArduinoSoftware(IDE),andstarttinkerwithcoding
andelectronics.
https://www.arduino.cc/en/Guide/HomePage
https://www.arduino.cc/en/Main/Software

TECHSPECS
MicrocontrollerATmega328
ArchitectureAVR
OperatingVoltage5V
FlashMemory32KBofwhich2KBusedbybootloader
SRAM2KB
ClockSpeed16MHz
AnalogI/OPins8
EEPROM1KB
DCCurrentperI/OPins40mA(I/OPins)
InputVoltage7‐12V
DigitalI/OPins22
PWMOutput6
PowerConsumption19mA
PCBSize18x45mm
Weight7g
ProductCodeA000005
OSH:Schematics
TheArduinoNanoisopen‐sourcehardware!Youcanbuildyourownboardusing
thefollowingfiles:
EAGLEFILESIN.ZIP
https://content.arduino.cc/assets/arduino‐nano‐reference.zip
SCHEMATICSIN.PDF
https://www.arduino.cc/en/uploads/Main/Arduino_Nano‐Rev3.2‐SCH.pdf
Power
TheArduinoNanocanbepoweredviatheMini‐BUSBconnection,6‐20V
unregulatedexternalpowersupply(pin30),or5Vregulatedexternalpowersupply
(pin27).Thepowersourceisautomaticallyselectedtothehighestvoltagesource.

Memory
TheATmega328has32KB,(alsowith2KBusedforthebootloader.The
ATmega328has2KBofSRAMand1KBofEEPROM.
InputandOutput
Eachofthe14digitalpinsontheNanocanbeusedasaninputoroutput,using
pinMode(),digitalWrite(),anddigitalRead()functions.Theyoperateat5volts.
Eachpincanprovideorreceiveamaximumof40mAandhasaninternalpull‐up
resistor(disconnectedbydefault)of20‐50kOhms.Inaddition,somepinshave
specializedfunctions:
Serial:0(RX)and1(TX).Usedtoreceive(RX)andtransmit(TX)TTLserialdata.These
pinsareconnectedtothecorrespondingpinsoftheFTDIUSB‐to‐TTLSerialchip.
ExternalInterrupts:2and3.Thesepinscanbeconfiguredtotriggeraninterruptonalow
value,arisingorfallingedge,orachangeinvalue.SeetheattachInterrupt()functionfor
details.
PWM:3,5,6,9,10,and11.Provide8‐bitPWMoutputwiththeanalogWrite()function.
SPI:10(SS),11(MOSI),12(MISO),13(SCK).ThesepinssupportSPIcommunication,
which,althoughprovidedbytheunderlyinghardware,isnotcurrentlyincludedinthe
Arduinolanguage.
LED:13.Thereisabuilt‐inLEDconnectedtodigitalpin13.WhenthepinisHIGHvalue,
theLEDison,whenthepinisLOW,it'soff.
TheNanohas8analoginputs,eachofwhichprovide10bitsofresolution(i.e.
1024differentvalues).Bydefaulttheymeasurefromgroundto5volts,thoughisit
possibletochangetheupperendoftheirrangeusingtheanalogReference()
function.Analogpins6and7cannotbeusedasdigitalpins.Additionally,some
pinshavespecializedfunctionality:
I2C:4(SDA)and5(SCL).SupportI2C(TWI)communicationusingtheWirelibrary
(documentationontheWiringwebsite).
Thereareacoupleofotherpinsontheboard:
AREF.Referencevoltagefortheanaloginputs.UsedwithanalogReference().
Reset.BringthislineLOWtoresetthemicrocontroller.Typicallyusedtoaddareset
buttontoshieldswhichblocktheoneontheboard.

Communication
TheArduinoNanohasanumberoffacilitiesforcommunicatingwithacomputer,
anotherArduino,orothermicrocontrollers.TheATmega328provideUARTTTL(5V)
serialcommunication,whichisavailableondigitalpins0(RX)and1(TX).AnFTDI
FT232RLontheboardchannelsthisserialcommunicationoverUSBandtheFTDI
drivers(includedwiththeArduinosoftware)provideavirtualcomporttosoftware
onthecomputer.TheArduinosoftwareincludesaserialmonitorwhichallows
simpletextualdatatobesenttoandfromtheArduinoboard.TheRXandTXLEDs
ontheboardwillflashwhendataisbeingtransmittedviatheFTDIchipandUSB
connectiontothecomputer(butnotforserialcommunicationonpins0and1).A
SoftwareSeriallibraryallowsforserialcommunicationonanyoftheNano'sdigital
pins.TheATmega328alsosupportI2C(TWI)andSPIcommunication.TheArduino
softwareincludesaWirelibrarytosimplifyuseoftheI2Cbus.TousetheSPI
communication,pleaseseeATmega328datasheet.
Programming
TheArduinoNanocanbeprogrammedwiththeArduinosoftware(download).
Select"ArduinoDuemilanoveorNanow/ATmega328"fromtheTools>Board
menu(accordingtothemicrocontrolleronyourboard).TheATmega328onthe
ArduinoNanocomespreburnedwithabootloaderthatallowsyoutouploadnew
codetoitwithouttheuseofanexternalhardwareprogrammer.Itcommunicates
usingtheoriginalSTK500protocol.Youcanalsobypassthebootloaderand
programthemicrocontrollerthroughtheICSP(In‐CircuitSerialProgramming)
headerusingArduinoISPorsimilar.
Automatic(Software)Reset
Ratherthenrequiringaphysicalpressoftheresetbuttonbeforeanupload,the
ArduinoNanoisdesignedinawaythatallowsittoberesetbysoftwarerunningon
aconnectedcomputer.Oneofthehardwareflowcontrollines(DTR)ofthe
FT232RLisconnectedtotheresetlineoftheATmega328viaa100nanofarad
capacitor.Whenthislineisasserted(takenlow),theresetlinedropslongenough
toresetthechip.TheArduinosoftwareusesthiscapabilitytoallowyoutoupload
codebysimplypressingtheuploadbuttonintheArduinoenvironment.Thismeans
thatthebootloadercanhaveashortertimeout,astheloweringofDTRcanbe
well‐coordinatedwiththestartoftheupload.Thissetuphasotherimplications.
WhentheNanoisconnectedtoeitheracomputerrunningMacOSXorLinux,it
resetseachtimeaconnectionismadetoitfromsoftware(viaUSB).Forthe
followinghalf‐secondorso,thebootloaderisrunningontheNano.Whileitis
programmedtoignoremalformeddata(i.e.anythingbesidesanuploadofnew
code),itwillinterceptthefirstfewbytesofdatasenttotheboardaftera

connectionisopened.Ifasketchrunningontheboardreceivesone‐time
configurationorotherdatawhenitfirststarts,makesurethatthesoftwarewith
whichitcommunicateswaitsasecondafteropeningtheconnectionandbefore
sendingthisdata.
https://store.arduino.cc/usa/arduino‐usb‐2‐serial‐micro12‐7‐17
Products related to this Datasheet
ARDUINO NANO ATMEGA328 EVAL BRD