You are on page 1of 12

todbotblog

Search

about

WiiChuckWiiNunchuckAdapter
Feb
Randomexperiments,circuits,code,rapid
18
2008
Available prototypingexamples,sometimesthingsto
buy,andoccasionallytunesbyTodE.Kurt.
arduino,blinkm,general,hardw arehacking,ideas, Addcomments Reachmeattod[at]todbot.com
programming,thingm,ubicomp

WanttohookupaWiiNunchucktoanArduinobutdontwanttocutupthecordon Pages
yourNunchuck?Yeahmetoo.SoImadesomeofthese:
BionicArduinoIntroductionto
MicrocontrollerswithArduino
SpookyProjectsIntroductionto
MicrocontrollerswithArduino

blink(1)USBRGBLED!

blink(1)isasuperstatuslight.Itfitsinto
anyUSBportonalmosteverytypeof
computer:Mac,Linux,Windows,Raspberry
Pi,Beaglebone,WRTrouter,etc.Nodrivers
neededandAPIsinabouteverylanguage
youcouldwant.Andit'sallopensource.

Buyonenow!
YayBlinkMs!

BlinkMisasmartLED.ImagineanLED
withatinycomputerinside,onethatcanbe
anycolorandhavealifeofitsown.Youcan
ItsasmallPCBthatadaptstheWiiNunchuckconnectortostandard4pinheader.I buythemnowfromoneofourglobal
distributors.
callitthewiichuckadapter.ItplugsdirectlyintotheArduino,nowiringnecessary.
Youcangetonetoofor$4.

CrashSpace
Availablefromthefollowingwonderfulshops:
FunGizmos.com.FREEDOMESTICSHIPPING.Internationalshippingfor$1more. CrashSpaceisaLosAngelesbased
LittleBirdElectronics(Australia) hackerspace.Comevisit!Becomea
member!LearnArduinoorhowtosolder!
SparkFun.Shipsdomestic&internationally.Besuretoorderheaderpinstoo!
andjustaboutanySparkFundistributor

OneofthecoolestthingsabouttheWii(tome)isthattheexpansionportonthe
bottomoftheWiiremoteisanI2Cserialconnection.Thismeansthatanythingthat
plugsintothatportcanworkwithmicrocontrollersliketheArduinoorBasicStampor
others.Oftheavailableperipherals,theWiiNunchuckisoneofthebest.Itcontains
a3axisaccelerometer,a2axisjoystick,andtwobuttons.HookingupaWii
NunchucktoArduinoiseasyandIhaveclassnotesdescribinghowtodoit.But
cuttingofftheconnectoroftheNunchucktogetatthewiresisalittledrastic. ThingM

ThiswiichuckadapterletsyouplaywiththeWiiNunchuckandotherWiiremote
peripheralswithoutneedingyoutocutcables.JustplugitintotheWiiNunchuck,
thenintotheArduino,intoAnalogInpins2,3,4,5.Pins4&5aretheI2C
communicationpinsandPins2&3canactasthepowersupplyfortheNunchuck.


Adevicestudiothatlivesatthe
intersectionsofubiquitouscomputing,
internetofthings,ambientintelligence,
industrialdesign,andmaterialsscience.

CashMachine

ThisiswhatitlookslikepluggedintotheNunchuckbyitself.

ArtInstallationformuseumdonations.
CurrentlyatNewChildren'sMuseum.

IncollaborationwithCarlynMawand
MachineProject

CrystalMonster!

SeeitatBeverlyTang'ssite

NunchuckandOtherI2CDevices(likeBlinkM)
Orreadsometechnicaldetailsonmysite.
YoucanuseotherI2CdevicesatthesametimeastheNunchuck.TheI2Cbus
allowsformultipledevices.Forinstance,ifyouhaveaBlinkMandalsowanttousea
Nunchuck,noproblem.ThepinoutoftheBlinkMandthewiichuckadpaterarethe HackyourRoomba
same.Justsolderalittle4pinsocketheadertothetopofthewiichuckadapter.
GettheBook

AndthenyoucanpluginaBlinkMrightontop.


Visittheofficialwebsite:
HackingRoomba.com

categories

arduino
blink1
blinkm
crashspace
general
hardwarehacking
ideas
lasercut
macosx
misc
music
musicprog

