From 47fb9c3814d8f5e4029d18a29a94f0d892496443 Mon Sep 17 00:00:00 2001 From: Lyco Date: Thu, 16 Oct 2025 10:26:01 +0200 Subject: [PATCH 1/2] add LED and button wiring circuit diagram --- docs/assets/wiring/Buttons_LEDs_Schematics.png | Bin 0 -> 24938 bytes docs/controller-build/wiring.mdx | 7 +++++++ .../menu-pages/02-gpio-pin-mapping.mdx | 4 ++++ .../menu-pages/05-led-configuration.mdx | 6 ++++++ 4 files changed, 17 insertions(+) create mode 100644 docs/assets/wiring/Buttons_LEDs_Schematics.png diff --git a/docs/assets/wiring/Buttons_LEDs_Schematics.png b/docs/assets/wiring/Buttons_LEDs_Schematics.png new file mode 100644 index 0000000000000000000000000000000000000000..9dc9ed4dcc6ad207fe0ecbe55e9705ad4127f856 GIT binary patch literal 24938 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 Date: Tue, 28 Oct 2025 17:23:16 +0100 Subject: [PATCH 2/2] split wiring schematics, improve wording --- .../assets/wiring/Buttons_LEDs_Schematics.png | Bin 24938 -> 0 bytes .../wiring/Chained_button_schematic.png | Bin 0 -> 7995 bytes docs/assets/wiring/LEDs_schematic.png | Bin 0 -> 13555 bytes .../wiring/Separate_buttons_schematic.png | Bin 0 -> 7540 bytes docs/controller-build/wiring.mdx | 18 ++++++++++++++---- 5 files changed, 14 insertions(+), 4 deletions(-) delete mode 100644 docs/assets/wiring/Buttons_LEDs_Schematics.png create mode 100644 docs/assets/wiring/Chained_button_schematic.png create mode 100644 docs/assets/wiring/LEDs_schematic.png create mode 100644 docs/assets/wiring/Separate_buttons_schematic.png diff --git a/docs/assets/wiring/Buttons_LEDs_Schematics.png b/docs/assets/wiring/Buttons_LEDs_Schematics.png deleted file mode 100644 index 9dc9ed4dcc6ad207fe0ecbe55e9705ad4127f856..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24938 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 VP{Wt|?LZ3zy=G}tedXqZe*;7C=t}?q literal 0 HcmV?d00001 diff --git a/docs/assets/wiring/LEDs_schematic.png b/docs/assets/wiring/LEDs_schematic.png new file mode 100644 index 0000000000000000000000000000000000000000..9e02b12746207fa547e5414ac6dfd4415c62af62 GIT binary patch literal 13555 zcmd6ucQ{;a+pk9tQ4$2vjV=)_dYK5KMUN<9ltk|}3_%c`5YfA6gBT%tkBHuTj~+dG zXWyRkz2AP1=iBc-j{VR6VB!IEMjtCXIit5)bUG^MI^e;A%5Enf+06-(WS7}ht*sWsR?|&$tzta zf_y7-vqb)KE5g0We6joIJ$u`NZ+_H?CecHoB|AQzK0!fphLPY0W^7z2RNeUh@0Z#B z;Dl@CQ^Yvw&>vdS4upyeHBZ@*^CWMG=-@R=v`lF6#8seEkf9!R}U)o@pP6UZmfFPxbg*ii4 zgB>7^;V+mSMAQno6XjB zY!ehrd7N*MhG+cae3m|H1yB_E&W~O)G>D%Ec2;T7d`55O>%a>mbq-XV{lUGLY_psg z5Z)R-q1{ldSBHm+W?Ops%*D@dvgSk%mh2j3w!KvGrRJ=6E~KT0q7@bF@hbbU@zf2A1WS9NSuU>pcYbv+k_EMbc^!(VTu1RNPYy;Q5ZT$30y+|d zP+rShiiUxuI*`VbG)~?}svBQe=c1TERaM55w3Q0q`%LR;d?v`;p z50Qa{J8f20#TqOf5btu);y|cRmlKv{gTIgPKu*Ztf2!?KGWOL*FEAN6P;zcXbxCq1 zbs7fG2T6W|Rvn}nAgX-92^^H|plE4rEWSGFk~NRt&xaJDR+UV~M4rDBel@p`xwfq9 z72Lk|_Cg8_WKzIW^j*o(-S=PtB4#=K@y3o6^sWvn6Em& z84G5MpkTVcHJX1QCg!E5uVb+mob2J<@0w@iW(WIVPUA={rPTh}DY>#PR?GOY$kFoG z1$a=`jMw5!GIpc9^_}(N!3~^Fb#^r|ZaM$9N@ui&ixsWzs<+OR2oozgIm=p&U?xWu z{BnHZ;EbFp5o>y)zCfTb(YI+;T^hQIJisa4oCEmJJ zb~QY!$XrKAVqo(3(ab`cic!Z;CM6Th%En1(leSoieMQM^9j=SSW3Kn&3zxhEk--@O zV06nZGLr(5%Y8piX0YhgSXD8oJg+g?RJvd9jK2^%x~LJv_QTavB{Mpi(qlbR120L= zXz)NankLt(Y{9ie_g(au^yFy7hP<{1<`aTPnZ4F|`Z-

