try {if (window === window.top) {const url = new URL(window.location); url.searchParams.delete('embedded'); window.location.href = url;}} catch(e) {}_docs_flag_initialData={"ilcm":{"eui":"ADFN-cshAeHQxJ5AhyCfb_R364vo5UMFU-uZzYyUbuwVqe8NZEOF8EjjYy98Su32fIPuQkmfa30R","je":1,"sstu":1679594871688006,"si":"CMiWxr3S8v0CFUDIzgAdS_IAsw","gsc":0,"ei":[5700019,5700114,5700884,5701034,5702785,5703182,5703307,5703758,5703839,5704572,5704621,5704883,5704905,5705793,5705891,5706270,5706523,5707047,5707075,5707204,5707361,5707711,5707819,5707947,5708365,5708574,5708886,5709085,5709476,5709673,5710587,5710692,5711389,5711550,5712189,5712635,5712909,5712913,5713064,5713195,5713554,5714310,5715270,5715349,5715791,5716196,5717567,5719462,5719482,5722044,5723473,5724215,5724896,5725855,5726695,5727257,5727701,5728749,5729092,5730225,5730285,5731835,5732341,5733768,5734632,5734840,5735134,5735252,5735670,5735806,5736124,5736884,5737153,5737254,5737800,5740186,5740341,5740814,5741714,5742055,5742156,5742482,5742652,5743144,5743787,5743830,5744008,5744288,5744308,5744348,5745658,5745678,5746138,5746648,5746724,5747126,5747216,5747941,5748169,5748991,5750110,5750253,5751157,5752369,5752461,5752674,5752714,5753681,5753942,5754025,5754289,5754367,5754387,5754407,5755409,5756274,5756675,5757322,5757342,5757621,5757641,5757663,5758027,5758674,5759207,5759278,5759562,5760167,5760287,5760368,5760450,5760470,5760925,5761271,5762401,5762729,5763597,5763617,5763698,5763830,5764326,5764466,5764604,5764804,5766372,5767665,5769152,5769479,5770385,5772294,5773287,5773914,5773994,5774054,5776032,5776647,5777215,5777555,5777649,5779000,5780512,5780650,5780982,5781109,5781335,5781990,5782405,5782964,5784554,5785313,5785960,5786638,5787957,13702623,48966242,49322998,49369465,49372308,49375202,49375881,49378769,49381142,49398669,49423941,49451719,49453025,49454176,49472111,49474047,49487438,49491745,49499309,49499576,49501784,49512333,49622711,49623241,49624040,49643556,49644063,49649094,49654173,49658622,49661348,49700944,49703971,49756766,49769425,49796897,49816065,49822849,49823072,49824183,49833570,49839659,49842883,49882932,49923427,49924634,49943107,49973359,49979327,50022354,50127510,50167019,50168235,50174526,50179450,50263352,50266110,50273476,50291120,50313282,50319352,50322343,50345203,50347782,50349228,50356815,50389218,50533064],"crc":0,"cvi":[]},"docs-cclt":56}; _docs_flag_cek=''; if (window['DOCS_timing']) {DOCS_timing['ifdld']=new Date().getTime();}
Art/Craft: - Michaels
- Dollar Stores
- HobbyTown/Carr's Hobby: Local
- Amazon
Electronics: - Sparkfun: Fun to navigate/learn about unique products, little expensive usually.
- Adafruit: Similar to sparkfun with unique offerings.
- Tayda: Cheaper yet still easy to navigate
- DigiKey: Bulk, but must know EXACTLY what you want.
- All Electronics
- www.nextdayautomation.com: Maple Grove
- Ebay - Direct from china for bulk - >1mo but cheap
Acrylic Sheet: - Menards: Clear
- Home Depot: Clear
- Central Sales: Scraps - Basement Back Corner
- Inventables: Great selection, Lowest price for small sheets
Carbon Fiber: - RC Foam: Cheap Meter-length carbon tubes 3-5 days to door
RC: - HobbyKing: Great Prices
- HobbyTown: Local
- Carr Hobbies: Local
Lumber: - Menards/Home Depot: Construction Lumber, nice pine.
- Galleria: local, Unique hardwoods
Metal Stock: - Menards/Home Depot: Small pieces, $
- Russel Steel: Local, way cheaper
(function(){/*
Copyright The Closure Library Authors.
SPDX-License-Identifier: Apache-2.0
*/
function k(){return function(){}}var aa="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},ba="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a};
function ca(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b>10&1023|55296),c+=String.fromCharCode(e&1023|56320))}return c}});
l("Array.prototype.find",function(a){return a?a:function(b,c){a:{var d=this;d instanceof String&&(d=String(d));for(var e=d.length,f=0;f>0).toString(16);return a+x(b)};function z(){}p(z,w);z.prototype.h=function(a){this.g=a;pa(a,this)};function qa(a){a.g instanceof Error&&(Error.captureStackTrace?Error.captureStackTrace(a.g):a.g.stack=Error().stack)}z.prototype.toString=function(){var a=y(oa(this.constructor)),b=this.l;return null==b?a:x(a)+": "+x(b)};function ra(a){if(null!=a){var b=a.A;if(b)return b}a instanceof TypeError?(b=new sa,b.l=x(a),qa(b),b.i=a,b.h(new TypeError(b)),a=b):(b=new A,b.l=x(a),qa(b),b.i=a,b.h(Error(b)),a=b);return a};function B(){}p(B,z);function C(){}p(C,B);function A(){}p(A,C);A.prototype.h=function(a){C.prototype.h.call(this,"__noinit__"===this.i?a:this.i)};function sa(){}p(sa,A);var na=0;function pa(a,b){if(a instanceof Object)try{a.A=b,Object.defineProperties(a,{cause:{get:function(){return b.s&&b.s.g}}})}catch(c){}};function x(a){return null==a?"null":a.toString()}function ta(a,b){var c=a.length,d,e=(d=b,b=b+1|0,d);d="string"===typeof a?a.charCodeAt(e):a.g(e);var f;if(c=55296=d&&b |