Software programming
ramblings
TomakeitalittleeasiertoplaywiththeNunchuck,ImadealittleNunchucklibraryfor
roomba
Arduinoanddemo:
sketching
nunchuck_funcs.h
thingm
WiichuckDemo.ino
toys
(Orbetteryet,checkoutthegithubrepositoryforitallzippedup.Justunzipand
ubicomp
openthe.inoinArduino)
unixgeek
video
ItisbasedofftheoriginalresearchdonebyChadPhilipsofWindmeadowLabs.The RecentComments
libraryusestheWiringI2ClibrarycalledWire.ThislibraryisbuiltintoArduino,as
PaulRomskyonArduino,theBasic
longasyouhavethelatestArduinodevelopmentenvironment(0010currently).To
Stampkiller
seeanotherArduinosketchusingthislibrary,youcancheckouttheBlinkMChuck
todbotonSoftI2CMaster:AddI2Ctoany
examplethatspartoftheBlinkMexamples. Arduinopins
AlbertoonSoftI2CMaster:AddI2Cto
Thelibraryfunctionsare: anyArduinopins
nunchuck_setpowerpins()powerupanunchuckpluggeddirectlyintoan jorgevleonFromIllustratortoEagle:
Arduinoonanalogpins2,3,4,5. Vectorgraphicsincircuits

nunchuck_init()initanunchuckconnectedtoanArduino AddingNeoPixels/WS2812LEDsto

nunchuck_get_data()getadatapacketfromtheNunchuck blink(1)todbotblogonblink(16)
prototypeiswoodyandawesome

Thenyoucangetatthedatapacketusingvarioushelperfunctionslike:
nunchuck_accelx()getXaxisacceleration
nunchuck_zbutton()getZbuttonstate
andsoon,seetheheaderfileforacompletelist

NunchuckInformation
Wiimote/ExtensionControllers/NunchukinfopageabouttheNunchuckonWiiLi
(LinuxforWii)site
WiimoteAccessoryBusdocsabouttheNunchucksconnector.

GettingOne/HowtoOrder
Availablefromthefollowingwonderfulshops:
FunGizmos.com.Internationalshippingfor$1more.
Tinker.it(UK)
LittleBirdElectronics(Australia)

Update20Feb2008:Over200wiichuckadapterssoldtomorethan50peoplein5
countries.Istillhavesomeavailableifanyonewantsone.Tothosewhoorderedup
tonow,youllbegettingtheminthepostinafewdays.
Update29Feb2008:Over300wiichuckadapterssoldandIstillhavemanymore
left.Getyoursifyouwantone.:)Anyonethatsorderedbeforetodayshouldreceive
theiradaptersviafirstclasspostsoon.Illbeunabletomailoutanyordersforthe
firstweekofMarch.
Update24Mar2008:Istillhaveseveralleft.IfyoureinAU,youcanalsogetthe
adapterkitfromLittleBirdElectronics.
Update11Apr2008:Updatedthenunchuck_funcs.hlibrarytoeasilyworkwitha
nunchuckpluggeddirectlyintoanArduinobyaddinga
nunchuck_init_with_power()function(seecommentsbelow).Also,Istillhave
severaladapterkitsforsale.
Update6May2008:AllOut!ButIllbedoinganotherboardruninafewdaysandwill
updateherewhenIhavemoreavailable.
Update8Jun2008:FunGizmos.comisnowcarryingWiichuckadapters!Theyalso
havelotsofothercoolthings,likeBlinkMs.:)
Update7Jan2009:BothFunGizmos.com(US)andTinker.It(UK)carrytheWiichuck
adapter.
Update31Mar2009:Fixedsmallbugthatmadeitnotcompileundermorerecent
Arduino,andfixedlinks.Also:ifyourehavingproblemsgettingthistowork,inthe
Arduinosoftware,gototheBoardsmenu,switchtoadifferentArduinoboardtype,
compile,thenswitchbacktoyourtype.ThisforcesarecompileoftheArduino
I2C/TWIlibrarythatsometimesdoesntgetcompiledcorrectly.
Update18Feb2010:UpdatedAPIdescriptiontonotethat
nunchuck_init_with_power()wasremovedinfavorofnunchuck_setpowerpins()
nunchuck_init().
Update6Dec2011:UpdatedtoworkwithArduino1.0(stillworkswithArudino0023
too).Changeddownloadlinkstogithubrepository.

Postedbytodbotat7:41pm

299ResponsestoWiiChuckWiiNunchuckAdapterAvailable

1. WiiNunchuckControlledServoMotors|GeekMomProjectssays:
18April,2013at4:23pm

[]accelerometerdata,wehookeduptheWiiChuckAdaptertotheNunchuckfollowing
theinstructionshere.Itcouldntbemucheasier.OneendoftheWiiChuckadapterfits
nicelyintothe[]
2. StyreservomedWiiNunchuck|Dequete says:
25April,2013at7:54am