!+;Co_?0Ro@+>IGMKK_ zT2&>D<%hDG*y!QUb!3|?1)ATP4$qwyv@doFb5n2JmYIy$md_$yj;?iqL%#}#B%Z)D z5d=JoOviUE^R1jXS*>7#E0292ZeO*~v)&gykou5$=#=he zHAuQeJ)&}_^vs`UJPHHH9t`g0z!T1tA1!9@+XC0WM@An{C~J>Gp}QS2PI9h2FussA zx_s@Lvi_1i_tEEeKYylrIgNgns>ZikBhaLbC@zwbUc3WKh|s$&CFnreQA{YSw*wW{b163)FG)*8wtmIoVSx5G32Bz;{mr6h{Otyhko)V0z}iuz9H zf7vt^Z4g`&|36Ot={7BSnpJi_Y|>K>N<~>-2vvz8O_bN*Rci_Qq&K-^m4coamRmt`+wZ3{#fFXbU&B^DItb>)$}oABrBb+%pZOgXsW%tunI=h5X(avo5U}K zJlybwIVXkKF4j9j|!(YT;i~ zDTAgj+DE_MWO_dDwE++P)|!f`=5J#wZcXMykxLZO>&=9)G!!zN0&&gHKEv?@-`RWdI9!w;@p#gt%T} z9c1&(Y-(FbJlU+b?7*xCIr{-~*?o9cCe_z_sEk>6o8>v~txaYXzU1T;eg0x%Bf(Q~-i56G9zaiS~#BGXG1d^?@HaS!76 z$b%)airZ;r$a&-jr73sH?9ZodfEhHLi&|v2or}t=Ay* zR9gS=JU1I<8*5o7XN~h_7XDmt+*QjnE;<7oU z3g<}0UsuXRDXN;-LUf_Xf&mkH}L$PhNI?eq5MEk zLxYcA5K3u!IQ-|&GKT|1{m+V2EicqU1)TI(8d*~P2yNF$!+XCXtl;*~PqY+sU!?Xp z>5h0BC%Dynb#)}dh2C|4mPb87%z;I+!!TWe86YcQAvrW~o7f?YOX_ViwDC8CXY(|Z zK4eW-YWk`bJh2p;Alb2_8a+EgQZ+Gj%ug8}ebdd}@hEw&V-i`+NcpPKI`R$C?AZMz zCk3tzX|evJ-0rE9lH}MHdx6l$UnnL>t`7L?RwcH<{7|3sa=%@&Q>ULbcd7V8r>?+E zi>kZ6tSKr7pDXBjbz~xSa^&ox6jINTKURqLt^+TED*{(_;II9935fDy29rlqYO4tv$BJ9>%_ulFim_Ie$O($z)vgK_wz1saJdpxVukg=!n1e=Y1cd6Zl!cXXW70lwL^@pvyM2C&^dFM7(mrv!vr?dG(kSAxOSQ`Y4XNTf3cNBL!woTI*TcCyV*@bd zSD#B)I>3>k!P?NTJ%QML2nLKZJacR#XU$0Hwu>f8_}IQW`zg2;P2O;kd6x!QwtJ>j zT)JDKT1PxmC)a3b&Xf8h_E~(kJWD2A4QWmt_L%5?6i2TmPM;^Fd?1SC+O?1N+U7g? zsJ*6;Zy!ZrovrO}#8;nI;>naTci~5wp z%%j|S*BA}KH15|NQl}E)LP0w%R^?|*0=7l-Yg#|hx1%Fb7LC-1Y&XYJ%l2+zwZ52C z%s%Z)#9Cd!0TGYIyfM2~JV|@zYmNM8iM#B$BLqH@>P#;L`@qsObXBw0OK!h1&~kb! zQF}?cZj?B$!fP8;6=7WP=Kj|!i3qZ#8WS*$M^yEjrE`@ToSMtl=bVeTyx;joa6hc) zkw;#CmnD(7&%6GFv5hE5H3gHj-D6a|aPsx{(Ne}wQD&*pb4stW2@g6$^I6bZ*4MOWq=( zWoawoDr=&{1SQm(gk+Cv3~w(clG;GuYa}m2{V9Hw&Fqw__=)7!!oLlp!ZJYh+=N2B z(7TmoE4rc6=Q>apY?aAvLyFgSwZQ&yJ2q-Or72@OIZj0lPkr>}I_7KB*EwEOw!SsB zJux<pG@|c7Z-sV z7q^^h;SkkHQUQgV=Z(Og6o=_H93<5}>Ro*B!eS(&EkZl2K$?QAFw$ zlV_w|hI3mpLDj*{N<)0)bnZhtPE^U1C-g4CZGi1VvgpG-Bdeu{!X$m6tk*|>aJ$Sn zGF=XL0GyJd^dSHcUf+kil550Klv;vny)mOM&+KA6`LDOAdEgTdImH;`3c>}cPP(?j za>427LoMG+`XZDUIXgCb43BGO{`joC>(2_CN*a_iyI`KWsU8J)3R$}9vJ})AUtTd-k znrduhJg)9fI1W_mBMj?i7Gs2~D9lit#yg+Nav*45XL8}T4|0D3ZVD;x{>*ApAwVLZ z{=96HQz&X3Xb8M@X6goBoI3TU@ib23UBy6j7_xH|4e|+_zCVyu;F{+JZDT0!l!JP{ z2~>dGm+vqDFhV$^1=cf8Bv?^h3|Ac=^-|EUHPpB7(IqeD^)TM32lG|IIijSMJB{bQ zlYVukv^(Fe-Xy8l+I4}@$3WD_oNLV%2C%x6#NPL_;;g^rh%uj9+4oQQ+5ezXl^awi z$s#8NC%4>RO>xZq7=3TVP^0o76OOd$ke!NJvq*3@qcp5Jn-p1QW*e~?zSw=4`0SCS zLuD{Jk8O;q8v;LI#{=*<+tMD_WYNs;ncuM7<}DG|)~Wnn&2#xZ2fPQ3@87vrhaZt; zT&+*y-1{))QSvfT6>$msNE+(mivjj}wiN7BzsbG2Opusd2u;@@W#s*k#Bz(Qo~7&rS;U zj61m-nrpJ8!In;Ver!=w+9Uod;1b;rRTr{kb~WONU3G1~{^smWwvh`$@-%U1%*2Zk zm)gSyZ|pktx3S7EU9GnKzkxEb9)Ix?Z(>#j%EycUX(GWWXtQvzsmTtN@xpgz_S|md z_a~wv#;f26MiuJD6Ej&1u3lzvD=dy{?=0kOi}Fx^(RUFMx`9pk@?6rz*iSd|taDu^ z*=@zinYIy|k2z3&`?%KmyxSFQVNGl-F5U_Q&}S75gBLb-$-v z7?_4EN1tX^bt8czge)(P0%-!l{fTUS2t;oDg`v(#D7{(u{)dx(cE6m#3+mZKYVa+X z5VeMm9Q7sOCk;`h;1jwMDJz45!VQ^=sQfT4KJ8Hz@iUk3UG6>H%Y8?z)(T!ZWtFgN z7!D&O9N`n{Q4&L)%S4twLA0O$`Y5>viebpcwrp*Y5NqCFN7X-7M|1krYj|0;lLNWd zn?RN}AJ3OPLh~)hxfsmc9ChfAN&UV!LgJKevnQaqe9l4(&WkieX6a(_>-~Vzaa9iz zi0+JEto*`o^QYsQdv^CQ^s|B?8+|V)BSglXf-r_LXvSX@JoHi-;V9^%?GnIynZ5vE zvkhW@_*>g41Lsh2x$B4g@C()3;+VN-!axbUj5D*pyuezt4k$S<_9n^^$`*1}zx22XhrsPfa5|gd`g75q3WplJ+Y^ zSQ33h_Pan+CsGj5%))4uV{k(|Z6}T2OPCj`=4c@%GZ5(~riPRrabIgphhzQB6!wEb zzg>o3M-t6rnJ0Y~wf0gR;Vfz0g&vtvE(psb4s**n>|7(_+!DjZU@M5*Wh2_^eUFii zEL*H@HjYWcIt;GmG%F?Q3XOo+wzTt2U(Y<5OIHRm@sJ1{+@@9JG(qm2JMh=OA#?1x zsX=UeA|IE&uZpW~gDF`3(WG$fCs=|E!hkHHt|{=wG(0*J6~ZB4^(dpncR`VLah_~N z3of;_YPCDp=3vg!%s@H5p7x7^hT59r=7+r*70WrcBpux!YH@YAsPlaZIh#wX=-rGy zmpwDrEtdvy2fXRID=j}yDnBsPKl@(j+F70?vp%lzEb+MVk zRb8KN!<~sWcM)STRBS41_Ux$ybF2t0Q%-7!5wMa=seT``Gn}cfD#lso;xv8|KY;gQ z{Fa!VYugeZ>PnwGp5d$>ciVV)a4tX4YkWQ-wrkc?R%n}eHSy{vuJtg#T7hFK)bxWK zIxhX63_YsFgM2E!sz-Z=X4ZjIAO~%Yrpp#_Lpiz&9!#WYz)oh9wn(sVWMX9}8&6kg zdqletp=Nh?;Api;@-MLEF80ntS}!bfET>VmPW=L9(FDp|Eegf%t+F$3I{YEYDHB}f z=spRn4^xWl@=3xH$LVhx5pD|Iep?W-3}N14eW&!SKcSB1F=|G%Z1h8v%e_b|#%7wE zWV`%J+w5LII~p1}V^2thn?CpWg$7XhyXkw(K9S@8+kiYlLnll>)j8+ z@WQ{U0>d7TKG}VwJkv%{F2IX#vq-t0jc)7djh*d%#UG~RbgqLLn%=DXRlH3~WsouM z<)Gg!Q2j#oR;QIwu_YqY@3kWeL|E_FA+|{g`LyHHIJ8dfv)N5#HHw9Hcu&(h7-C*+ z8?sU=3&xheXov`vSeQvUBtc&syIH(jy5e_!4;5E@u44A(aIbbn{!MPRmlh>*S9Dk_ zQF#BsIk<{Hhj8%1#4#ak4aL^V_N{VS%S=Hc8GjP3(dLRfzSr<1x*xquO5QSOSa&aa z?+aBi9lys@=$L&ib2*hSQS`b3cv$xhQYBAp?}ECX`n1RWgfyGpWxAy2MVt7|8u!rM zYFnfdDb0qw>V`Ebp0?Kk|F5g^u(z#&_KV~?ZYtjvzXZpK)t}f4#J9K>XF`Gd`5(Ni z<^i;@xE6biYMuV>@E*X~3v~nc_Py#BMfLe91V_UK5()TBxL81PtW7d0dd*oW+{x9LT9;+|nXQ)W$ks)a_lEo} zwdo7pJAiY+;sdUJ$t?p@Aewe9GCrV?aa43nOCuMbAr6a;Xuw7otN5Bz?Vdff(W{31 zHxc~e<2#w!STzivzfji;>^WM9n-#H@X8M>Si z$=-ho))X|ni>**I9t2#?h}2 zEC{L}K1_M&_x-~1Sn`{QgZN&j7=*smMVwWuVi}4F$_Y@1EE*(OiYPY$Lv6M@)!ejg z@Gab1Xxuq$sy`0gs2BX!Q+hF>P{wFps!hir$;V|!l8U)I;SB<;#VHhV555+Laa?y- zTl$V%H=IHJs_pn**i>l?aO?3V{}?-!slEN4|F&#Rw=>6bUwjqsTGyN!b~ji0&wC?HG~=t@gOa|f<%--E62wp2v- z{Hszvjw;4ey}{n=4X?lq0&P>F(-G&vFKpwLX395??34^;`U z6ksBh=KuPNfbcOdO*gjCb)S7C{}ZFPyDG@&A3HJFMX&2Wm>rlqcRI;XrAF1|Q^tD4XHAfX=ql{!J+*7j_{cSib$@ z0o1f;BE>UGI`SZhwZ@q&@-KyGPT+Ji!L$m$l1^k1n;qOS-i zHobo%>gh+RdQ2I2&X8JNjV}AGun(b$`==6{AFaZbyq0va68!giMJ%hynD$Gm##>Hb zp*L#9%12$bsOU?&z#c8QG(V-tsfI@$J?g*3BqSZ4gu^WynO8~hbTi%qS}rhUBi^?f z6H?$2?yFwLL#~-08-?o-qb=ynDHnvT4sOVuamGjJZfiUQ?+%DfVcNFilI%_joEw3I zz-ALT;p845W{;E9_!4w7iJThh-+p7Ys-MMiNmWDAm&JJYh0b_<=S0J*O zF`KB6U+op!he1c}c9Y#7HA49x723pd*!`qTUt@zgy5fyJ{q}CfO}B+l+rtgs;90U0 zA4>k|QU4A-Lu#fbfg^=8z}K3xu4mFNWbE zE$HEs@p_ysK_}+aVK(}_g|lb)FGH7al>y zf>P=Te7v$`M4#t`n!F-VHM8-gv}UV$0e(&C2X}`1REZyH@-!9B3zii}%Co2yJy-kO z&Pko> zT5($=@Y$_L8lH2S5G2XD-!FMFaoa?4kg>w!ij)Q^J>Y8l^Vf?(im};55_7=zpcjGJ zvA#tsw2@aNzY{GzFtz_*qBz1_c2O#7XeZU*rMKyTpXQSaVMnf^L-&+5@yMdBs1ydq zGHno%ouT@UGwdj%O00W5tFo*6>?kuyCH|Gd*4@VAdH%^a#8iS>4j|w&#VV;Z^;E7# zm=#ZCCK}>X8rTYfTz3uYrbGm0ZEN9KWQ3vMgk7I?7K)ZM%e~*&zdUfnTF{!Y6`guA z&3JSyO=)NIiUOo1?Dwaua#Cdg$brfACFu11QrwJ_nD~>QU)I`V-2BAXM{D`8bV7;< za4?I22b0eOEZm)kpS3tZx67|(w$R9-o7$^=y`@}Hr!I%gR(6UA0_4@GBMhWt&{VhE z4i&tvO6iK|f%mAjWjV5ns|cyS$4qe5W>KrzWW2DPzir51pmCWx&klyG$8+w*!FDfr z{<120gF&FK$CUNQy8PD0zy+aMX=+>vcK?dM z390=<^-de=q1M`#6nZj;!dF1O#`cFLjFOx zQ-HPP@cxv--9X(s{>j~H_rMSfFTfZ01ZoBT<%EYnR3)~m{Dsxb#Xu6P;|@jj;de-gE+U1u)02_%s&h?5EG0k2XXdXeomHhX5Q$N_ zkjVB;TFU&7V1)*M@_(|&za8sp;g}F=Vf*wd9}!<*sVyBEp0@y&erJ3esFua~J{{ES z%ZW_AsaMMgS_tnhN;tj*A>sCsbNI^k^)gDkSw~!ULiH( zq5L-QuK`Rxx!C+w@ghFgl6o>mZY0on>bGN2j2;*0W96CvAO@+5a6vEkIv|3n{u06F zuW(K`b2Sw$O4qGK@*yDI1vS~zC6&O&#p|ln{1%R)YkusSrYDUSY(!B}n{1VxpKCH8 zFf8ogSc1xrhU)siJ zY&u%V&vSpeoW-=U6>3cae)p6qRyzu&wu*mw;J=Z%(5Yb}f!-)3+8!E^_=HnR3Hx+y z345Xe+udyMp5zex-(B#((J~-pQkBuo*!t=ydJoL-(;{%036vC_}FZk70_{yeD<>HAWC8c z4N}!mjL*;f;lQ0x`PFM|Kg<)}$g_Lq-mu`VHtvoFov2XcpNR}?QDkpIxSeT%>}_n+ z(d#!#C>)G0_;JmO(@pe}so{5Ewx<#aU+8GlpQjKKrW8B$ZpdfR;hVkpr*pbO?a*gZ z=Felgn%U#t$2!Wrrd=%%SX_RR)&w$YoM^@XcO&Zgr=9Qr!MSDLR_Hb4MMcFG6Zb$( zZioy-9QohH`5*XL+PO`cOY8R!uI`5v`M4%1fL`T_HYsg&818Z9)54^LL@*ZU?&H5X zSs8#+91to%kGnYMSAST90uNh8ot_4|?Rd?GaP^znZAZxJF-28<2;f zAI0$b%biP|dEAIrv)Y(HoDgMrU45!zd34jfn|F1;(~8-PUHUq&QSbG3a|?&t;Pq|? z^)BjZyUg3RBk|#{J0o$>^ny458bfF}nY5gsV2c zKVuYShCF=zuGiqj_l@s+N-Gr$&e!W(hU$F~#+7b((@LOHwz@E8uz0R#F;zf#^lI5?CHI_PSfe;9{I8OxVxA2IV+kWn~ z&;jii)VXBmLO2q0?O=kLb}~lQtWWGZA$4|^0CF56tZeJz<_XT?H7tg<&qU5jWqvL7 z*l9z(@moxJK}fj9*y4{bUo;T3m*1jes*yTpv+`6Oe1|1>BfNNDcTgrwS$b*)w?1>( zL)?C6tmX~_HSe6Yz}Ff7={M#H4|~qL*=8QxUkEpVxBl1+S(#Do4L-`g@qJR};I&EC zK=@p&@*(y7qk~7XlNzml{^pTrKR4#SEPwMMwB>9EwScwRmY)fvaj}g7nPud-cnh>2 zK=DUN&4lT0yty%`BIzL%{!(k^`C&k28#{BQ9*bRV=qClFf7i=IUZGd6W|1CFh)Eor ziG*ts{6iZ*_89Z5*2pG%ew&~~?ya@#$9LmylS+jyq6B>IW>YhbK>Kkvp>cZ!4OA_*&n&fud*k9Orn&tj99$GbnmdI zZ&G*mr*%Q=xI(*Tex`ldI7}pkEmuFF4|cn<7NuoM#%y<=eNa{$ed$cO1lF-cy#e}; zQw;11*XpQ%ag}Yqq2&evb~-$LK%y(~?Tu}rmKR_^+o+M2_|cGjfdcPWwtj(B%1x5X zOL{PosDOl^%$K7pr@tHN1dQ6Sc&-Z!%7znwjh2<}=OdNQ8L1>Q7DDXS7ep)>vojsG zNRuUF$aJUYc>BXHWIayg<+%j4$PVv-3Vr~uSV@Y`e}mz%Jvn7vGrb^6Fz6BIOOjn= zcpc(6Bke27M4LANo`M*Ww%&{8EYeDU5C(wEtccd`QilB@d-GKUL{CQ^#&UV1Ok4)f zM_Djb3=4|nN&i;5o3FVGSSn;J=ZdLM6rHj)FF^~GNSz#ipW!O%F4Om_l)m7HU8MDk zsc8SB(#2CUk)D)n1!V?bu)c`?>@!vh{!&R>*07;(&!P63{ZrAmkD|Y^*02wFD9bY7_Aj3sj9~trqovfD#RG0SkdlgUBAWJ0l<;sX+`RCwlbYJn zRa0)R)o7P`QpB1%zQk9!y0oH5N<%ZpyoqX7y>`RFi0pfk=-g>Do0vKs zl>VRqUaHJ@@(od>H04DOxFt0iQ#>gP83??m#4eiX+Y%htfAx%zy~ywr#Twt%^iGA1 zd*GLKtg#)SY%^Q86&N+Wa!(cbWVXNMJ>%YUdwJQ}$sa6&yyrwLouUp>cysHmdYn2j zSRj~|Sivm-b4sqryDU1{Lj`AMS~V*8+;YM~vKH1KkxOl}8dUt_aRs*Sq^D9MJZ5Fl^4Mb;%WD<-SGR+uKftm};7 z?j=e~7PCrzfeP+|G{P5~#Z62k6HZYNsxcFqG)p=-Re{IJ~xoT|CIoUo}pt2*`D?0K*ScMj0eIz@Ic2fm&0YNX%y?4rV`% zaRbO!-9Ies5yt@&VkD&x<2}(_-<9Y1mw$=ag4hl@@s9$m30%DoDc#8nB7Ohl$h;Mf zY~uV1#rjwzHaM?;x4B)}i+|bN1!C>ByTURc<$>KiEAE$J_WmJF1qnzgRDooy%#*Ed zi>%U1mPCN3Q2s-vJhR0a9}@RLJ&>bVq$N4O4N}5?#)$t@Z1_Lse*d3#xbUv|DS1{i U1Cs}TfCQ13QI;-xZ0P&H0H08-F#rGn literal 0 HcmV?d00001 diff --git a/docs/assets/wiring/Separate_buttons_schematic.png b/docs/assets/wiring/Separate_buttons_schematic.png new file mode 100644 index 0000000000000000000000000000000000000000..c6e1a991ef96929cf642edcf87e4292d9f0965db GIT binary patch literal 7540 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 Qe?S3wnHSLFr$&MQ1{w1|4FCWD literal 0 HcmV?d00001 diff --git a/docs/controller-build/wiring.mdx b/docs/controller-build/wiring.mdx index fc66645..69b2db8 100644 --- a/docs/controller-build/wiring.mdx +++ b/docs/controller-build/wiring.mdx @@ -53,10 +53,20 @@ The Raspberry Pi Pico pinout can also be used on clone boards with the same form ![Adafruit KB2040 Pinout](../assets/wiring/SeeedXIAORP2040_Pinout.png) -# LEDs and buttons +# Buttons -GP2040-CE cofigures the input GPIO pins to be pulled up, expecting the button to short the pin to the ground when pressed. +GP2040-CE configures the input GPIO pins to be pulled up, expecting the button to short the pin to the ground when pressed. -The PWM player LED pins are configured similarly: the pin is shorted to the ground when active and pulled up otherwise. This means the LED anodes must be connected to the +3.3V output of the microcontroller and each cathode to its GPIO pin, in an arrangement called common anode. A current-limiting resistor must be inserted into the circuit to protect the GPIO pins; use a online calculator to compute its minimum value if unsure. The maximum safe current is cca 20mA. +You can either wire each button using two wires (one to the GPIO pin, the other to the ground): -![How to conect LEDs and buttons to the GPIO](../assets/wiring/Buttons_LEDs_Schematics.png) +![Buttons connected separately to GPIO and ground](../assets/wiring/Separate_buttons_schematic.png) + +Or you can chain the groud wire from button to button, e. g. by crimping two wires at once to a FASTON terminal or by soldering two wires to a button pin. The other contact of each button must be connected to a separate GPIO pin: + +![Buttons connected using chained ground wire](../assets/wiring/Chained_button_schematic.png) + +# PWM LEDs + +The PWM player LED pins are configured similarly: the pin is shorted to the ground when active and pulled up otherwise. This means the LED anodes must be connected to the +3.3V output of the microcontroller and each cathode to its GPIO pin, in an arrangement called common anode. A current-limiting resistor must be inserted into the circuit to protect the GPIO pins; use an online calculator to compute its value if unsure. The maximum safe current is cca 20mA. + +![How to conect LEDs and buttons to the GPIO](../assets/wiring/LEDs_schematic.png)