[]billigeWiinunchucksbilligpebay.ogblevsndtilatkbedem,jeghavdenemlig
setptodbotatmankunnesluttedendirektetilsinarduinobarevedetlilleprint,en
skaldtWiiChuck[]

3. Gerhardsays:
27April,2013at10:57pm

ManyexpertssuggestthattheIRCameraintheWiiremote
bephysicallybrokenoutinapplicationswhereoneneeds
togetaccesstotheIRcoordinatesonitsPixartcamera.

CanthisWiiadapterbeused/modifiedtoreadtheIRcoordinates
fromtheI2Contheexternal/hardwareinterfaceontheWiiremote
withoutdestroyingtheremote?

Regards
Gerhard

4. todbotsays:
29April,2013at11:41am

ThewiichuckadapterisfortheWiinunchuck,notfortheWiiremote.TheWiiremoteis
neverusedhere.

5. larssays:
29May,2013at12:36am

hi!IhavealreadyknownforawhilewiththeWiiChucklibraryandtheArduinoUNO.Fora
largerprojectIneedanArduinoDUE.Willthelibraryeventuallysupportthisplatform?

6. GabrielBianconi:ArduinoNunchuksays:
19June,2013at3:17pm
[]useaWiiNunchuk.However,Arduino1.0hadjustcomeoutandmostexisting
librarieswereeitheroutdatedortoocomplex(thoughsomehavebeenupdatedbynow).
Knowingitwouldbeagreatlearning[]

7. todbotsays:
19June,2013at6:20pm

Hilars
ThelibraryshouldsupporttheDue,sincethelibraryisusingthestandardArduinoWire
library.ButtheI2CSCL&SDApinsareinadifferentlocationthanonaregularArduino.

8. amaituinosays:
9July,2013at4:32pm

Iboughtthisanditworksgreat,buttothoseusingnonOEMnunchucksIkeepgetting
valueslike25525510231023102300thatisx,yanalogandx,y,zaxisandcandz
respectively

anycluetowhatseemstobetheproblemithasaJPN(japan)labelonittheKOR
(korea)worksfine..

9. Larssays:
2September,2013at6:53am

Higuys,

[
Hilars
ThelibraryshouldsupporttheDue,sincethelibraryisusingthestandardArduinoWire
library.ButtheI2CSCL&SDApinsareinadifferentlocationthanonaregularArduino.]

Yes,Ithinkthatitshouldworktoo.Butthereisnotjusttheproblemthattheadapterdoes
notmatchtheDUE.Aftercompilingivegotthiserrors.hiserrors.

InfileincludedfromArduChuck.ino:2:
...arduino1.5.2\libraries\WiiChuck/nunchuck_funcs.h:Infunction'voidnunchuck_setpowerpins()':
...arduino1.5.2\libraries\WiiChuck/nunchuck_funcs.h:30:error:'DDRC'wasnotdeclaredinthisscope
...arduino1.5.2\libraries\WiiChuck/nunchuck_funcs.h:30:error:'PORTC3'wasnotdeclaredinthisscope
...arduino1.5.2\libraries\WiiChuck/nunchuck_funcs.h:30:error:'_BV'wasnotdeclaredinthisscope
...arduino1.5.2\libraries\WiiChuck/nunchuck_funcs.h:30:error:'PORTC2'wasnotdeclaredinthisscope
...arduino1.5.2\libraries\WiiChuck/nunchuck_funcs.h:31:error:'PORTC'wasnotdeclaredinthisscope

Idontunderstandwhatineedtodo.
canyouhelpme?

10. todbotsays:
2September,2013at11:22am

HiLars,
ThoseerrorsaretosupporttheregularArduinoandusingtheAnalogpins2&3fora
ersatzpower&ground.Anditdoesittheoldway.

Asatemporaryworkaround,commentoutlines30&31ofnunchuck_funcs.handmake
sureyouhookthenunchuckspowerpinsuptoproperpower&ground.

11. Quadcopter(SummaryofWorkSoFar)|savescummingsays:
5October,2013at4:37pm

[]controllerusedthesamephysicalconnectorastheWiiNunchuk,sowewerehoping
tousetheWiichukbreakoutadapterhere.Unfortunately,whenweconsultedthisguide
forcommunicatingwiththeGamecubecontroller,it[]

12. WiiChuckMouse|Mario'sBlog!says:
16February,2014at9:07am

[]Forthis,adafriutlinkstoagreatwriteuponreadingdatafromtheWiinunchuckusing
theICprotocol,whichcanbefoundHERE.Thiswasagreatstartingpointtobeginfrom,
Ilaterfoundadifferentarticlethatbrokeupsomeofthefunctionsbetter(HERE).[]

13. HowToBuildAQuadcopter|THEWORLDFROMMYPOINTOFVIEW says:


1March,2014at8:13am

[]Ihaveattachedthelibraryweneed,andexplainthethefunctionsweuse,andhowto
usethesefunctions.ThisisamodifiedversionoftheoriginalsourcecodefromHere[]
14. USBKanone:Version1.0|Pascal'sKnigreichsays:
25May,2014at9:00am

[]ArduinoMegaundUSBHostShieldWiiChuckAdapterundNunchuckUSB
ZirkuskanonevonDream[]

15. shane says:


19June,2014at12:22am

hiiamusingtheadapterfromlittlebird
wheniloadthesketchandgotoserialassoonasthechumandwirelessconnector
synctheserialjustfreezes?
anyideasorsolutionsihavetriedfewadaptersnowandallthesame!

anyhelpwouldbegreat

16. WiemanfischertechnikModellemiteinemWiiNunchuksteuert.|der
fischertechnikblogsays:
10November,2014at3:37pm

[]demNunchuk(alsNachbausogarkabellosfrca.10kuflichzuerwerben)
bentigtmaneinekleineAdapterplatine(damitmandenproprietrenSteckernicht
abschneidenmuss),erhltlichz.B.beiWatterott[]

17. DesktopFrisbeeLauncher|MakingStudiosays:
23December,2015at8:18pm

[]TheoriginalisfromtodbotthroughSparkFun.ThatswhatIbought.Hehaslinks
here:http://todbot.com/blog/2008/02/18/wiichuckwiinu&#8230Butinfutureiterations,
IllprobablyusethesturdierclipinmodelfromSolarbotics.Youcan[]

18. ReverseEngineeringaQuadcopterRC,or:Howtonotmisstheneedle
whilethrowingthehaystackintheair(Part4)|MichaelMelchiorsays:
20June,2016at7:06am

[]onwhatIfoundontheArduinoPlaygroundandtodbotsgithubrepository.(Backin
2008Todcreatedtheseneatadaptersforthenunchuck,notsureifheisstillselling
them.Thepinsofthejumperwiresdidworkfor[]
19. MarcoOballa says:
5August,2016at11:05am

HelloTodImtryingtogetaNykoKamaWirelessnunchucktoworkwithyour
wiichuckdemo.

Ihaveanarduinounoprotoboardworkingfinewithyourcodeandastandardnintendo
wirednunchuck.Allworksgoodwiththeoriginalnunchuckfromnintendobutnotwith
myNykoKamaWirelessnunchuck.

IhaveverifiedthatmyNykoKamaWirelessnunchuckworksbypluggingthereceiver
dongleintothewiiremoteandthelightonthereceiverinstantlygoessolidindicatingthat
ithassynced/pairedwiththewirelessnunchuck.ButwhenIplugthereceiverdongleinto
myarduinorunningwiichuckdemo,nothinghappensthelightonthereceiverdoesnot
lightupandIandnotreadinganythingfromthenunchuck.

IwouldexpectthatthedonglesLEDwouldlightupandsyncwiththenunchuckassoon
asitispoweredupordoyouthinkthatitmustsuccessfullybeintializedontheI2Cbus
beforethereceiverlightsuptheLEDandstartsthesyncprocess?Ifso,couldtherebe
anissuewiththeinitializationprocedure?ShouldItryadifferentdeviceIDotherthan
0x52ontheBeginTransmission?ShouldItrywritingadifferentsequenceotherthanthe
0x40,0x00and0x00,0x00thatyourcodeuses?(Itried0xF0,0x55and0xFB,0x00as
suggestedbyotherpostsbutstillnothing)

Iknowithasbeenmanyyearssinceyouworkedonthisprojecthopefullyyoumaystill
haveafewhintstopointmeintheproperdirection!

Marco

OlderComments

LeaveaReply

YourComment
YoumayusetheseHTMLtagsandattributes:<ahref=""title=""><abbrtitle="">
<acronymtitle=""><b><blockquotecite=""><cite><code><deldatetime="">
<em><i><qcite=""><s><strike><strong>

Name (required)

Email (required)

URI

SubmitComment

BlinkMforObamaonBoingBoing FunGizmoscolorfultinybreadboards

2013todbotblog SuffusionthemebySayontanSinha

You might also like