tag:blogger.com,1999:blog-60456041749141184252024-03-13T10:07:52.824-07:00T.D. SmithThoughts and projects from Tyler "T.D." Smith, a Minnesota-based writer and software engineer. Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.comBlogger103125tag:blogger.com,1999:blog-6045604174914118425.post-67504601462879113252024-01-14T09:22:00.000-08:002024-01-14T09:22:46.747-08:00Thermostat Monitor System<h3 style="text-align: left;"> Summary</h3><p>I was having trouble keeping track of which of my house's three heating zones was activating the boiler and pump at any given time. So I built a device to monitor which zone was calling for heat. </p><p><span id="docs-internal-guid-1b0bb12a-7fff-69c0-1354-717387a045f4"><span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"><span style="border: none; display: inline-block; height: 468px; overflow: hidden; width: 624px;"><img height="480" src="https://lh7-us.googleusercontent.com/Cdz0T7uVsZR-UCM8xs4C8JZ-ECFXxlHrkrrlqD1nonxP24KGztCzi2chowyRMQmZvUeg4R3h3cveRuMm4d6oyPePihXZr1e4WbsuwjwUx1tZPqnz3tZyZSR-Ut4MBl_y1UOfw-hdu_mzBev_MykeIR0=w640-h480" style="margin-left: 0px; margin-top: 0px;" width="640" /></span></span></span></p><p style="text-align: center;">Zone activation sensor system, with indicator lights</p><p>I used <a href="https://prometheus.io/">Prometheus</a> to keep track of zone activation over time. </p><p></p><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjMraZUxCBggQju-K2jiQnBmDPevrA3cViCTnS75vCtQn2mAP6Adzrgw0pIEfVl8isH1wJE0xZWcc1knWs6xDV9rZ7Fo1Gk1GSwjbTbY5yZZpBLQWEGpyEGc_mOn7xLoyaG6bMvx12w_f_1fd3ws3z1GsIYBUuvGBOR2d13NcuoqiSA4kn0oGMY5ZaqJdhQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1186" data-original-width="2974" height="160" src="https://blogger.googleusercontent.com/img/a/AVvXsEjMraZUxCBggQju-K2jiQnBmDPevrA3cViCTnS75vCtQn2mAP6Adzrgw0pIEfVl8isH1wJE0xZWcc1knWs6xDV9rZ7Fo1Gk1GSwjbTbY5yZZpBLQWEGpyEGc_mOn7xLoyaG6bMvx12w_f_1fd3ws3z1GsIYBUuvGBOR2d13NcuoqiSA4kn0oGMY5ZaqJdhQ=w400-h160" width="400" /></a></div></div><p></p><p style="text-align: center;"><i>Two days of zone activation lots via Prometheus. The temperature dropped over the last 8 hours, so you can see the upper floor is constantly active.</i></p><div><h3 style="text-align: left;">Build Process</h3><div>My house has a hot-water heating system with three zones, each controlled by a <a href="https://www.amazon.com/Honeywell-V8043F1036-Sweat-Terminals-Switch/dp/B001CLDMRO?source=ps-sl-shoppingads-lpcontext&ref_=fplfs&psc=1&smid=A2KYHGMXUXU1Z4">valve like this one</a>. </div></div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEioR9OgZolfrtT7uem0RBsAaNx6VYZLNeL-5Rm-peX45luTnEWcRz8u5BC1jJOU2P3u_S0WvNAY-zZZ1JNJlu4hNUFV9bPL7FXJsRfRZBQiTi6HRlHlMj3tlgudnzjIr-EMi84GbQGzWXRFpxCkyWxUXtndRYACkGm-xwW__udkBIvzy2dL35s94Ob84i7Z" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1046" data-original-width="1152" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEioR9OgZolfrtT7uem0RBsAaNx6VYZLNeL-5Rm-peX45luTnEWcRz8u5BC1jJOU2P3u_S0WvNAY-zZZ1JNJlu4hNUFV9bPL7FXJsRfRZBQiTi6HRlHlMj3tlgudnzjIr-EMi84GbQGzWXRFpxCkyWxUXtndRYACkGm-xwW__udkBIvzy2dL35s94Ob84i7Z" width="264" /></a></div></div><div><br /></div><div><div style="text-align: center;"><i>Zone controller, photo via Amazon.com</i></div><div><br /></div><div>There are three zones, each managed with one of these zone valves. Each zone valve is controlled by a thermostat.</div></div><div><br /></div><div style="text-align: center;"><span id="docs-internal-guid-33795eea-7fff-8a99-a557-bfa53a6564f1"><span face="Arial, sans-serif" style="font-size: 11pt; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variant-position: normal; vertical-align: baseline; white-space-collapse: preserve;"><span style="border: none; display: inline-block; height: 371px; overflow: hidden; width: 518px;"><img height="371" src="https://lh7-us.googleusercontent.com/FLmsY2QMgvV-Yz9e2RAuPFSr_fBXQl-Y84lYmGaDX_U4KBmBfuV9rCd9MUiWCWwYz-gDZflQSGFq6GosO-LsuxuLUYRqNlAASDjeq0uTnPHcKx6SdR58pqHDGIdNuZpB9vJ0omTLDbKMgtUL-nVmti4" style="margin-left: 0px; margin-top: 0px;" width="518" /></span></span></span></div><div><div style="text-align: center;"><i>Boiler and control valves </i></div><div><br /></div><div>These control values take a 24 Volt Alternating Current (VAC) input. When a thermostat calls for heat, it does so by sending 24 VAC to its control valve. The control valve opens the physical valve and sends 24 VAC to the boiler.</div></div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiO10dlUVUnSqy4hqPia_67XoruCfikiZpPBm4zmFnBu0tAO11mHHNN3lSa5LttKX2UHO84AaBOro-if8Orgd8Df-L55NDcmZnG0ptl49SqEAWmA5DZkMYWrambHMs6OnHrh4YbEqfcd_TDgPHb8BOZEkAKOe4BgJjaQafL8xryrnoGlvPBQt_sqnF8Wpte" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="831" data-original-width="1242" height="214" src="https://blogger.googleusercontent.com/img/a/AVvXsEiO10dlUVUnSqy4hqPia_67XoruCfikiZpPBm4zmFnBu0tAO11mHHNN3lSa5LttKX2UHO84AaBOro-if8Orgd8Df-L55NDcmZnG0ptl49SqEAWmA5DZkMYWrambHMs6OnHrh4YbEqfcd_TDgPHb8BOZEkAKOe4BgJjaQafL8xryrnoGlvPBQt_sqnF8Wpte" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>Diagram of power flow through the boiler system. The thermostat is effectively a switch that, when activated, closes the connection between the 24VAC transformer and the zone control valve.</i></div><br /><div style="text-align: left;">The boiler system uses a transformer to convert the standard 120 VAC wall power to the 24 VAC used for the heating system. </div><div style="text-align: left;"><br /></div><div style="text-align: left;">Each thermostat has its own settings for when to call for heat. The basic function of a thermostat is to track a set point (e.g., 68 degrees) and a current temperature (e..g, 70 degrees). If the current temperature is below the set point (in the case of a heating thermostat, e.g., 65 degrees) the thermostat will close the circuit from the transformer to the control valve. The control valve will open the pipe for hot water to the associated region of the house and will also close a circuit to provide 24 VAC to the boiler. This, in turn, causes the boiler to heat up and the water pump to turn on. </div><div style="text-align: left;"><br /></div><div style="text-align: left;"><span style="font-size: x-small;">Side note: newer thermostats like a Google Nest Thermostat require a "C-Wire." The C-Wire or "Common-Wire" is a neutral wire that allows the thermostat to use the 24 VAC supplied by the transformer. Without a C-Wire, the thermostat is just like a switch. </span></div><h3 style="text-align: left;">Approach</h3><div style="text-align: left;">I wanted to monitor which thermostat was calling for heat at what time and for how long. I also did not want to modify the heating system (I definitely don't want to break out boiler in the dead of winter!) To do this, I took advantage of a handy property of alternating current: <b>you can indirectly measure it</b>. Alternating current creates a magnetic field, which you can measure without directly touching the wires carrying that current. </div><div style="text-align: left;"><br /></div><div style="text-align: left;">I purchased some of these clamp sensors (you can find <a href="https://www.ebay.com/itm/201415007484">them on eBay</a>), which can measure alternating current on a wire when clamped around it. </div><div style="text-align: left;"><br /></div><div style="text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjq4v4h5DcqiOS3lV3VnPkbf2gGpaJzAkyOnAA-sMzOc_5iJIFqMYkUURLfDz5mIcrogCfxSrknndM-jqhv4KAUqvCYRBKt8ej-M3yN0I032Wh13K1F_-oUdEuBZNdeaGpMXJbvCiZlCCSy8CiawQdZw47k69UH7Zza0Sm3aOGluY3BDKtrG8T25g0PwlCk" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="756" data-original-width="1216" height="199" src="https://blogger.googleusercontent.com/img/a/AVvXsEjq4v4h5DcqiOS3lV3VnPkbf2gGpaJzAkyOnAA-sMzOc_5iJIFqMYkUURLfDz5mIcrogCfxSrknndM-jqhv4KAUqvCYRBKt8ej-M3yN0I032Wh13K1F_-oUdEuBZNdeaGpMXJbvCiZlCCSy8CiawQdZw47k69UH7Zza0Sm3aOGluY3BDKtrG8T25g0PwlCk" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>Clamp current sensor photo via eBay</i></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">I connected these to an <a href="https://www.adafruit.com/product/4775#tutorials">Adafruit Metro ESP-32 S2</a>, and used its analog ports to measure the voltage reported by each clamp sensor. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhquE9jl5UlZBn0NCEcCCRISJwA9idm9yI0zJx217Q3OpEF_q7u92Qs3Y3gnN7gEVgsrZpcUZkx5WB2ZO5S1RurBhJR8TvSL1vhepUTvhrarZdEecbf7iQp53-WmEkUHfaQjJUszOHsotOWqCKrJHGFYwHN6KGyJa6g7M9QRrq_RfbvYNhBiwb-XDpLsuVh" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1022" data-original-width="1448" height="226" src="https://blogger.googleusercontent.com/img/a/AVvXsEhquE9jl5UlZBn0NCEcCCRISJwA9idm9yI0zJx217Q3OpEF_q7u92Qs3Y3gnN7gEVgsrZpcUZkx5WB2ZO5S1RurBhJR8TvSL1vhepUTvhrarZdEecbf7iQp53-WmEkUHfaQjJUszOHsotOWqCKrJHGFYwHN6KGyJa6g7M9QRrq_RfbvYNhBiwb-XDpLsuVh" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>Adafruit Metro ESP32-S2 via Adafruit</i></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div>I found a <a href="https://github.com/ssube/prometheus_express">prometheus exporter for CircuitPython on github</a>. I had to make one modification to make it work with my board (<a href="https://github.com/smithdtyler/prometheus_express">my fork on GitHub</a>).<br /><br />I wrote a <a href="https://github.com/smithdtyler/thermostat_monitor">CircuitPython program to read the analog signals from the clamp sensors</a>, then make that reading available to my prometheus server via a simple HTTP endpoint. Setting up CircuitPython took a bit of work, let me know in a comment if you would like a blog post about that process. <br /><br /></div><div style="text-align: left;">The endpoint looks like this when viewed with a web browser:</div><div style="text-align: left;"><br /></div><div style="text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgDmmX5u8RUQALArMfzd122PJzXNJ1mDajY6CM7po4nWGU-OuX4L4a6zf-QHCb4yeSzS4kjg7gbLKy1847NXdW8gxxCk5YyB-k4wWymO5YNAsxvUoT5hyH9h0UTk0xVOHHaIfQkG0FBe_IY28MqyGJSmKZWhvQJrGTxqYz9oJZfpv8TCwLLrtpNLVl4X6kb" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="636" data-original-width="1568" height="163" src="https://blogger.googleusercontent.com/img/a/AVvXsEgDmmX5u8RUQALArMfzd122PJzXNJ1mDajY6CM7po4nWGU-OuX4L4a6zf-QHCb4yeSzS4kjg7gbLKy1847NXdW8gxxCk5YyB-k4wWymO5YNAsxvUoT5hyH9h0UTk0xVOHHaIfQkG0FBe_IY28MqyGJSmKZWhvQJrGTxqYz9oJZfpv8TCwLLrtpNLVl4X6kb=w400-h163" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>Statistics reported by the thermostat monitor system</i></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">I configured my Prometheus server to scrape the thermostat statistics every 15 seconds. To generate a graph of when thermostats are active, I can use a query like:</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><b>environment_thermostat_upper_heat{job="thermostat"}</b></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhTcBR27y5jup2zRHDGmI3iHZgXAS2ABbuhHwanMAF6aUKmNLMOBdDzxIC9YU3JSN5cDy4Z9k7N1DDJKw3rwTsIy_3FKApb7_xtBNBaxl0mRKYbca8W5ej1X_ZzoHiHwuCpGntftGl9Ol2QgeWgq24SuX3SLI9TyA5u_DGY_W2qcpM3dbxPeugnZiPGIfka" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1328" data-original-width="3024" height="176" src="https://blogger.googleusercontent.com/img/a/AVvXsEhTcBR27y5jup2zRHDGmI3iHZgXAS2ABbuhHwanMAF6aUKmNLMOBdDzxIC9YU3JSN5cDy4Z9k7N1DDJKw3rwTsIy_3FKApb7_xtBNBaxl0mRKYbca8W5ej1X_ZzoHiHwuCpGntftGl9Ol2QgeWgq24SuX3SLI9TyA5u_DGY_W2qcpM3dbxPeugnZiPGIfka=w400-h176" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>A query and associated results viewed in the Prometheus graph viewer</i></div><div class="separator" style="clear: both; text-align: left;"><br /></div>In this case we can see that the upper floor heat was active almost continuously over the past ten hours. This is not surprising, since an arctic vortex just arrived. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><h3 style="text-align: left;">Conclusion</h3><div>CircuitPython is really handy for making Internet of Things (IoT) devices that work with an aggregator like Prometheus. </div><br /></div><br /><br /></div><div style="text-align: left;"><br /></div></div></div>Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-50609570282590339782023-11-19T10:22:00.000-08:002023-11-19T10:22:10.036-08:00Analog to Digital Adapter for Alesis Turbo Mesh Kick Drum<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhURoXVyI79ORpof9ndYoTFa7E25WEkFq70wBkmtDGsbo9gxb-2s_iJsOvB8pQtefE6ifuhL_Wyn-f044TtVfkZ28ztj9IPqHTCybvhOukaBF2W3DIIzGKiIUnOG1iXSPEDZ4gfDhum6UdpZGtmHsYaOh42QO4OKMb91_zaIaLHY3OZwMjIwLpR0xB5aO0b" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="2851" data-original-width="3777" height="302" src="https://blogger.googleusercontent.com/img/a/AVvXsEhURoXVyI79ORpof9ndYoTFa7E25WEkFq70wBkmtDGsbo9gxb-2s_iJsOvB8pQtefE6ifuhL_Wyn-f044TtVfkZ28ztj9IPqHTCybvhOukaBF2W3DIIzGKiIUnOG1iXSPEDZ4gfDhum6UdpZGtmHsYaOh42QO4OKMb91_zaIaLHY3OZwMjIwLpR0xB5aO0b=w400-h302" width="400" /></a></div><br /><p></p><p>Earlier this year we bought an <a href="https://www.alesis.com/products/view2/turbo-mesh-kit" target="_blank">Alesis Turbo Mesh electric drum kit</a>. The kit works well, but my drum teacher advised me to switch from the spring/trigger kick pedal to a proper kick drum pedal. I ordered a kick pedal and sensor from eBay, but was bummed to discover that the<b> Turbo Mesh kit only works with a "switch" style kick pedal</b>. </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjoMTF5fmESska7WpsvxF0XCheefHW9j8Z30qiXCp_1202MAJpQfBqwQHXPtjWNpaoDvWADX1CM2hGzWCbe-EgGq9NWzj571TyU_WI61tB2Ssi7ZftbTOcc9_BI7Sphy0c0Io6LaZsP0g-W7wFFJ7NiJnRHbgGllv1olmmERVKZRQFlB4NSYsLiIOqrsxUa" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1767" data-original-width="2343" height="302" src="https://blogger.googleusercontent.com/img/a/AVvXsEjoMTF5fmESska7WpsvxF0XCheefHW9j8Z30qiXCp_1202MAJpQfBqwQHXPtjWNpaoDvWADX1CM2hGzWCbe-EgGq9NWzj571TyU_WI61tB2Ssi7ZftbTOcc9_BI7Sphy0c0Io6LaZsP0g-W7wFFJ7NiJnRHbgGllv1olmmERVKZRQFlB4NSYsLiIOqrsxUa=w400-h302" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;">Fig 1: The Goal (Images via Alesis.com)</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">The Alesis Turbo Mesh kick pedal connects using a standard 1/4" mono jack. When the pedal is depressed, the two conductors in the mono jack are connected and the control module recognizes it as a "kick." You can easily demonstrate this by touching both parts of the kick drum 1/4" connector with a wire. </div><p>The higher quality kick sensors are analog, meaning instead of a binary on/off (like a switch) they change the voltage on a signal wire, which is interpreted by a microcontroller. This is how electric drum kits get different volume levels for different intensity strikes. In this case, I needed to convert the analog signal from the kick pedal to a binary on/off <i>before</i> the signal reached the Alesis drum controller. </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhQ0pEiUhOxrnIQxipaOCzKMDF1vKjetk2w58oLuUb-bshcSfNBgDyd49ZR9PiR8aqaSP4jA_sUV21vIZeS6NBJ-nu_jacHe2qzYv0DbsGgsFxldiZjWALT_eCZfi4u0EEG8VPhzWplQcxhmIMHEsF3OQo4Ztw6CjlcBMG7-5EB1B97ZgwECqzazZsu0CZ8" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="343" data-original-width="910" height="151" src="https://blogger.googleusercontent.com/img/a/AVvXsEhQ0pEiUhOxrnIQxipaOCzKMDF1vKjetk2w58oLuUb-bshcSfNBgDyd49ZR9PiR8aqaSP4jA_sUV21vIZeS6NBJ-nu_jacHe2qzYv0DbsGgsFxldiZjWALT_eCZfi4u0EEG8VPhzWplQcxhmIMHEsF3OQo4Ztw6CjlcBMG7-5EB1B97ZgwECqzazZsu0CZ8=w400-h151" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;">Fig 2: Connections (Images via Alesis.com and Sparkfun.com)</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">I bought an <a href="https://www.sparkfun.com/products/13975" target="_blank">Arduino Redboard from Sparkfun</a> for about $20. The Redboard has analog and digital I/O pins, making it an easy choice for this project. I also had some relays left over from the <a href="https://www.smithdtyler.com/2023/07/build-log-keycode-access-control-for.html" target="_blank">Fort Lock project</a>. I bought a couple of 1/4" jacks. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><h3 style="clear: both; text-align: left;">Part List</h3><p></p><ul style="text-align: left;"><li><a href="https://www.sparkfun.com/products/13975" target="_blank">Arduino Redboard</a></li><li><a href="https://www.amazon.com/HiLetgo-IRF520-MOSFET-Arduino-Raspberry/dp/B01I1J14MO/ref=sr_1_5?crid=5W0VE2QS6M0Y&keywords=3.3v+relay+arduino+MOSFET&qid=1700417467&s=industrial&sprefix=3.3v+relay+arduino+mosfet%2Cindustrial%2C104&sr=1-5" target="_blank">Relay</a></li><li><a href="https://www.amazon.com/dp/B08MT66VPX?psc=1&ref=ppx_yo2ov_dt_b_product_details" target="_blank">1/4" Jacks</a></li></ul><h3 style="text-align: left;">Digital Resources</h3><div><ul style="text-align: left;"><li><a href="https://github.com/smithdtyler/drum-converter/blob/main/DrumControl/DrumControl.ino" target="_blank">Code (github)</a></li><li><a href="https://github.com/smithdtyler/drum-converter/tree/main/SolidModel" target="_blank">3D Model (github)</a></li></ul></div><p></p><h3 style="text-align: left;">Process</h3><h4 style="text-align: left;">Redboard Setup</h4><div><div>The <a href="https://learn.sparkfun.com/tutorials/artemis-development-with-arduino" target="_blank">Arduino IDE</a> didn’t work out of the box with the Redboard, which requires an additional support package. </div><div><br /></div><div>I had to add this line to the Arduino IDE preferences to add additional boards to support. </div><div><br /></div></div><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><div><div style="text-align: left;">https://raw.githubusercontent.com/sparkfun/Arduino_Apollo3/main/package_sparkfun_apollo3_index.json</div></div></blockquote><div><br /></div><div>After updating the preferences, I was able to select the Redboard and connect!</div><h4 style="text-align: left;">Reading Analog Values</h4>I connected the kick drum sensor to an analog pin on the Redboard and used the example serial reader code to read the voltage levels from the kick sensor.<div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh45r5VKIjDOzqgeuLAcHHKRU9MaXscxYxCrbsDFWcSAKFW3Owd-fCbJepZa9XE16GdkPWNFM3YKBXA3rSOyUYdUAnvnUKX11p44EofBu_B-8hYzHwahZWY-ChamL3Zkx7rVmTrBfoWZZskWYXy3yGh6DFNTc7-yfCCtju8ejfg8X93dk9B_Vy0z-6ExYxo" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1046" data-original-width="1864" height="225" src="https://blogger.googleusercontent.com/img/a/AVvXsEh45r5VKIjDOzqgeuLAcHHKRU9MaXscxYxCrbsDFWcSAKFW3Owd-fCbJepZa9XE16GdkPWNFM3YKBXA3rSOyUYdUAnvnUKX11p44EofBu_B-8hYzHwahZWY-ChamL3Zkx7rVmTrBfoWZZskWYXy3yGh6DFNTc7-yfCCtju8ejfg8X93dk9B_Vy0z-6ExYxo=w400-h225" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;">Fig 3: Serial reader sample code from Sparkfun</div><br />Using the built-in LED I was able to reliably detect "kicks" using the analog sensor and looking for sudden increases in voltage. The Arduino software does not provide time guarantees, but the main loop ran fast enough that any latencies were not noticeable. </div><div><br /></div><div><h4 style="text-align: left;">Writing Digital Values</h4><div>To trigger the "kick" I needed to "connect" the two conductors from the Alesis control unit's kick cable. There were a couple of options available to accomplish this. Using a multimeter, I found that the Voltage difference between the two kick sensor conductors was 3 Volts. </div><div><br /></div><div>To make the signal consistent, I had to create a common ground connection between the drum control unit and my Redboard. I connected a solid wire from the Redboard to part of the breakout connector on the bottom of the drum control unit. </div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiMLNn_UgxlpCZAow7bmCj6yfRkXO6OrRhD4l33ICA-Q9G_UgrnPqatFTzT5I0xCXQa72GYj4jLAVdKYnGkIelJNqKGztjvzvGhph8PdhXIevgGFPWZCix-cVwMy4Xfd15rAwfIi0zLY1fm1KzdHvNdzYTkw-O31xYaIpL9xG5oWIdiy082-w9PCytvpyql" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="2150" data-original-width="2680" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEiMLNn_UgxlpCZAow7bmCj6yfRkXO6OrRhD4l33ICA-Q9G_UgrnPqatFTzT5I0xCXQa72GYj4jLAVdKYnGkIelJNqKGztjvzvGhph8PdhXIevgGFPWZCix-cVwMy4Xfd15rAwfIi0zLY1fm1KzdHvNdzYTkw-O31xYaIpL9xG5oWIdiy082-w9PCytvpyql" width="299" /></a></div><div class="separator" style="clear: both; text-align: center;">Fig 4: Connection point to establish common ground</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div>I tried sending 3V directly using the Redboard's digital output pins, but the latency was too high (it sounded like about 300-500 milliseconds). My suspicion is that the Redboard could not supply the voltage quickly enough the internal resistance in the drum control unit. </div><div><br /></div><div>To overcome this issue, I used a relay that acted like a switch to close the connection between the two signal lines in the kick drum cable. I can't find the exact product I used (it was from eBay) but it was <a href="https://www.amazon.com/HiLetgo-IRF520-MOSFET-Arduino-Raspberry/dp/B01I1J14MO/ref=sr_1_5?crid=5W0VE2QS6M0Y&keywords=3.3v+relay+arduino+MOSFET&qid=1700417467&s=industrial&sprefix=3.3v+relay+arduino+mosfet%2Cindustrial%2C104&sr=1-5" target="_blank">similar to this</a> (Amazon). I understand from talking with friends that an OpAmp could have achieved the same thing, but I have not learned how to use those yet. </div><div><br /></div><div>I designed a simple case in FreeCAD and printed it. </div><div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhKqhZ3StX3wIguzb5wxg4O2Iw8DUOcEkJFzL_G7lu6l4ICnSP69C-oXycZbKxEdpJq2JMeZg43jYOqlfGINecGQtMc-fT5AXCbQ4rscaNgjHdElNCflnaPQ9U9qJEohtWgH_7MwYvkLu0Wr4ueal6t4WXvHUTM1veNyxr3gD1cXP0GN17PIdX4zCFuK2u4" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="758" data-original-width="1282" height="236" src="https://blogger.googleusercontent.com/img/a/AVvXsEhKqhZ3StX3wIguzb5wxg4O2Iw8DUOcEkJFzL_G7lu6l4ICnSP69C-oXycZbKxEdpJq2JMeZg43jYOqlfGINecGQtMc-fT5AXCbQ4rscaNgjHdElNCflnaPQ9U9qJEohtWgH_7MwYvkLu0Wr4ueal6t4WXvHUTM1veNyxr3gD1cXP0GN17PIdX4zCFuK2u4=w400-h236" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;">Fig 5: 3D Model of Enclosure</div><div class="separator" style="clear: both; text-align: center;"><br /></div></div></div><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px;"><div class="separator" style="clear: both; text-align: left;"><br /></div></blockquote><div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgvt3g-DkizA885Fd15fu5eXUCGQmDpgIKTLcBdeK19tWg3S3jUtvonnqO09iLgW9AqlMQp0SwrxxntrHQ5hhidyYA2CmnL74occ-ss0XEsROK8WemfdGv7Yz3NpvYeZgZ-QnIxo5KAdBSUE2-yF8LlNQdtFJA9OI31yNJaXk-YIYsYuYpg8dyI4Dc_QzcQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="858" data-original-width="1680" height="204" src="https://blogger.googleusercontent.com/img/a/AVvXsEgvt3g-DkizA885Fd15fu5eXUCGQmDpgIKTLcBdeK19tWg3S3jUtvonnqO09iLgW9AqlMQp0SwrxxntrHQ5hhidyYA2CmnL74occ-ss0XEsROK8WemfdGv7Yz3NpvYeZgZ-QnIxo5KAdBSUE2-yF8LlNQdtFJA9OI31yNJaXk-YIYsYuYpg8dyI4Dc_QzcQ=w400-h204" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;">Fig 6: Wiring Diagram</div><br /></div><div><span face="Arial, sans-serif"><span style="font-size: 14.6667px; white-space-collapse: preserve;"><br /></span></span><p></p><br /><div style="text-align: center;"><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" frameborder="0" height="795" src="https://www.youtube.com/embed/1huHq_cwOdk" title="Kick Drum Adapter" width="447"></iframe></div>
<p></p></div></div>Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-69275678677170014232023-07-08T05:58:00.005-07:002023-07-08T08:14:38.075-07:00Build Log: Keycode Access Control for the Fort<p> My sons requested a keycode-based access control system for their backyard fort. I'm pretty happy with what we created. In this blog post I'll talk through the details of what we built and why. </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgfIOdizkzSwvNC_AI0xxwRwJ8R1wKFnd6oFF8o5TI_mwXhkYq3NbOoD6VhirkpIKnrSGM2a-A3neEo-tm-tPPB5ZzgaTNrEhWz_ojCGA1IY6-b6zy3BFhWEHCyWvYEGDD6cgeF3hPWiG-mMZt3NmzHZPzWIPh_UbNsElRc0Kw_e0xgM3AkSYwVM848eiiT" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="445" data-original-width="503" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEgfIOdizkzSwvNC_AI0xxwRwJ8R1wKFnd6oFF8o5TI_mwXhkYq3NbOoD6VhirkpIKnrSGM2a-A3neEo-tm-tPPB5ZzgaTNrEhWz_ojCGA1IY6-b6zy3BFhWEHCyWvYEGDD6cgeF3hPWiG-mMZt3NmzHZPzWIPh_UbNsElRc0Kw_e0xgM3AkSYwVM848eiiT" width="271" /></a></div><div class="separator" style="clear: both; text-align: center;">The keypad and custom mounting bracket</div><p></p><h3 style="text-align: left;">Parts List</h3><h4 style="text-align: left;">Microcontroller</h4><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgwmaAiMlAHApBtIjS46UiG_23SZb7waFws37oseSLpi2qKlhGO_LsxovogTRFkqMq3yE4OInyfFCxIHCLrbSuTzuII8P4vhiXLbbmtn4UZiTw9dvTzKplJPLMEAlLCwfK0aEVqIj4hVd4sZWM_eoIk3I720LW1jKUtapvhn5EZMUwcd7o4_ZKJMKSyiQnO" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="508" data-original-width="689" height="236" src="https://blogger.googleusercontent.com/img/a/AVvXsEgwmaAiMlAHApBtIjS46UiG_23SZb7waFws37oseSLpi2qKlhGO_LsxovogTRFkqMq3yE4OInyfFCxIHCLrbSuTzuII8P4vhiXLbbmtn4UZiTw9dvTzKplJPLMEAlLCwfK0aEVqIj4hVd4sZWM_eoIk3I720LW1jKUtapvhn5EZMUwcd7o4_ZKJMKSyiQnO" width="320" /></a></div></div><div><ul style="text-align: left;"><li><span data-sheets-userformat="{"2":6915,"3":{"1":0},"4":{"1":2,"2":16777215},"11":4,"12":0,"14":{"1":2,"2":2236962},"15":"Arial, Helvetica, sans-serif"}" data-sheets-value="{"1":2,"2":"Adafruit Metro ESP32-S2"}" style="color: #222222; font-family: Arial; font-size: 10pt;"><a href="https://www.adafruit.com/product/4775#tutorials" target="_blank">Adafruit Metro ESP32-S2</a></span></li><li><span data-sheets-userformat="{"2":6915,"3":{"1":0},"4":{"1":2,"2":16777215},"11":4,"12":0,"14":{"1":2,"2":2236962},"15":"Arial, Helvetica, sans-serif"}" data-sheets-value="{"1":2,"2":"Adafruit Metro ESP32-S2"}" style="color: #222222; font-family: Arial; font-size: 10pt;">The Adafruit Metro ESP32-S2 is a fairly inexpensive ($20) controller that includes wifi and Adafruit's Qwiic I2C connector system. </span></li></ul><h4 style="text-align: left;"><span style="color: #222222; font-family: Arial;"><span style="font-size: 13.3333px;">Keypad</span></span></h4><div><span style="color: #222222; font-family: Arial;"><span style="font-size: 13.3333px;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiqlj3C7iJ6R-ys2PHDyvLkma2rVMkNVXyLo1DNSl2veMEtQhAMuE72WWzOgqcjGaUi6jzTuTi7nZuLu2rs_zfia4TRzFpRMycvOijIJHScjLWOTGnDnD22pD2Jc_b2TdPG--r8rc2uCb5HBD_Xcnyd0n78UgT7J-M5X8VyCEcobA1l1IlJiEJy4NeJ6efx" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="389" data-original-width="305" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEiqlj3C7iJ6R-ys2PHDyvLkma2rVMkNVXyLo1DNSl2veMEtQhAMuE72WWzOgqcjGaUi6jzTuTi7nZuLu2rs_zfia4TRzFpRMycvOijIJHScjLWOTGnDnD22pD2Jc_b2TdPG--r8rc2uCb5HBD_Xcnyd0n78UgT7J-M5X8VyCEcobA1l1IlJiEJy4NeJ6efx" width="188" /></a></div></span></span></div><div><ul style="text-align: left;"><li><span style="color: #222222; font-family: Arial;"><span style="font-size: 13.3333px;"><a href="https://www.sparkfun.com/products/15290" target="_blank">Sparkfun Qwiic 12 Button Keypad</a></span></span></li><li><span style="color: #222222; font-family: Arial;"><span style="font-size: 13.3333px;">This keypad has an included Qwiic bus adapter, which makes wiring much (much) easier. </span></span></li></ul></div><h3 style="text-align: left;"><span style="color: #222222; font-family: Arial;"><span style="font-size: 13.3333px;">Electronic Lock</span></span></h3></div><div><span style="color: #222222; font-family: Arial;"><span style="font-size: 13.3333px;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgcowYyao15TT8ffHok8pSjBxtTlLFEyYnS2KOpkM6H82imiL_cIptrlZNHdE5iI9_-ZeFonXSWYy7OZvus9JP95RQGCbu4EXtiJVzlVqGynYUirnqgsMWT2_wZPuZ-JKaS2HWRodZNu5UDc_RKJdv_3uBW7vafPS9loefExNc0aihb-CJ4RtjRemKDH_82" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="250" data-original-width="469" height="171" src="https://blogger.googleusercontent.com/img/a/AVvXsEgcowYyao15TT8ffHok8pSjBxtTlLFEyYnS2KOpkM6H82imiL_cIptrlZNHdE5iI9_-ZeFonXSWYy7OZvus9JP95RQGCbu4EXtiJVzlVqGynYUirnqgsMWT2_wZPuZ-JKaS2HWRodZNu5UDc_RKJdv_3uBW7vafPS9loefExNc0aihb-CJ4RtjRemKDH_82" width="320" /></a></div><br /><br /></span></span></div><div><ul style="text-align: left;"><li><a href="https://www.amazon.com/COUNS-Electric-Magnetic-Electromagnetic-Holding/dp/B07B9RRWSH" target="_blank">COUNS CU-S280C Single Door 12V 600lbs Electromagnetic Lock</a></li><li>I got this lock on eBay for about $25. It works well with a 9 or 12 volt dc power supply. </li></ul><h4 style="text-align: left;">Relay</h4></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiEzIF-7N1b_GSO_szk8kL00RQXnorBx3Jjcd3pHAI0c7-flj0yNTJyfcanZS7UO5iLuN2k2HJ9al47vY7o758vWOVTuxmJHW3I_ExP4WNnVIamDp3q1igwCttoNOLBXavsJF2rgWGC27u7fOmiIRYjNfbFblw6-JzIz2dzXWZqYAMh7Zu5B7brECNf6Fx_" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="241" data-original-width="390" height="198" src="https://blogger.googleusercontent.com/img/a/AVvXsEiEzIF-7N1b_GSO_szk8kL00RQXnorBx3Jjcd3pHAI0c7-flj0yNTJyfcanZS7UO5iLuN2k2HJ9al47vY7o758vWOVTuxmJHW3I_ExP4WNnVIamDp3q1igwCttoNOLBXavsJF2rgWGC27u7fOmiIRYjNfbFblw6-JzIz2dzXWZqYAMh7Zu5B7brECNf6Fx_" width="320" /></a></div><br /><br /></div><div><ul style="text-align: left;"><li><a href="https://www.ebay.com/itm/193498883168" target="_blank">IRF520 Mosfet Driver Module For Arduino MCU ARM Raspberry Pi 3.3v-5V</a></li></ul><h4 style="text-align: left;">Other Parts</h4></div><div><ul style="text-align: left;"><li>Fuses (PTC Fuse Resettable Fuses 72V 0.5A 500mA RXEF030 Series)</li><li>Diodes</li><li><a href="https://www.sparkfun.com/products/16842" target="_blank">Qwiic Button</a></li></ul></div><h2 style="text-align: left;">Architecture</h2><h3 style="text-align: left;">Requirements</h3><div>I worked with my friend Peter to develop requirements for the lock. The requirements are written up on <a href="https://github.com/smithdtyler/play-fort-door-lock/blob/main/requirements.md" target="_blank">github here</a>. In summary, the lock: </div><div><ol style="text-align: left;"><li>shall not allow a child to get stuck</li><li>shall be resistant to critters/teenagers</li><li>shall not require physical keys</li></ol></div><div>The current solution meets all three of these requirements. </div><h3 style="text-align: left;">Cyberphysical System Models</h3><div>This project gave me a good excuse to spend time learning the Assume Guarantee REasoning Environment (<a href="http://loonwerks.com/tools/agree.html" target="_blank">AGREE</a>). AGREE is a model-based tool that helps you build and verify an argument for correctness in your architecture. </div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgyKp83s7d_SXTzL07aw0ZICcOwk1cbLgrkF9Er9jxXFIZjhKE4KX1u2tdYa_iL7t32Y-yReO7tojgnL_NGTgnPy9IdQ81e3sk5yJdtA3xVEWCkzu6T8Xjv7I7ZWhFFgYlOGhK5LG6fk2lACoV5lYK--jA1xshCVRPhaPsnVfwCfy_K1ZrGEt1JFCJt6L_U" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="772" data-original-width="1660" height="298" src="https://blogger.googleusercontent.com/img/a/AVvXsEgyKp83s7d_SXTzL07aw0ZICcOwk1cbLgrkF9Er9jxXFIZjhKE4KX1u2tdYa_iL7t32Y-yReO7tojgnL_NGTgnPy9IdQ81e3sk5yJdtA3xVEWCkzu6T8Xjv7I7ZWhFFgYlOGhK5LG6fk2lACoV5lYK--jA1xshCVRPhaPsnVfwCfy_K1ZrGEt1JFCJt6L_U=w640-h298" width="640" /></a></div><br />This specification, written in the Architecture Analysis and Design Language (AADL) describes a magnetic lock actuator that physically actuates (locks) only when power is applied to the system and the lock gets an actuation signal. The first section, "lock_actuator" describes the desired behavior in terms of <i>assumptions</i> and <i>guarantees</i>. The section section, "lock_actuator.magnetic_actuator" describes the state transitions of a particular lock design. </div><div><br /></div><div>This type of reasoning is helpful when thinking through design choices. For example, I considered using a solenoid lock like <a href="https://www.sparkfun.com/products/15324" target="_blank">this</a> version from SparkFun: </div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgmUUSnZYjntrrKxIH1MBhTnoc3IAemetOocWYr6oSy8sS-jknT_YjapcoJ1_F51WiPhFNOsds8tfTdzd05A8MRnAbBqmTA9xiO4R-HBiPICSDjOASjmiY8TTazNacau2u1UtlXN4YrKI5KcSOhCve4FKygvHmj2U6L46WgeMHpmjUzOHtuaeIrzFccHs3F" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="600" data-original-width="600" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEgmUUSnZYjntrrKxIH1MBhTnoc3IAemetOocWYr6oSy8sS-jknT_YjapcoJ1_F51WiPhFNOsds8tfTdzd05A8MRnAbBqmTA9xiO4R-HBiPICSDjOASjmiY8TTazNacau2u1UtlXN4YrKI5KcSOhCve4FKygvHmj2U6L46WgeMHpmjUzOHtuaeIrzFccHs3F" width="240" /></a></div><div><br /></div>But this kind of lock does not meet the conditions described in my assumptions and guarantees. Namely, (as I verified through bench testing) the SparkFun solenoid lock physically actuates (locks) when power is <i>not</i> applied. Such behavior would violate the requirement, "shall not allow a child to get stuck," because a power loss could cause a child to become stuck in the fort. </div><h3 style="text-align: left;">Electrical Architecture</h3><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj66N5FY5tXYkDXKf___SXAyttfvn3YkVRdYqV0Z8dKvP-2baSKBgfPZa0_Dq0zrewM2CwiSOPFerMuHOqrGXsB87ELnbUvZWKCoZOQc2RMaWlIdNeJMxTIlfLWD7-NFzEOU2uE_83tlo46jpwhQ-6x1Cpf4m-d2rmq7WJnrPVzDEhOeSMARjIOgUTN2FfC" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="441" data-original-width="792" height="223" src="https://blogger.googleusercontent.com/img/a/AVvXsEj66N5FY5tXYkDXKf___SXAyttfvn3YkVRdYqV0Z8dKvP-2baSKBgfPZa0_Dq0zrewM2CwiSOPFerMuHOqrGXsB87ELnbUvZWKCoZOQc2RMaWlIdNeJMxTIlfLWD7-NFzEOU2uE_83tlo46jpwhQ-6x1Cpf4m-d2rmq7WJnrPVzDEhOeSMARjIOgUTN2FfC=w400-h223" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;">Architecture Figure 1: Electrical System</div></div><h4 style="text-align: left;">Electrical Summary</h4><div>A MOSFET relay with a dedicated 12VDC source controls power to the electronic lock. At Peter's recommendation, both sides of the 12VDC supply are protected with resettable fuses to avoid shorting the system (if, for example, something is wired backward). </div><div><br /></div><div>The ESP32 board uses one of its General Purpose Input/Output (GPIO) pins to trigger the relay. Input to the ESP32 comes from two sensors (a button and a keypad) both of which are connected via the I2C protocol using Sparkfun's Qwiic cable system (which I absolutely love). </div><h4 style="text-align: left;">Flyback Diode</h4><div>When the magnetic field of the electromagnetic lock collapses, it can induce a current in the reverse of the normal direction. To avoid damaging the microcontroller, I used a Flyback Diode as described on <a href="https://www.douglaskrantz.com/ElecFlybackDiode.html" target="_blank">this page</a>. Normally current flows in the B to A direction (illustrated on the figure), but when the lock's power is disengaged, the collapsing magnetic field induces a current in the A to B direction, making a circuit back through the electronic lock to dissipate the remaining power. </div><div><br /></div><div><h3 style="clear: both; text-align: left;">Physical Assembly</h3><div>The lock I purchased was intended to by mounted on the interior of a door frame. The fort door is an exterior door, so this mounting approach would not work (the lock would be exposed to weather). To mount the lock entirely inside the fort, I welded a "Z" bracket from two pieces of "L" steel. </div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiRxyQtqXpS_8m7bWvt52r8ScbYyE9foGYMqmp5wDWLczPFHl8EsT8X0WLZKQTk7wwpCdzLYQpjwVtqkS58B2B9fgokC0iqo3Rmk4AssX29iWUGKsRKcCWloth6jO580tuwwBRrk1lGTL3kPCmd2MW0gTi4XLhOHL1prgHv2KVGx6DebTt9fmbXE45Qhb6-" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1636" data-original-width="2673" height="245" src="https://blogger.googleusercontent.com/img/a/AVvXsEiRxyQtqXpS_8m7bWvt52r8ScbYyE9foGYMqmp5wDWLczPFHl8EsT8X0WLZKQTk7wwpCdzLYQpjwVtqkS58B2B9fgokC0iqo3Rmk4AssX29iWUGKsRKcCWloth6jO580tuwwBRrk1lGTL3kPCmd2MW0gTi4XLhOHL1prgHv2KVGx6DebTt9fmbXE45Qhb6-=w400-h245" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;">Architecture Figure 2: Installation. After taking this photo I had to shim the steel plate (attached to the black painted steel) so that it made good contact with the magnet.</div></div></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div style="text-align: left;">I installed the microcontroller, relay, and exit button in a standard 2 gang electrical box. </div><div style="text-align: left;"><br /></div><div style="text-align: left;"><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhF3KctEjrvm_sz1XLzJZezY0JLIsEGmfX6thXazVJjrDb68hzEB5BVnwFTvNinkUwVMgXklbhVJs7f34S1iQ7ID1X0F8wfm81tDWMAXkdFyZ9vMWa972fFfJdEFEO3s6wrHDOBSKuZdXVHMRfDu9rXiN7gA-zt0ioXioqfnpuFcJcrgOJ3jk_Ut52DgYcj" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="963" data-original-width="1083" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEhF3KctEjrvm_sz1XLzJZezY0JLIsEGmfX6thXazVJjrDb68hzEB5BVnwFTvNinkUwVMgXklbhVJs7f34S1iQ7ID1X0F8wfm81tDWMAXkdFyZ9vMWa972fFfJdEFEO3s6wrHDOBSKuZdXVHMRfDu9rXiN7gA-zt0ioXioqfnpuFcJcrgOJ3jk_Ut52DgYcj" width="270" /></a></div><div class="separator" style="clear: both; text-align: center;">Architecture Figure 3: Exit button and installation box</div></div><br /><br /></div><div style="text-align: left;">My son and I designed the keypad mounting bracket in <a href="https://www.tinkercad.com/" target="_blank">TinkerCAD</a> (this was great practice for him using a micrometer). You can find the <a href="https://github.com/smithdtyler/play-fort-door-lock/blob/main/models/solid-models/Keypad-Box.stl" target="_blank">.stl file here</a>. </div><div style="text-align: left;"><br /></div><div style="text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEizWPYKBT6k3FZppR9KLPPUQm2jxWuOmYxTDMmNgTgnAuvaQG2DRlnuhE41b2e1b14WRSL9GpK9yeACbTOIwuSAlqbCae4nQFcm16AskyNF00Xg1aHbxOCRY0o5HwcUzMn0FBov9Mf7rPZZDR0sJ81IGlXQqG753n_FJXwHcvaEZk8Dn5TSCiNKlwjBVlgy" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="704" data-original-width="1120" height="201" src="https://blogger.googleusercontent.com/img/a/AVvXsEizWPYKBT6k3FZppR9KLPPUQm2jxWuOmYxTDMmNgTgnAuvaQG2DRlnuhE41b2e1b14WRSL9GpK9yeACbTOIwuSAlqbCae4nQFcm16AskyNF00Xg1aHbxOCRY0o5HwcUzMn0FBov9Mf7rPZZDR0sJ81IGlXQqG753n_FJXwHcvaEZk8Dn5TSCiNKlwjBVlgy" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">Architecture Figure 4: Mounting Bracket for SparkFun QwiicKeypad</div><br /><br /></div><h3 style="text-align: left;">Software Architecture</h3><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi_9GunPQmX4RRZ-mERXglTTmsjW1I6-6ci1n681vu3Asmm0gG2vC6drMJ81RrEln2R4-fBYgAID8SSYXT26YT1l45Xd7aL2HfwomSjsP-vAVDj4qg7epkSIKAvdyWBDfbrfqaJXSazJ9gKuqLJB2YT2jNVFbKlGnoOmYjfO2jZhnmlPuLlU-btYrD0ptEV" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="701" data-original-width="871" height="322" src="https://blogger.googleusercontent.com/img/a/AVvXsEi_9GunPQmX4RRZ-mERXglTTmsjW1I6-6ci1n681vu3Asmm0gG2vC6drMJ81RrEln2R4-fBYgAID8SSYXT26YT1l45Xd7aL2HfwomSjsP-vAVDj4qg7epkSIKAvdyWBDfbrfqaJXSazJ9gKuqLJB2YT2jNVFbKlGnoOmYjfO2jZhnmlPuLlU-btYrD0ptEV=w400-h322" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;">Architecture Figure 5: Software</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div>The software design is pretty simple. As shown in Architecture Figure 5, the microcontroller simply waits for input from either the keypad or the exit button, storing up keypresses to compare to a saved code, resetting if input times out. </div><h4 style="clear: both; text-align: left;">Development Environment</h4><div>This was my first time using CircuitPython and the Mu Python editor. Overall I'm still on the fence about CircuitPython. It is certainly convenient once it is working, but the set up process is not as straightforward as I'm accustomed to with Arduino. </div><div><br /></div><div style="text-align: left;"><b>1. Install CircuitPython to Board Flash Memory</b></div><div><br /></div><div><ul style="text-align: left;"><li>Download <a href="https://github.com/espressif/esptool/releases">esptool</a> (I used version 4.4)</li><li>Find ESP32 in my device manager (on Windows this was COM8)</li><li><span style="font-family: Arial; font-size: 14.6667px; white-space-collapse: preserve;">Write <a href="https://github.com/adafruit/tinyuf2/releases">circuitpython bootloader</a> to flash </span></li><ul><li><span style="font-family: Arial; font-size: 14.6667px; white-space-collapse: preserve;">.\esptool-v4.4-win64\esptool-v4.4-win64\esptool.exe --port COM8 --after=no_reset write_flash 0x0 .\tinyuf2-adafruit_metro_esp32s2-0.12.0\combined.bin</span></li></ul></ul></div></div><div><span style="font-family: Arial; font-size: 14.6667px; white-space-collapse: preserve;">Once CircuitPython is loaded on your board's flash memory, the board will appear as a storage device.</span></div><div><span style="font-family: Arial; font-size: 14.6667px; white-space-collapse: preserve;"><br /></span></div><div><span style="font-family: Arial; font-size: 14.6667px; white-space-collapse: preserve;"><b>2. Install Mu Editor</b></span></div><div><span style="font-family: Arial; font-size: 14.6667px; white-space-collapse: preserve;"><br /></span></div><div><span style="font-family: Arial; font-size: 14.6667px; white-space-collapse: preserve;">You can download <a href="https://codewith.mu/">Mu here</a>. Overall I'm content with Mu, but the CircuitPython model seems to require I only use a single file, "code.py" which makes version control cumbersome. </span></div><div><span style="font-family: Arial; font-size: 14.6667px; white-space-collapse: preserve;"><br /></span></div><div><span style="font-family: Arial; font-size: 14.6667px; white-space-collapse: preserve;"><b>3. Install Required Libraries</b></span></div><div><span style="font-family: Arial; font-size: 14.6667px; white-space-collapse: preserve;"><br /></span></div><div><span style="font-family: Arial; font-size: 14.6667px; white-space-collapse: preserve;">CircuitPython libraries are <i>not</i> the same as regular Python libraries. You can find many CircuitPython libraries <a href="https://github.com/adafruit/CircuitPython_Community_Bundle/releases/tag/20230630" target="_blank">here</a>. Copy the files for the devices you are using from the <b>lib</b> directory of the CIrcuitPython library to the <b>lib</b> directory on your board. For example, I copied <b>sparkfun_qwiickeypad.mpy</b> to the <b>lib</b> directory of my board so that I could do:</span></div><div><span style="font-family: Arial; font-size: 14.6667px; white-space-collapse: preserve;"><br /></span></div><blockquote style="border: none; margin: 0px 0px 0px 40px; padding: 0px; text-align: left;"><div><span style="font-family: Arial; font-size: 14.6667px; white-space-collapse: preserve;">import board</span></div><div><span style="font-family: Arial; font-size: 14.6667px; white-space-collapse: preserve;">import sparkfun_qwiickeypad</span></div><div><span style="font-family: Arial; font-size: 14.6667px; white-space-collapse: preserve;">... </span></div><div><span style="font-family: Arial; font-size: 14.6667px; white-space-collapse: preserve;">i2c = board.I2C()</span></div><div><span style="font-family: Arial; font-size: 14.6667px; white-space-collapse: preserve;">keypad = sparkfun_qwiickeypad.Sparkfun_QwiicKeypad(i2c)</span></div></blockquote><div><br /></div><h3 style="text-align: left;">Testing</h3><h4 style="text-align: left;">Access Testing</h4><div>My kids helped me test the lock - both the entry PIN and the exit button work as desired. We also talked through the emergency protocol if they need to leave the fort and the exit button is not working (just unplug it). </div><h4 style="text-align: left;">Power Consumption</h4><div>I used a KASA wifi power outlet adapter to measure power consumption. It holds steady at about 9 Watts for the lock alone (not including the controller). </div><div><br /></div><h3 style="text-align: left;">Final Thoughts</h3><div>I learned a ton doing this project. The practice doing circuit design was particularly valuable, as I made (and corrected) lots of mistakes. </div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEirgRUgCio7VgUADVUBGlp4cMobrCwZQtMb7JEmB7rQu316yvansDJVRSLDL5w1BBnGKFBpJtSA_6DUDVOfuPfRVW4KjXFRJ5O86ibKFtRNps0IRFN9eJVzOzIkdMRPIVYMCHULww2lTkd_RjrGJyyXO6A1dLvKoLOezWBhwXIfIQVMjaxCIa6KpwcUV_Lj" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="3685" data-original-width="2764" height="400" src="https://blogger.googleusercontent.com/img/a/AVvXsEirgRUgCio7VgUADVUBGlp4cMobrCwZQtMb7JEmB7rQu316yvansDJVRSLDL5w1BBnGKFBpJtSA_6DUDVOfuPfRVW4KjXFRJ5O86ibKFtRNps0IRFN9eJVzOzIkdMRPIVYMCHULww2lTkd_RjrGJyyXO6A1dLvKoLOezWBhwXIfIQVMjaxCIa6KpwcUV_Lj=w300-h400" width="300" /></a></div><br /><br /></div><div><br /></div>Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-67179814803952360322023-06-03T19:22:00.000-07:002023-06-03T19:22:32.638-07:00How I built a stand for the UCS Millennium Falcon<p><br /></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgl1K_FgT549HUnTysSwryItx-B5wghFjNuLs4TxDfsd3X0N473aGyUFWmsZf-C13SdzEbAzY9iSAtT4sK4X_HfuJ3CMSt9DrPSErxVLtdt9lYciZZD4feYY04EpPCIfEuu8kIz7xLbYYjd9rlgXtB-7HA5EGkk2wPfZON4TPzdRG6WvS_qTu6oPSfspw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="2749" data-original-width="3406" height="300" src="https://blogger.googleusercontent.com/img/a/AVvXsEgl1K_FgT549HUnTysSwryItx-B5wghFjNuLs4TxDfsd3X0N473aGyUFWmsZf-C13SdzEbAzY9iSAtT4sK4X_HfuJ3CMSt9DrPSErxVLtdt9lYciZZD4feYY04EpPCIfEuu8kIz7xLbYYjd9rlgXtB-7HA5EGkk2wPfZON4TPzdRG6WvS_qTu6oPSfspw" width="372" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>Freestanding Millennium Falcon display with lighting</i></div><p></p><p>The <a href="https://www.lego.com/en-us/product/millennium-falcon-75192" target="_blank">Ultimate Collector Series (UCS) Millennium Falcon</a> is an incredible LEGO set. It is absolutely huge, 33" by 23" and 28 pounds. My office has one in our common room, and this year I decided that I wanted to build a stand for it; a standard office table was not doing it justice. </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEghgh9T0JXu9dJFnLB2R-oQMWJHIIu2j2dtNxYXRhM-gjURsW8LkWXaDTcCjnKIyO9jWpsqwmfIkOA4KE8lE6kC_LA9A3il6u3AqiBWnFRKKkBOLohk0JBbXfn6gW4J5GjA0YrA83q81Ex7mtrUhd6CD7hEEPPwkqwKA6CGRTqxWCDf5IcaGLO2J-ubgA" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1831" data-original-width="2908" height="201" src="https://blogger.googleusercontent.com/img/a/AVvXsEghgh9T0JXu9dJFnLB2R-oQMWJHIIu2j2dtNxYXRhM-gjURsW8LkWXaDTcCjnKIyO9jWpsqwmfIkOA4KE8lE6kC_LA9A3il6u3AqiBWnFRKKkBOLohk0JBbXfn6gW4J5GjA0YrA83q81Ex7mtrUhd6CD7hEEPPwkqwKA6CGRTqxWCDf5IcaGLO2J-ubgA" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>Acceptable, but boring, way to display the coolest set ever</i></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">I started by making paper sketches of stand options. I wanted it to be free standing so that visitors to the office could be greeted in proper geeky fashion. I wanted the 'Falcon to appear to be taking off and easy for viewers to see. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj3RjLnjtlOs70zIYtWFxbVi46lqSpUQ9HxZ1EdKP32QuUvr00VcldKGwuDxqkOYwM96rK98wEUDzDhcOL1rRhjDCCfiN-dABi1IU2PdBCkqilckRv-ZaNCDguCofpX8V5LuBUNvp1ic4b3LWu7CtkVysdyfxMfwmVczeUNkSoidQ1nxabdzfxUf3vqMQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="370" data-original-width="294" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEj3RjLnjtlOs70zIYtWFxbVi46lqSpUQ9HxZ1EdKP32QuUvr00VcldKGwuDxqkOYwM96rK98wEUDzDhcOL1rRhjDCCfiN-dABi1IU2PdBCkqilckRv-ZaNCDguCofpX8V5LuBUNvp1ic4b3LWu7CtkVysdyfxMfwmVczeUNkSoidQ1nxabdzfxUf3vqMQ" width="191" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>Initial design (digitized)</i></div><div class="separator" style="clear: both; text-align: center;"><br /></div>I purchased some scrap steel from <a href="https://www.coremarkmetals.com/" target="_blank">Coremark Metals</a> and set about making a small scale prototype from 1/4" and 1/8" hot rolled steel. I used Metal Inert Gas (MIG) process welding with the Hobart Handler given to me by <a href="https://www.thingiverse.com/breakfastsandwich/designs" target="_blank">my brother Graham</a>, who also makes some pretty cool stuff. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhYFsk9aGNHcUm3WGU8t_N7sVH3EIs04LgWKy37hE_KjWyJVmt0bmzZ0RLyOskNACt-D6Vzt9If2m1TNkFXpVWH1E3QHbLerWXFKBkRrKi7frTaPCxfzfUVnKtC2hg8grRPo5tnYY5Fdwjg6hM8qdcgo_eH5iP1nYtVC0BmxNCIwueQbA0NSTrqjXI2qQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="2903" data-original-width="3024" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEhYFsk9aGNHcUm3WGU8t_N7sVH3EIs04LgWKy37hE_KjWyJVmt0bmzZ0RLyOskNACt-D6Vzt9If2m1TNkFXpVWH1E3QHbLerWXFKBkRrKi7frTaPCxfzfUVnKtC2hg8grRPo5tnYY5Fdwjg6hM8qdcgo_eH5iP1nYtVC0BmxNCIwueQbA0NSTrqjXI2qQ" width="250" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>Small-scale prototype</i></div><br />I was pleased with the small-scale prototype, and my coworkers were too. Bolstered by their feedback and the stability of the small design, I started work on the full size version. I scanned the 'Falcon with <a href="https://poly.cam/" target="_blank">Polycam</a> to get measurements and locations of its landing struts, then went back to Coremark to purchase enough steel for the full size version. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgmZljWh1AOAy4FUklKfw_Z58DkQT1njDxOM-p9HUg1JjQoVA68Sfj_TvOiki55Rg6C_lEdKhiMsGbUGKFcSi95IresV6cMD1lJFZJ3XW2JsNqJUc9tOsLyNTU0BTBmPwjOneaYYhFWi2gT6NKdwsCdYo8TJVJ94FJcTxDhZt_wRJPjUntuwcA4tN1mwg" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1122" data-original-width="1179" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEgmZljWh1AOAy4FUklKfw_Z58DkQT1njDxOM-p9HUg1JjQoVA68Sfj_TvOiki55Rg6C_lEdKhiMsGbUGKFcSi95IresV6cMD1lJFZJ3XW2JsNqJUc9tOsLyNTU0BTBmPwjOneaYYhFWi2gT6NKdwsCdYo8TJVJ94FJcTxDhZt_wRJPjUntuwcA4tN1mwg" width="252" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>Polycam lets you pull measurements from a 3d model</i></div><div class="separator" style="clear: both; text-align: left;"><br /></div>I purchased about 50 pounds of steel for this project:</div><div class="separator" style="clear: both; text-align: left;"><ul style="text-align: left;"><li>1/8" Steel sheet for the landing pad</li><li>Squares of 1/4" steel bar for the base (to make it heavy)</li><li>4' Length of square steel tubing for the upright</li></ul><div>I assembled the base first. I used seven square 1/4" steel bars together to make a U shaped base that allowed space for wiring to come down through the upright, with a larger square 1/4" steel bar on top. I drilled a small hole in the center to run wires through. I tacked the small squares together before doing most of the welding, which helped to minimize warping of the steel from welding. </div><div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg01xl9l-cEpo11JbiD_VDbWq8qGSXyS6ZQxxSfIpoaaTkljRext_vosi_svzZVy0z4k_MsV7RTQAMIiJowCYxAj-bwIhcVyl4tde0AQ2Aa1u6DMUb7uvTgOJH30U37A-sZhqnIvJezVPjn20lWAGTg85c-2QNjExeyxezdkWXzwfvmrKOarV01_JtF5Q" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="574" data-original-width="761" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEg01xl9l-cEpo11JbiD_VDbWq8qGSXyS6ZQxxSfIpoaaTkljRext_vosi_svzZVy0z4k_MsV7RTQAMIiJowCYxAj-bwIhcVyl4tde0AQ2Aa1u6DMUb7uvTgOJH30U37A-sZhqnIvJezVPjn20lWAGTg85c-2QNjExeyxezdkWXzwfvmrKOarV01_JtF5Q" width="318" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>Base design</i></div><br />I used several additional pieces of 1/4" and 3/16" steel to build a small box to house electronics at the base and cover the gap left at the bottom of the base. I was happy with the upright angle I used on the prototype, so I copied it to the angle to the upright and cut it with an angle grinder. I beveled the edges a little bit to try to minimize the profile of the weld. </div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhIGmksBtCP-aU2EkvYl6j3eJVdIT9oKSIAr9IlZ7uHxRXcP7mOKxLo95bm-bY2YJl9cm8cMMo1MP4YL2_BxXv4aQfUm64IATnMPdhe1CGdljhRaHPeghaYSxwsSV2D3x3pPwzntik1pElhQpcoZ40xLatGxGMPNI6F679kuh-b6Hw-w4M12wGgkkAi_g" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="512" data-original-width="523" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEhIGmksBtCP-aU2EkvYl6j3eJVdIT9oKSIAr9IlZ7uHxRXcP7mOKxLo95bm-bY2YJl9cm8cMMo1MP4YL2_BxXv4aQfUm64IATnMPdhe1CGdljhRaHPeghaYSxwsSV2D3x3pPwzntik1pElhQpcoZ40xLatGxGMPNI6F679kuh-b6Hw-w4M12wGgkkAi_g" width="245" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>Wiring box</i></div><br /></div><div>Attaching the landing pad was tricky, as my welding magnets and clamps did not work well to situate the upright. Eventually I made it work.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj0mD19x6582Y3xoNnKBYVho7bro6AZ8DdGZ4z7EWHA6iSEgIccdTR_Oy1d0uaPl__YhWaROYk97zNc-BwK_yALKKcE5Tmwmp3Mvk0Ap-eKSXG-XaBHbyl_d3jPgbQNrbknCIC4UxuOG5lJ-ZtpU9obCJU0n2vjnXrWJcVNW6NDGJtgJkY7fWapI46-fw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="2700" data-original-width="1980" height="400" src="https://blogger.googleusercontent.com/img/a/AVvXsEj0mD19x6582Y3xoNnKBYVho7bro6AZ8DdGZ4z7EWHA6iSEgIccdTR_Oy1d0uaPl__YhWaROYk97zNc-BwK_yALKKcE5Tmwmp3Mvk0Ap-eKSXG-XaBHbyl_d3jPgbQNrbknCIC4UxuOG5lJ-ZtpU9obCJU0n2vjnXrWJcVNW6NDGJtgJkY7fWapI46-fw=w293-h400" width="293" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>Full size stand welded and cleaned for painting</i></div><div><br /></div>I spray painted the stand with a metal primer and glossy black paint (I was excited and probably would have gotten a more durable paint coat if I'd waited longer between primer and paint). I brought it into the office and was pleased with the result.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh4xLMgkZs_qFDfWtN5yeXTP-iWiRycFq8-68kkD7Qnkw3Ew09frvb3CChpQHUHDUlNN_QMUimARlVfSeCYGw_-S1mQ6JCBxTNi8nwsgsdxaJ__w6nw1kJyZqqsQS5MnPnUPPVtaoly8KsXlZDdCirsBKgTeH4CqjEpU1asZdxzncsEQho6PgI8oucB2g" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1836" data-original-width="2346" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEh4xLMgkZs_qFDfWtN5yeXTP-iWiRycFq8-68kkD7Qnkw3Ew09frvb3CChpQHUHDUlNN_QMUimARlVfSeCYGw_-S1mQ6JCBxTNi8nwsgsdxaJ__w6nw1kJyZqqsQS5MnPnUPPVtaoly8KsXlZDdCirsBKgTeH4CqjEpU1asZdxzncsEQho6PgI8oucB2g" width="307" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>Fit test</i></div><div class="separator" style="clear: both; text-align: center;"><br /></div>I taped off the locations of the landing struts, then brought it back home again to trim the landing pad and assemble the lighting. I purchased a bunch of pre-wired LEDs and some speaker wire. I set the lights up in three strings, so that I could have multiple lighting settings. I decided to run a positive and negative line for each string to maximize flexibility. </div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEizAtq9wjAEOip3Pmv78_wcBtA1JdR2MzI5IqLYIDAKh4PT_igczI5kwKW6_hI0_O0l1EGtVEWlLE3aZU75slbA5SMLUUuDpk0oIIwBjT4jAMOwCEQY2LS_hEnlInXiGQ4r3e5AE0g2mU7DnOO36H4KhF63W3yYti182OylrbnCq62Wxt2NwyC3GGj8gQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="3024" data-original-width="3676" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEizAtq9wjAEOip3Pmv78_wcBtA1JdR2MzI5IqLYIDAKh4PT_igczI5kwKW6_hI0_O0l1EGtVEWlLE3aZU75slbA5SMLUUuDpk0oIIwBjT4jAMOwCEQY2LS_hEnlInXiGQ4r3e5AE0g2mU7DnOO36H4KhF63W3yYti182OylrbnCq62Wxt2NwyC3GGj8gQ" width="292" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>Trimmed, taped, and wired</i></div><br />I installed a couple of (unnecessarily) large switches at the base, as well as a motion sensor. For the motion sensor I 3D printed an additional mounting bracket, since it had to be located above the base to detect movement. </div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg-lz30HpCjSW7M6gfhvkg12g-ZKPzqisRrX-ivNWmzA7_Ph4TSaiaP516S-FsxRUMsby93EkRPLhydd9JmWXSKoZdMTvW0BT7mB2I8XKVKDQecXED7vBZTP34lrd0-zw_ms82CvRewi9A0pVs0KKBmUfI6-cD7G6Ns4BSPpETPrM2iCue4cz0EWKuQpw" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="489" data-original-width="548" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEg-lz30HpCjSW7M6gfhvkg12g-ZKPzqisRrX-ivNWmzA7_Ph4TSaiaP516S-FsxRUMsby93EkRPLhydd9JmWXSKoZdMTvW0BT7mB2I8XKVKDQecXED7vBZTP34lrd0-zw_ms82CvRewi9A0pVs0KKBmUfI6-cD7G6Ns4BSPpETPrM2iCue4cz0EWKuQpw" width="269" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>Bracket for motion sensor, with rectangular hole at the base for a bar magnet and round hole for wiring. </i></div><br />I used 1 1/2" bar magnets for several parts of the assembly. First, I used the bar magnets to help anchor the 'Falcon's landing struts so that the force wasn't entirely on the rear struts. Second, I used a bar magnet to attach the motion sensor bracket to the base. Third, I used a bar magnet to hold the battery in place inside the base. Finally, I used bar magnets to attach a steel cover to the wiring chamber of the base. </div><div><br /></div><div>I ran blue LEDs to the front and rear of the ship, and red LEDs to the upper gunner's station. I'm pretty happy with the result. </div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEh9Sq0prvE2taqn7vzS7dw5P4dKQeD6jrd-v6yP6vP9b5gIbVpYTNrnY6-fzfLCksVoHeoPJ4-IDKTSOibvuoRBpatl2MNXf9MRaHoxCDJ7AeAFodwgw7VBKKj69lw1yZDG2UCvVedZYgLyVJSrE9wxJdIcJvVL5gGzxLNy_xeFIsLxAgYTLny6WtyhsQ" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="2247" data-original-width="3159" height="228" src="https://blogger.googleusercontent.com/img/a/AVvXsEh9Sq0prvE2taqn7vzS7dw5P4dKQeD6jrd-v6yP6vP9b5gIbVpYTNrnY6-fzfLCksVoHeoPJ4-IDKTSOibvuoRBpatl2MNXf9MRaHoxCDJ7AeAFodwgw7VBKKj69lw1yZDG2UCvVedZYgLyVJSrE9wxJdIcJvVL5gGzxLNy_xeFIsLxAgYTLny6WtyhsQ" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>The gunner's station lights up when people walk by</i></div><br />Everything is powered by a single 9v battery. The only power consumption is from the LEDs and motion sensor, so I am hoping it will last several weeks on one charge. <br /><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgelQhUkHd5Qq7Iha8EgZiIzCSNPSsiPY_YGFS4-ZGH8qF7AvSqwrJhoCvwAbP4PwQRGRGjgEP0-wnqJByJ9KDmYcZfHfpI1OZ9lzox4S-q9mDU5Rk_J1BFMbirSbWWrd06ZhmZk6-GgCj7qmdce6g2PE27CRgIaT5IDNT-9GUUblcB2COAhmoB041TDg" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="2819" data-original-width="3902" height="289" src="https://blogger.googleusercontent.com/img/a/AVvXsEgelQhUkHd5Qq7Iha8EgZiIzCSNPSsiPY_YGFS4-ZGH8qF7AvSqwrJhoCvwAbP4PwQRGRGjgEP0-wnqJByJ9KDmYcZfHfpI1OZ9lzox4S-q9mDU5Rk_J1BFMbirSbWWrd06ZhmZk6-GgCj7qmdce6g2PE27CRgIaT5IDNT-9GUUblcB2COAhmoB041TDg=w400-h289" width="400" /></a></div><br /><br /></div><div><br /></div><div><br /> </div><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><br /><br /><p></p><p><br /></p>Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-15226218755946801912022-12-11T09:50:00.000-08:002022-12-11T09:50:02.523-08:00Population Dynamics in the Harry Potter Universe<p> In <i>Harry Potter and the Chamber of Secrets</i> Hagrid makes an interesting comment. He says</p><p>"Most wizards these days are half-blood anyway. If we hadn’t married Muggles we’d’ve died out."</p><p>This comment got me thinking about the genetics and population dynamics of the Harry Potter universe. This topic prompted a lot of questions. </p><h3 style="text-align: left;">Why is the magic population so small relative to the non-magic population? </h3><div><p>Hagrid's comment implies that there is something inherent in magic users that puts downward pressure on their population. There are a few possible explanations:</p><p></p><ul><li>A genetic effect associated with the same genes that allow magic use also reduces fertility.</li><li>Certain magic users face cultural pressure not to have children (for example, witches might face pressure not to have children, resulting in more magic using men choosing non-magical partners). </li><li>Hagrid could be referring to a specific event, rather than a general trend (for example, say there was a catastrophic event in the past which eliminated a critical mass of magic users).</li></ul><div>Let's see if we can isolate one of these potential causes. </div><p></p></div><p></p><h3 style="text-align: left;">Size of the Magical Population</h3><p>The size of the magical population is hard to gauge, but it is clearly fairly small. Let's work out an estimate. We know that Hogwarts is the only school of magic in the UK, and that attendance at Hogwarts of another school of magic is (effectively) mandatory for magic users. Based on the size of the great hall, which ostensibly contains all of the students and staff at once, Hogwarts likely has about 200 students ages 11 - 18. </p><p>According to the UK office of statistics, people ages 11-18 made up about 10% of the total population in 1998 (about 5.9m out of 58m people). We know that witches and wizards can live longer than regular people, so let's generously assume people 11-18 make up 5% of the magic population. Based on these assumptions, the total magical population is the UK in 1998 was approximately 4,000 people, or about 0.007% of the total UK population. The UK accounted for approximately 1% of the global population in 1998. This implies a global wizarding population of about 400,000. </p><p>The quidditch world cup is said to have 100,000 attendees in <i>Harry Potter and the Goblet of Fire</i>. The 2002 Football World Cup had about 2,700,000 attendees (27x as many) [5]. The world population in 2002 was 6.2 billion [6], meaning 0.04% of the world population attended the Football World Cup. One could extrapolate that the global wizarding population is 100,000 / 0.0004 = 250,000,000. However, I believe the ease of transportation in the wizarding world means a much higher percentage of the world population attends the quidditich world cup, likely as high as 25%, based on a a global wizarding population of 400,000. </p><p>This population estimate aligns nicely with the apparent scale of the magic economy: <b>magic users in the UK are effectively a small town</b>. The ease of transportation enabled by magic (apparition, flue powder) means that the population can be geographically distributed over a large area without losing the cultural cohesion of a small community. A variety of observations seem consistent with the magical population existing as a distributed small town (or perhaps small nation-state):</p><ul><li>They have their own currency.</li><li>They have a small number of businesses (one bank, several restaurants, several specialized stores).</li><li>They have a single government.</li><li>Most Magic users seem to prefer (or are limited to?) magic-specific occupations. It is implied that this is a cultural preference, rather than law. </li></ul><div>There a some potential inconsistencies with this view. For example, In 1998 approximately 5% of the UK population was employed in Education. [2] The magical community does not seem to follow this employment demographic, since the staff at Hogwarts is only about 0.25% of the magical population. </div><div><br /></div><div>Regardless, I think there are metrics to this concept that deserve more thought. Are there aspects of a small-town culture that put downward pressure on population? </div><h3 style="text-align: left;">Magical Ability Propagation</h3><p>There's general consensus in the literature that magical ability is inherited, though it's unclear whether the trait is expressed on a single gene or multiple, or whether it is dominant or recessive. [3] [4]. This is consistent with the potential for non-magic users to have magical children (e.g., Hermione) and the ability for magic users to have non-magical children (squibs, like Mr. Filch).</p><h3 style="text-align: left;">Birth Rates Among Magic Users</h3><div>We don't get to meet many magical families, but with the exception of the Weasley family almost all magic families have only one child. This sample set is also likely skewed toward a higher birth rate, since most of the characters are children. </div><div><br /></div><div>Listing all of the adults of an age to have had children:</div><div><ul style="text-align: left;"><li>Weasleys - 7 Children</li><li>Dumbledores - 3 Children</li><li>Hagrid's Parents - 1 Child (his half brother is not a magic user and does not count)</li><li>Potters - 1 Child</li><li>Malfoys - 1 Child</li><li>Lovegoods - 1 Child</li><li>Longbottoms - 1 Child</li><li>McGonogal - 0 Children</li></ul></div><div><br /></div><div>Unfortunately there are a lot of characters about whom we don't know enough to make a robust data set. For example, we aren't told whether McGonogal has siblings or children. There is not enough data to make a meaningful statistical statement about magical birth rates. Anecdotally we can only observe that many adults in the Potter books are childless (or have children that are never mentioned). Only one Hogwarts teacher <i>ever</i> has a child (Lupin). The rest have no mention of children:</div><div><ul style="text-align: left;"><li>Dumbledore</li><li>Hagrid</li><li>Lockhart</li><li>McGonogal</li><li>Slughorn</li><li>Snape</li></ul></div><h3 style="text-align: left;">Education and Autonomy</h3><div>It is well established that increases in education and (and presumably the resulting autonomy), particularly for women, lead to overall decreases in birth rate [7]. Although the wizarding world seems to have maintained some aspects of the patriarchy of the world at large (the ministers of magic are all male, for example), women in the wizarding world clearly have education and autonomy at a level on par, or ahead of, most modern economies. The birth rate has been steadily decreasing for many years [8]. Was Hagrid making a veiled sexist comment about witches preferring to have fewer children than their muggle counterparts? </div><div><br /></div><div>Recommended reading: <a href="https://www.buzzfeed.com/danieldalton/boss-witch?utm_term=.rv1Dz6X4XX#.wur23pQJQQ" target="_blank">If Hermione Were The Main Character In "Harry Potter"</a></div><div><br /></div><h3 style="text-align: left;">Further Research</h3><p>There is a lot of research yet to be done. Some ideas:</p><div><ul style="text-align: left;"><li>Set up population simulation to try to determine approximate rates for the wizarding world. </li><li>Analyze the supply chains for magic users - how do they differ from those of non-magic users? </li><li>Is in-breeding a problem among magic users? The preference for "wizard blood" among some users could lead to such situations. </li></ul></div><p>[1] <a href="https://www.ons.gov.uk/peoplepopulationandcommunity/populationandmigration/populationestimates/articles/ukpopulationpyramidinteractive/2020-01-08">UK Office For National Statistics</a></p><p>[2] <a href="https://www.ons.gov.uk/employmentandlabourmarket/peopleinwork/employmentandemployeetypes/datasets/employmentbyindustryemp13">UK Office For National Statistics</a></p><p>[3] <a href="https://www.livescience.com/59542-harry-potter-wizard-genetics.html#:~:text=person%2Dplain%2Dbutton-,Genetics%20of%20Wizardry%3A%20Were%20Harry%20Potter's,Powers%20Written%20in%20His%20DNA%3F&text=WASHINGTON%20%E2%80%94%20In%20the%20world%20of,produced%20generations%20of%20wand%2Dwielders.">Live Science</a></p><p>[4] <a href="https://www.mugglenet.com/2006/04/the-inheritance-of-magic-what-it-means-to-the-wizarding-world/">Muggle Net</a></p><p>[5] <a href="https://www.statista.com/statistics/264441/number-of-spectators-at-football-world-cups-since-1930/" target="_blank">Statista</a></p><p>[6] <a href="https://www.census.gov/library/publications/2004/demo/wp-02.html" target="_blank">Census</a></p><p>[7] <a href="https://blogs.worldbank.org/health/female-education-and-childbearing-closer-look-data" target="_blank">Worldbank</a></p><p>[8] <a href="https://www.macrotrends.net/countries/GBR/united-kingdom/birth-rate" target="_blank">Macrotrends</a></p>Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-84649094697526085972021-05-13T21:27:00.002-07:002021-05-13T21:27:58.358-07:00Building the Mega Drop<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-VlhdcAG02NU/YJaM9LskMDI/AAAAAAACXGs/wNrKhY256KowD1V1GE4dTX_HkBOgByP_QCLcBGAsYHQ/Screen%2BShot%2B2021-05-08%2Bat%2B8.06.56%2BAM.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="381" data-original-width="804" height="190" src="https://lh3.googleusercontent.com/-VlhdcAG02NU/YJaM9LskMDI/AAAAAAACXGs/wNrKhY256KowD1V1GE4dTX_HkBOgByP_QCLcBGAsYHQ/w400-h190/Screen%2BShot%2B2021-05-08%2Bat%2B8.06.56%2BAM.png" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;">Figure 1: Mega Drop (With Ramp)</div><div class="separator" style="clear: both; text-align: center;"><br /></div>About a year ago we took down a beautiful old box elder in our backyard. It grew on a hill behind our sandbox and swingset. It was big, wide, and had lots of large dead limbs that, unfortunately, were a safety risk for our kids (Figure 2). We had the tree cut down, and were left with a large (approximately 3' diameter) stump on our hill. <div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-lIyUM0ic6wc/YJhFsRxkaQI/AAAAAAACbNA/QKS2H1-4q6UAStaWw9ZK-TCfB165InRGACLcBGAsYHQ/Screen%2BShot%2B2021-05-09%2Bat%2B3.27.24%2BPM.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="515" data-original-width="529" height="389" src="https://lh3.googleusercontent.com/-lIyUM0ic6wc/YJhFsRxkaQI/AAAAAAACbNA/QKS2H1-4q6UAStaWw9ZK-TCfB165InRGACLcBGAsYHQ/w400-h389/Screen%2BShot%2B2021-05-09%2Bat%2B3.27.24%2BPM.png" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;">Figure 2: The Box Elder</div><br /><div><br /></div><div>For this project we used almost exclusively either scrap wood or wood from Home Depot's 70% off pile. I don't have a detailed price list, but I'd guess we spent about $40. </div><div><br /></div><div>At first we wanted to build a tree fort, so we used some two by fours to make a level building surface on top of the stump, then we added treated decking boards to build a base. Almost immediately we realized that the "floor" we had created would make an awesome drop for our backyard singletrack trail. We extended the surface so that we had a deck leading from the nearby hillside path to the top of the stump. Soren dubbed this setup the "mega drop."</div><div><br /></div><div>We used a variety of rocks, logs, and assorted backyard construction materials to shore up the design, then we tried it out. <div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-obsBWRCR8yE/YJhGZVPqhwI/AAAAAAACbNI/UydnmEVtK0swhhLR-F4nH0dW1C-It1l-gCLcBGAsYHQ/Screen%2BShot%2B2021-05-09%2Bat%2B3.30.23%2BPM.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="243" data-original-width="556" height="175" src="https://lh3.googleusercontent.com/-obsBWRCR8yE/YJhGZVPqhwI/AAAAAAACbNI/UydnmEVtK0swhhLR-F4nH0dW1C-It1l-gCLcBGAsYHQ/w400-h175/Screen%2BShot%2B2021-05-09%2Bat%2B3.30.23%2BPM.png" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;">Figure 3: Ouch</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">Although the drop was a reasonable height, the hill on which we had to land was sloped in two directions, which made landing rather tricky. After a mix of successful and unsuccessful attempts, we went back to the drawing board. We decided to change from a drop to a steep ramp, which would maintain the excitement of the descent without the frustration of the sketchy landing. </div></div><div><div class="separator" style="clear: both; text-align: center;"><br /></div><br /><br /><p>
<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/--GWoeXwLL8" title="YouTube video player" width="560"></iframe>
</p></div></div>Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-40658952581389699322021-05-08T05:57:00.004-07:002023-01-10T18:42:04.894-08:00How to Fix a Broken XPower Dump Truck Drive Switch<p> My son got an XPower "Pulls up to 50 Lbs!" dump truck for his birthday, but within a week it had stopped working. It would turn on and make noise, but would only drive sporadically. It turns out the problem is a somewhat flaky button design with an easy repair: <b>Add a spring to the button</b>. </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-C5N018d7oRg/YJaEXg7l1rI/AAAAAAACXFk/lnhIlbuZGQsUgO44NkrXCOAGDbtr0O4pQCLcBGAsYHQ/Screen%2BShot%2B2021-05-08%2Bat%2B7.30.16%2BAM.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="512" data-original-width="580" height="240" src="https://lh3.googleusercontent.com/-C5N018d7oRg/YJaEXg7l1rI/AAAAAAACXFk/lnhIlbuZGQsUgO44NkrXCOAGDbtr0O4pQCLcBGAsYHQ/Screen%2BShot%2B2021-05-08%2Bat%2B7.30.16%2BAM.png" width="272" /></a></div><div style="text-align: center;">Figure 1: The XPower Dump Truck Power Button Stopped Responding</div><p></p><h3 style="text-align: left;">Disassembly</h3><p>There are only two kinds of screws used, both with Phillips heads, so disassembly is easy. You have to remove the wheel drive assembly to get to the circuit panel on which the problem switch is located. </p><p></p><ol style="text-align: left;"><li>Remove the bottom plate, which includes the battery pack.</li><li>Remove the wheel assembly (all four wheels come off in one large assembly). This will reveal the two screws noted below (Figure 2)</li><li>Slide the cab off of the gear and motor assembly. The cab slides "up" from the truck's perspective. </li><li>Remove the circuit board, speaker, and bed-closure button (Figure 3). There is no need to disconnect any wires. </li><li>Remove the button (Figure 4)</li></ol><p></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-DfSogGEDcHE/YJaFJa8bNuI/AAAAAAACXFs/YlleGCmnfKQd3rBdFbHPntRssgJZm6nsQCLcBGAsYHQ/Screen%2BShot%2B2021-05-08%2Bat%2B7.33.36%2BAM.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="458" data-original-width="823" height="223" src="https://lh3.googleusercontent.com/-DfSogGEDcHE/YJaFJa8bNuI/AAAAAAACXFs/YlleGCmnfKQd3rBdFbHPntRssgJZm6nsQCLcBGAsYHQ/w400-h223/Screen%2BShot%2B2021-05-08%2Bat%2B7.33.36%2BAM.png" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;">Figure 2: Remove these Screws to take off the Cab and Circuit Board</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvUlnkPOPu4jloejfGhJFZg_RzTW8Av_iHaYsOIkZolgT6tZksPiJp065uLvvYnlnNAvlPFd-P2kvlnJVyyafLffbkkagNA5EvPqMHZ8kq9D_jMdBFx8hIQvUclU9uGO4R0fLP-latwgr5fH8ldnTfW3hO24tXCYPiJ0GK2HKKZsKaVR7sZSFmZ4BzyA/s3901/IMG_9470.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1809" data-original-width="3901" height="185" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvUlnkPOPu4jloejfGhJFZg_RzTW8Av_iHaYsOIkZolgT6tZksPiJp065uLvvYnlnNAvlPFd-P2kvlnJVyyafLffbkkagNA5EvPqMHZ8kq9D_jMdBFx8hIQvUclU9uGO4R0fLP-latwgr5fH8ldnTfW3hO24tXCYPiJ0GK2HKKZsKaVR7sZSFmZ4BzyA/w400-h185/IMG_9470.jpg" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;">Figure 2.5: Configuration of the Gears</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-WkRGTrewbIc/YJaHQtAxh_I/AAAAAAACXF0/W1aomPIiapMJBpsBbtjDmnwjXIMf-olQACLcBGAsYHQ/Screen%2BShot%2B2021-05-08%2Bat%2B7.42.34%2BAM.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="437" data-original-width="509" height="240" src="https://lh3.googleusercontent.com/-WkRGTrewbIc/YJaHQtAxh_I/AAAAAAACXF0/W1aomPIiapMJBpsBbtjDmnwjXIMf-olQACLcBGAsYHQ/Screen%2BShot%2B2021-05-08%2Bat%2B7.42.34%2BAM.png" width="280" /></a></div><div class="separator" style="clear: both; text-align: center;">Figure 3: The Circuit Board</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-M_oG63cHhto/YJaIKdahUEI/AAAAAAACXF8/WRzOhPnBbNgstAYoSLL-8yGubmo4WYLFQCLcBGAsYHQ/Screen%2BShot%2B2021-05-08%2Bat%2B7.46.28%2BAM.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="389" data-original-width="537" height="232" src="https://lh3.googleusercontent.com/-M_oG63cHhto/YJaIKdahUEI/AAAAAAACXF8/WRzOhPnBbNgstAYoSLL-8yGubmo4WYLFQCLcBGAsYHQ/Screen%2BShot%2B2021-05-08%2Bat%2B7.46.28%2BAM.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">Figure 4: The "go" Button is the Problem</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-JYG7bZkeFZQ/YJaI9JfKhJI/AAAAAAACXGM/BnbcSsljNHgk2lTY16grSDarOS-60coSgCLcBGAsYHQ/Screen%2BShot%2B2021-05-08%2Bat%2B7.49.49%2BAM.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="400" data-original-width="574" height="223" src="https://lh3.googleusercontent.com/-JYG7bZkeFZQ/YJaI9JfKhJI/AAAAAAACXGM/BnbcSsljNHgk2lTY16grSDarOS-60coSgCLcBGAsYHQ/Screen%2BShot%2B2021-05-08%2Bat%2B7.49.49%2BAM.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">Figure 5: The Go Button Switch on the Circuit Board</div></div><div><br /></div><h3 style="text-align: left;">Repair</h3><div>The problem is that this button can get stuck in the up or down position. To solve this problem, I added a little spring to the button. I used a metal shears to make a little more room inside the button head (Figure 6), then added a small spring (Figure 7). Make sure that the spring is small enough that the button can still make contact with the switch. </div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-3I-A3AQ4-YQ/YJaKKo6ubTI/AAAAAAACXGc/1L9NVujcX_s-msKMtJmGUNg30tShEBxqwCLcBGAsYHQ/Screen%2BShot%2B2021-05-08%2Bat%2B7.55.02%2BAM.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="378" data-original-width="436" height="240" src="https://lh3.googleusercontent.com/-3I-A3AQ4-YQ/YJaKKo6ubTI/AAAAAAACXGc/1L9NVujcX_s-msKMtJmGUNg30tShEBxqwCLcBGAsYHQ/Screen%2BShot%2B2021-05-08%2Bat%2B7.55.02%2BAM.png" width="277" /></a></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;">Figure 6: Making a Little Room for the Spring</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-hR2s-bxeSxI/YJaIrF9W_6I/AAAAAAACXGE/HzXIljm04wQ94Yia3C475otSZ19Sm2rPwCLcBGAsYHQ/Screen%2BShot%2B2021-05-08%2Bat%2B7.48.40%2BAM.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="232" data-original-width="444" height="167" src="https://lh3.googleusercontent.com/-hR2s-bxeSxI/YJaIrF9W_6I/AAAAAAACXGE/HzXIljm04wQ94Yia3C475otSZ19Sm2rPwCLcBGAsYHQ/Screen%2BShot%2B2021-05-08%2Bat%2B7.48.40%2BAM.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;">Figure 7: Positioning of Spring</div></div><br /><br /></div></div><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-JbXmuUvmjkI/YJaJ3ORGv7I/AAAAAAACXGU/D8cbbVQ11EUkn13KoVYuIB4GUpLOSh3NgCLcBGAsYHQ/Screen%2BShot%2B2021-05-08%2Bat%2B7.53.44%2BAM.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="479" data-original-width="522" height="366" src="https://lh3.googleusercontent.com/-JbXmuUvmjkI/YJaJ3ORGv7I/AAAAAAACXGU/D8cbbVQ11EUkn13KoVYuIB4GUpLOSh3NgCLcBGAsYHQ/w400-h366/Screen%2BShot%2B2021-05-08%2Bat%2B7.53.44%2BAM.png" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;">Figure 8: Success!</div><br /><br /><p></p>Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-27162292247108745792021-01-23T13:50:00.002-08:002021-01-24T10:01:43.843-08:00How to Teach your Kids not to Beg<p>I'm a proponent of the <a href="https://bookshop.org/books/the-explosive-child-a-new-approach-for-understanding-and-parenting-easily-frustrated-chronically-inflexible-children/9780062270450" target="_blank">Ross Greene</a> approach to to parenting (and teaching, disciplining, etc). If you're not familiar with Dr. Greene, one of his core arguments is that the behaviors we want to see from kids are <b>skills</b> that needs to be <b>taught</b> and <b>practiced</b>. Scolding or punishing a child do nothing to help him or her learn the skill they are lacking. </p><p>I titled this post <i>How to Teach your Kids not to Beg</i> but in the Ross Greene way of thinking, an alternate (but wordier) title would be <i>How to Teach your kids the skill of seeing something they want and walking away from it</i>. </p><p>Humans (big and small) do not learn new skills well while under emotional stress. Our brains simply do not take in new information when we're angry, scared, tired, etc. Trying to teach a skill to a child <i>during</i> a tantrum is all but certain to fail. Instead, you need to <i>intentionally</i> practice the skill when the child's brain is in a ready-to-learn mode. </p><p>With my children, we do lots of practice walking through toy aisles and <b>not buying anything</b>. Whenever we go to Target I tell my kids, "we can look at toys, but we will not be buying anything." Almost every time we go shopping, we spend 5-10 minutes looking at toys and <b>not buying them</b>. This process gives my kids <i>practice</i> walking away from things they really want. </p><p>This practice has paid off over and over. My six year old has been saving money for a new bike for months, but was willing to go to the bike shop, look at bikes, and walk away empty handed multiple times. </p><p>If you're interested in our bike purchase story, check out the video below!</p>
<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/nEAUUF3zJaI" width="560"></iframe>
<p><br /></p>Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-90721099469667986582020-12-31T06:54:00.001-08:002020-12-31T07:09:17.528-08:00My LEGO Statistics from 2017-2020<p>Continuing this month's statistics theme, I also spent some time looking at my LEGO purchases over the last few years. During each of the past few years I've purchased between one and four thousand LEGO bricks. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-eXa-BpmiXxY/X-ykV8Sri3I/AAAAAAACOsI/bng-2o3qNLYJCYEjqGu_oGy3Kzwuy9vUACLcBGAsYHQ/chart%2B%25282%2529.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="371" data-original-width="600" height="248" src="https://lh3.googleusercontent.com/-eXa-BpmiXxY/X-ykV8Sri3I/AAAAAAACOsI/bng-2o3qNLYJCYEjqGu_oGy3Kzwuy9vUACLcBGAsYHQ/w400-h248/chart%2B%25282%2529.png" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>Bricks purchased per year</i></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">I am a very price-driven LEGO buyer, and it is rare that I purchase a set with a price-per-brick higher than $0.09. My per-brick expense has not varied much since 2017. I included some low-piece-count Technic and Duplo sets in this dataset, so the average skewed high in most years (this is why, in general, median is a better datapoint than average). </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-ttgZL10GG1E/X-yk4J0903I/AAAAAAACOsQ/nJpGDVYi4HIHJEh94KOC3lwB2pIr94CYgCLcBGAsYHQ/chart%2B%25283%2529.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="371" data-original-width="600" height="248" src="https://lh3.googleusercontent.com/-ttgZL10GG1E/X-yk4J0903I/AAAAAAACOsQ/nJpGDVYi4HIHJEh94KOC3lwB2pIr94CYgCLcBGAsYHQ/w400-h248/chart%2B%25283%2529.png" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>Average and median LEGO brick price from 2017. </i></div><div class="separator" style="clear: both; text-align: center;"><br /></div><br />LEGO pretty regularly turns over their product offerings, which means that popular sets become scarce a year or two after their first release. I compared my initial purchase prices for my sets to the the current lowest price on Amazon (not including shipping). </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-MPtW4HQgmwA/X-3hKrb2xwI/AAAAAAACOvk/5MBbweFQfPItjcnF7oFZPEscA282szXHACLcBGAsYHQ/Screen%2BShot%2B2020-12-31%2Bat%2B8.32.40%2BAM.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="198" data-original-width="549" height="144" src="https://lh3.googleusercontent.com/-MPtW4HQgmwA/X-3hKrb2xwI/AAAAAAACOvk/5MBbweFQfPItjcnF7oFZPEscA282szXHACLcBGAsYHQ/w400-h144/Screen%2BShot%2B2020-12-31%2Bat%2B8.32.40%2BAM.png" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>Price change for sets purchased in a given year to current lowest price on Amazon. </i></div><br />This chart makes it look like LEGO would be a great investment, but note that what I'm comparing is the <i>asking</i> price on Amazon, not the actual sale price. There are also significant fees when selling items on Amazon or eBay. Here's another look at the price change, this time by series. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-O9obJMlqa-E/X-3iyluM9dI/AAAAAAACOvw/yBcgftvT7LAaBu0Bkuy3tT6SQzY_GTG7QCLcBGAsYHQ/Screen%2BShot%2B2020-12-31%2Bat%2B8.39.59%2BAM.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="634" data-original-width="381" height="640" src="https://lh3.googleusercontent.com/-O9obJMlqa-E/X-3iyluM9dI/AAAAAAACOvw/yBcgftvT7LAaBu0Bkuy3tT6SQzY_GTG7QCLcBGAsYHQ/w384-h640/Screen%2BShot%2B2020-12-31%2Bat%2B8.39.59%2BAM.png" width="384" /></a></div><div class="separator" style="clear: both; text-align: center;"><i>Price change for sets purchased in a given year to current lowest price on Amazon, by series.</i></div><div><br /></div><div>LEGO Star Wars, Harry Potter, Technic, and BrickHeadz increased in value most consistently. The highest price increase, 885.30%, was actually for a Harry Potter branded BrickHeadz set, <a href="https://www.lego.com/en-us/product/harry-potter-hedwig-41615" target="_blank">Harry and Hedwig</a> (the only Harry Potter set I purchased in 2017). </div><div><br /></div><div>This is a relatively small data set, but it does not appear that LEGO sets increase in value significantly in the years following their retirement. Sets from 2017 that are now retired are not consistently listed for higher prices than sets from 2019. I suspect this trend will continue until the ten or twenty year mark, at which the <a href="https://www.lego.com/en-us/product/harry-potter-hedwig-41615" target="_blank">nostalgia factor will kick in</a>. </div><div><br /></div><div>If you're curious to see the individual set details, you can see the full <a href="https://docs.google.com/spreadsheets/d/1MTliPPgcLQy_-2E9HlslveJiJ3JcQS-KJpPzyeMp-_U/edit?usp=sharing" target="_blank">spreadsheet here</a>. I am really pleased with Google's improvements to their pivot table implementation. </div><div class="separator" style="clear: both; text-align: left;"><br /></div>If you enjoyed this post, you should subscribe to our YouTube channel, <a href="https://www.youtube.com/channel/UCa7IoipFnBhLlzhU4v6r5rw?view_as=subscriber" target="_blank">Bricks and Bikes</a>!<br /><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><br /><p></p>Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-1234808799588712612020-12-25T18:45:00.004-08:002020-12-25T18:45:43.063-08:00My 2020 Reading Statistics<p>2020 was a strange, stressful, and busy year, but our family did quite a bit of reading. The year isn't quite over, but it felt like a good time to assemble some statistics.</p><p></p><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-nXQmzovzQrE/X-VnVRoxfLI/AAAAAAACOJE/-8F6ifCcie80p3RYgHOpBBdauamekz9nACLcBGAsYHQ/Screen%2BShot%2B2020-12-24%2Bat%2B10.15.12%2BPM.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="306" data-original-width="536" height="229" src="https://lh3.googleusercontent.com/-nXQmzovzQrE/X-VnVRoxfLI/AAAAAAACOJE/-8F6ifCcie80p3RYgHOpBBdauamekz9nACLcBGAsYHQ/w400-h229/Screen%2BShot%2B2020-12-24%2Bat%2B10.15.12%2BPM.png" width="400" /></a></div></div></div></div><div class="separator" style="clear: both; text-align: center;">Words read/listened in 2020</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">Like many people, I worked from home much more in 2020 than in prior years. This cut my audiobook time down considerably (I listened to the a substantial portion of The Wheel of Time, approximately 2.5 million words, in 2019). </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">2020 was also the first year my kids got really into chapter books. We read every evening before bed, and in 2020 we transitioned from re-reading the same children's books over and over to reading chapter books. (a transition that brought me much joy!) We worked our way through 18 books.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-GJpnI0aRN_M/X-VmrTbJysI/AAAAAAACOI0/9cJXnFwPfvwvR7DFGBIkmS46FILrJorSgCLcBGAsYHQ/Screen%2BShot%2B2020-12-24%2Bat%2B10.12.24%2BPM.png" style="margin-left: 1em; margin-right: 1em;"></a><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-GJpnI0aRN_M/X-VmrTbJysI/AAAAAAACOI0/9cJXnFwPfvwvR7DFGBIkmS46FILrJorSgCLcBGAsYHQ/Screen%2BShot%2B2020-12-24%2Bat%2B10.12.24%2BPM.png" style="margin-left: 1em; margin-right: 1em;"></a><a href="https://lh3.googleusercontent.com/-gKLbDefuLFI/X-VnoO0-EHI/AAAAAAACOJM/vMYxzWdDYc8Us0yUqhMIdFCyR2VJ4il_gCLcBGAsYHQ/Screen%2BShot%2B2020-12-24%2Bat%2B10.16.27%2BPM.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="108" data-original-width="603" height="71" src="https://lh3.googleusercontent.com/-gKLbDefuLFI/X-VnoO0-EHI/AAAAAAACOJM/vMYxzWdDYc8Us0yUqhMIdFCyR2VJ4il_gCLcBGAsYHQ/w400-h71/Screen%2BShot%2B2020-12-24%2Bat%2B10.16.27%2BPM.png" width="400" /></a></div><br /></div><div class="separator" style="clear: both; text-align: center;">Words read with my kids, by genre</div><br />The total word count of Pokémon books is likely skewed high, because the word count from <a href="https://www.readinglength.com/book/isbn-133817567X">readlinglength.com</a> for most of the Pokemon book series is based on page count. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">We read <i>The Hobbit</i> in 2019, but this year showed that books with kids (or dogs) as protagonists really appeal to my family (we tried to start The <i>Fellowship of the Ring</i>, but the kids weren't into it). <br /><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-woAiuc1OOc0/X-YRy8UbBkI/AAAAAAACOPc/iSNyVJPn2WoObob874dCxV0okaSMl8XEQCLcBGAsYHQ/Screen%2BShot%2B2020-12-25%2Bat%2B10.22.29%2BAM.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="184" data-original-width="607" height="121" src="https://lh3.googleusercontent.com/-woAiuc1OOc0/X-YRy8UbBkI/AAAAAAACOPc/iSNyVJPn2WoObob874dCxV0okaSMl8XEQCLcBGAsYHQ/w400-h121/Screen%2BShot%2B2020-12-25%2Bat%2B10.22.29%2BAM.png" width="400" /></a></div></div><div class="separator" style="clear: both; text-align: center;">Words read/listened by myself, by genre</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">My preference for personal reading is clearly fantasy, though my stats are skewed a little. First, I read a lot for work, which is not reported here because I often read parts of reference books (rather than reading cover-to-cover) and such books do not always have word counts available. I also opted not to include word totals for books I have not finished, which is why Non-Fiction/History is at zero (I am about 60% done reading <a href="https://bookshop.org/books/the-defender-how-the-legendary-black-newspaper-changed-america/9781328470249" style="font-style: italic;" target="_blank">The Defender</a>).</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><a href="https://docs.google.com/spreadsheets/d/1oBpP7s3k9S3LZHFb3eHCfaIgrmJBFjmmn3Wa9VUbx-c/edit?usp=sharing" target="_blank">Here's my full list.</a> </div><br /><br /><br /><p></p>Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-34851116662531126152020-12-07T18:52:00.004-08:002020-12-07T18:52:35.256-08:00Week Three Themes<p> We had some amazing submissions last week! This week's themes are <b>Warm and Fuzzy</b> and <b>Where do you see yourself in five years?</b></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://1.bp.blogspot.com/-WVAwyMCTSfo/X87qXlULo8I/AAAAAAACNXM/AGL9HOgAL8Qdgjm6uIwf3AF66GvBGpEAQCLcBGAsYHQ/s1087/Screen%2BShot%2B2020-12-06%2Bat%2B7.31.47%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="607" data-original-width="1087" height="224" src="https://1.bp.blogspot.com/-WVAwyMCTSfo/X87qXlULo8I/AAAAAAACNXM/AGL9HOgAL8Qdgjm6uIwf3AF66GvBGpEAQCLcBGAsYHQ/w400-h224/Screen%2BShot%2B2020-12-06%2Bat%2B7.31.47%2BPM.png" width="400" /></a></div><br /><b><br /></b><p></p>Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-80535314516231873902020-11-22T07:52:00.003-08:002020-11-22T07:52:36.256-08:00LEGO Competition Season Two!<p> It's time for another LEGO competition! This time it's for adults and kids. Tag me or email me your submission photos by 4pm Thursday. </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://lh3.googleusercontent.com/-ggfqbxS0rro/X7qJBi5V9xI/AAAAAAACMYA/uhPA58qZfMUZf63PBQl4G_c4hIAdlyfggCLcBGAsYHQ/Screen%2BShot%2B2020-11-22%2Bat%2B9.47.41%2BAM.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="525" data-original-width="934" height="225" src="https://lh3.googleusercontent.com/-ggfqbxS0rro/X7qJBi5V9xI/AAAAAAACMYA/uhPA58qZfMUZf63PBQl4G_c4hIAdlyfggCLcBGAsYHQ/w400-h225/Screen%2BShot%2B2020-11-22%2Bat%2B9.47.41%2BAM.png" width="400" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;"><a href="https://www.smithdtyler.com/p/virtual-lego-competition-two-fall-2020.html">Full rules here </a></div><br /><br /><p></p><p><br /></p>Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-19168287405268389852020-07-18T12:28:00.002-07:002020-07-18T12:29:37.090-07:00Looking for a counterpoint to Little House on the Prairie?I have fond memories of reading <i>Little House on the Prairie</i> and Laura Ingalls Wilder's other books as a child. Their episodic stories of frontier life fit my third grade attention span perfectly, and the descriptions of ingenuous living off the land were captivating.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://2.bp.blogspot.com/-sDI2jQTP-8g/XxNLFvDOjxI/AAAAAAACEsc/VrU08OlELtUomEWxjMgkWfdxjz6bR3ANgCK4BGAYYCw/s1600/birchbark-house-large.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://2.bp.blogspot.com/-sDI2jQTP-8g/XxNLFvDOjxI/AAAAAAACEsc/VrU08OlELtUomEWxjMgkWfdxjz6bR3ANgCK4BGAYYCw/s400/birchbark-house-large.jpg" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Photo via <a href="https://birchbarkbooks.com/louise-erdrich/the-birchbark-house">Birchbark Books</a></td></tr>
</tbody></table>
<br />
When I picked them up (starting with <i>Little House in the Big Woods</i>) again a few decades later to share with my children, I largely found them to be as enjoyable as I recalled. However, when we reached <i>Little House on the Prairie</i> I was startled by the racism Wilder expresses so clearly toward the Native Americans her family encountered.<br />
<br />
<div style="text-align: center;">
<i>Jack hated Indians, and Ma said she didn’t blame him. She said, “I declare, Indians are getting so thick around here that I can’t look up without seeing one.”</i></div>
<div style="text-align: center;">
<i><br /></i></div>
<div style="text-align: center;">
<i>Laura Ingalls Wilder. Little House on the Prairie (p. 214). Kindle Edition. </i></div>
<br />
Reading aloud to my kids, I addressed this by doing some on-the-fly editing and by encouraging my sons to reflect on the Native Americans' perspective (random white people showing up in their land). However, after we finished 'Little House I decided we needed to try something different.<br />
<br />
Googling for alternatives, I came across <i>The Birchbark House</i> by Minnesota author Louise Erdrich. Set in approximately the same time and location as 'Little House, <i>The Birchbark House</i> (and its sequels) meet the standard Wilder set for episodic, child-friendly adventure and provide a fictional Native American (Ojibwa, specifically) point of view on the westward movement of white families.<br />
<br />
<div style="text-align: center;">
<i>The ogimaa or the president of all of the chimookomanag had sent a message to the leaders of the Ojibwe. That message was simple. They must leave their homes. The ogimaa said that the government now owned the ground they lived on. It was needed for white settlers. He had issued a removal order. He had decided that land payments would be given out in a new place in the west.</i></div>
<div style="text-align: center;">
<i><br /></i></div>
<div style="text-align: center;">
<i>Erdrich, Louise. The Game of Silence (Birchbark House) (p. 23). HarperCollins. Kindle Edition. </i></div>
<br />
Its protagonist, a girl named Omakayas, is of an age with Laura and experiences many similar struggles (e.g., relationships with siblings and parents, rough winters, etc). However, Erdrich addresses the affects of smallpox head on, which is far rougher territory than Wilder ever touches. It was an apt discussion, allowing me to describe the differences and similarities between smallpox and COVID-19.<br />
<br />
I highly recommend <a href="https://birchbarkbooks.com/louise-erdrich/the-birchbark-house">The Birchbark House</a>.Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-8471151340081527742020-06-14T08:39:00.000-07:002020-07-18T12:03:30.342-07:00Board Book Self Publishing FAQI've had a handful of people reach out to me asking for advice on self publishing a board book. I do not claim to be an expert on the subject, but here are my answers to come of the common questions.<br />
<br />
<b>Q: Should I Make a Board Book? </b><br />
<br />
I would not expect to make a profit by self-publishing unless you have an established audience or a strong niche connection. It is very hard to get large retailers to carry self-published books, and self-published books are difficult to market. I have written and self-published four books and only Goodnight Server Room made money.<br />
<br />
If you are not confident you can hit the sales needed to cover the cost of board book printing, consider using print on demand services (e.g., Lulu, CreateSpace) as an alternative. They can't do <i>board books</i> at a sustainable margin, but if you don't expect more than 500 sales, using them to print <i>paperback books</i> is likely the only viable path for self-publishing.<br />
<br />
<b>Q: If you did your project again, would you still do a board book?</b><br />
<br />
Yes! I would absolutely make it a board book again; I think kids in the 2-3 age range engage better with books with which they can freely interact.<br />
<br />
<b>Q: Did KickStarter work as you hoped?</b><br />
<br />
Yes. The things that helped me most were 1) I was speaking to a niche audience and 2) I was filling a space that had few other offerings. KickStarter didn't cover all the manufacturing costs, but it covered a good chunk of them. KickStarter's funding model (only funding your project if you hit your goal) also works well because backers get a safety net on their commitment.<br />
<br />
When you do your KickStarter, make *sure* you have catchy, polished artwork.<br />
<br />
<b>Q: Are you satisfied with the books you ordered from China?</b><br />
<b><br /></b>
Yes. The quality is indistinguishable from American-printed books.<br />
<br />
<b>Q: Do you sell more books on Amazon or Etsy? </b><br />
<br />
I sell more on Amazon, but the profit margin is better on Etsy, because Etsy takes a <b>much</b> smaller cut of each sale.<br />
<br />
<b>Q: Any guidance you have for me on sales goals (how many books you sold in your first year..)</b><br />
<br />
For Goodnight Server Room, I sold approximately 700 books in the first year and about 500 books over the following two years. If I recall correctly, I broke even about 16 months after starting the project.<br />
<br />
For my other book projects, I have not broken even (my other projects haven't found a niche audience, as mentioned above).<br />
<br />
<b>Q: Assuming you're storing the books yourself before distribution: could you estimate the volume of 2,000 freshly printed board books?</b><br />
<br />
I received ~20 boxes of 96 books each for a total volume of approximately half a cubic meter. The total weight was about 300Kg.<br />
<br />
<b>Q: Can you share any insights on what percentage of your orders came from outside the US?</b><br />
<br />
Approximately 5% of the KickStarter orders were from outside of the U.S., primarily from Canada and Europe. Most of the subsequent orders have been from the U.S., though I got a burst of international orders when @SwiftOnSecurity tweeted about it.<br />
<br />
<b>Q: Do I need an ISBN and a barcode?</b><br />
<br />
International Standard Book Number (ISBN) is a unique identifier for your book. In my experience, most retailers require both an ISBN and a barcode to sell a book. For <i>Goodnight Server Room</i> I purchased both through <a href="http://www.bowker.com/">Bowker</a>.Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-79366281795569123322020-04-04T08:03:00.000-07:002020-04-04T08:03:58.154-07:00LEGO Competition Finale Winners!We have a bunch of winners this week! You can see all of their submissions <a href="https://docs.google.com/presentation/d/17dXlBh-e1yeIUaEH6MrHrbGmnKp4v5p2gp5kdOK2BbE/edit?usp=sharing">here</a>.<br />
<br />
<h3>
Age 0-5: Pepper</h3>
<a href="https://1.bp.blogspot.com/-uL_uGGkrC0k/XoiWP-u4K1I/AAAAAAAB-B8/0s6m9P-SsPM64G3ezrSHAexomdWfK81cQCLcBGAsYHQ/s1600/Screen%2BShot%2B2020-04-04%2Bat%2B9.13.31%2BAM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="461" data-original-width="808" height="363" src="https://1.bp.blogspot.com/-uL_uGGkrC0k/XoiWP-u4K1I/AAAAAAAB-B8/0s6m9P-SsPM64G3ezrSHAexomdWfK81cQCLcBGAsYHQ/s640/Screen%2BShot%2B2020-04-04%2Bat%2B9.13.31%2BAM.png" width="640" /></a><br />
Pepper has a knack for out of the box storytelling that shows though in this wonderfully absurd piece.<br />
<br />
<h3>
Age 6-9: Elijah</h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-01lsvweHAf4/XoiW1CuB7CI/AAAAAAAB-CE/AH5QOtulb_sf8CKz5LmpXUnVSSmT5D_5wCLcBGAsYHQ/s1600/Screen%2BShot%2B2020-04-04%2Bat%2B9.16.01%2BAM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="469" data-original-width="833" height="360" src="https://1.bp.blogspot.com/-01lsvweHAf4/XoiW1CuB7CI/AAAAAAAB-CE/AH5QOtulb_sf8CKz5LmpXUnVSSmT5D_5wCLcBGAsYHQ/s640/Screen%2BShot%2B2020-04-04%2Bat%2B9.16.01%2BAM.png" width="640" /></a></div>
<br />
<br />
Elijah was one of our most consistent designers, regularly delivering ambitious, clever creations.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-zu1ZIcrSxGM/XoiayZSjKQI/AAAAAAAB-C4/jZ4s-gMvIuQVgNvLOikJAiH2Ew7NUlk2QCLcBGAsYHQ/s1600/Screen%2BShot%2B2020-04-04%2Bat%2B9.33.28%2BAM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="465" data-original-width="806" height="368" src="https://1.bp.blogspot.com/-zu1ZIcrSxGM/XoiayZSjKQI/AAAAAAAB-C4/jZ4s-gMvIuQVgNvLOikJAiH2Ew7NUlk2QCLcBGAsYHQ/s640/Screen%2BShot%2B2020-04-04%2Bat%2B9.33.28%2BAM.png" width="640" /></a></div>
<br />
<br />
Elijah also had the top score of all of this week's designers.<br />
<br />
<br />
<h3>
Age 10-18: Eliza and James</h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-efZdk5rhNpg/XoiXyIFYQJI/AAAAAAAB-CQ/MAf9TTWPMZUXCt1Hs0B5Bw7oqMavdReiACLcBGAsYHQ/s1600/Screen%2BShot%2B2020-04-04%2Bat%2B9.19.53%2BAM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="467" data-original-width="795" height="374" src="https://1.bp.blogspot.com/-efZdk5rhNpg/XoiXyIFYQJI/AAAAAAAB-CQ/MAf9TTWPMZUXCt1Hs0B5Bw7oqMavdReiACLcBGAsYHQ/s640/Screen%2BShot%2B2020-04-04%2Bat%2B9.19.53%2BAM.png" width="640" /></a></div>
<br />
<br />
The team of Eliza and James have delivered imaginative and reflective concepts, such as Eliza's gymnast self portrait.<br />
<br />
<h3>
Creativity - Crank it up to 11: Wes (7)</h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-jfe7IcYICdM/XoiYUkKs6YI/AAAAAAAB-CY/nnN1NEVyRms1tlW9pC01xXhrg6SauZV4wCLcBGAsYHQ/s1600/Screen%2BShot%2B2020-04-04%2Bat%2B9.23.03%2BAM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="451" data-original-width="844" height="340" src="https://1.bp.blogspot.com/-jfe7IcYICdM/XoiYUkKs6YI/AAAAAAAB-CY/nnN1NEVyRms1tlW9pC01xXhrg6SauZV4wCLcBGAsYHQ/s640/Screen%2BShot%2B2020-04-04%2Bat%2B9.23.03%2BAM.png" width="640" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Wes created a beautifully abstract seaside sunset that captured the imaginations of adults and kids alike. </div>
<br />
<br />
<h3>
Style - Crank it up to 11: Linnea (11)</h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-8Y4URbOxgBY/XoiZIM01WnI/AAAAAAAB-Ck/KsW5OpM6If4el9jjny58x57Lc03BulIxQCLcBGAsYHQ/s1600/Screen%2BShot%2B2020-04-04%2Bat%2B9.26.04%2BAM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="476" data-original-width="774" height="392" src="https://1.bp.blogspot.com/-8Y4URbOxgBY/XoiZIM01WnI/AAAAAAAB-Ck/KsW5OpM6If4el9jjny58x57Lc03BulIxQCLcBGAsYHQ/s640/Screen%2BShot%2B2020-04-04%2Bat%2B9.26.04%2BAM.png" width="640" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
After a few days of woodland exploration scenes, Linnea changed it up (and turned it up!) with this hugely ambitious rock climbing adventure featuring a crew of climbers and a detailed rock wall. </div>
<br />
<h3>
Story - Crank it up to 11: Thomas and Henry</h3>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-k5XxsG3of_A/XoiaLojVSCI/AAAAAAAB-Cs/XdX4VeLRBPYEuBISlbNafcB8GlPcdkpsQCLcBGAsYHQ/s1600/Screen%2BShot%2B2020-04-04%2Bat%2B9.30.25%2BAM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="464" data-original-width="852" height="348" src="https://1.bp.blogspot.com/-k5XxsG3of_A/XoiaLojVSCI/AAAAAAAB-Cs/XdX4VeLRBPYEuBISlbNafcB8GlPcdkpsQCLcBGAsYHQ/s640/Screen%2BShot%2B2020-04-04%2Bat%2B9.30.25%2BAM.png" width="640" /></a></div>
<br />
<br />
Thomas and Henry told a classic story of a land lost and reclaimed.<br />
<br />
<h3>
Story - Crank it up to 11: Brooke</h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-OgJ3xp9vY5I/XoiakbRZBNI/AAAAAAAB-C0/kE8eZN97MesJ6hZF-r6cVE1vsIkWvY1dgCLcBGAsYHQ/s1600/Screen%2BShot%2B2020-04-04%2Bat%2B9.32.19%2BAM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="468" data-original-width="851" height="350" src="https://1.bp.blogspot.com/-OgJ3xp9vY5I/XoiakbRZBNI/AAAAAAAB-C0/kE8eZN97MesJ6hZF-r6cVE1vsIkWvY1dgCLcBGAsYHQ/s640/Screen%2BShot%2B2020-04-04%2Bat%2B9.32.19%2BAM.png" width="640" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Brooke's story made us laugh more than any other. </div>
<br />
<h3>
Most Consistent: Levi</h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-E1TnDZ3BQv0/XoihHaqSY_I/AAAAAAAB-Dc/0UDaAxX2IkcBnxeQiBZaHq0yYsygBrgzwCLcBGAsYHQ/s1600/Screen%2BShot%2B2020-04-04%2Bat%2B9.59.04%2BAM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="376" data-original-width="335" height="320" src="https://1.bp.blogspot.com/-E1TnDZ3BQv0/XoihHaqSY_I/AAAAAAAB-Dc/0UDaAxX2IkcBnxeQiBZaHq0yYsygBrgzwCLcBGAsYHQ/s320/Screen%2BShot%2B2020-04-04%2Bat%2B9.59.04%2BAM.png" width="285" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-AqLUrF8uWy0/XoihK3OIK8I/AAAAAAAB-Dg/GDGFwtssyng5tdUSJem5DM444kZ_A6yuACLcBGAsYHQ/s1600/Screen%2BShot%2B2020-04-04%2Bat%2B10.00.24%2BAM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="451" data-original-width="650" height="444" src="https://1.bp.blogspot.com/-AqLUrF8uWy0/XoihK3OIK8I/AAAAAAAB-Dg/GDGFwtssyng5tdUSJem5DM444kZ_A6yuACLcBGAsYHQ/s640/Screen%2BShot%2B2020-04-04%2Bat%2B10.00.24%2BAM.png" width="640" /></a></div>
<br />
<br />
Levi was the only designer to participate every single day of the competition! Levi's designs featured tons of superheroes in inventive, surprising situations. Levi's total score for the week: 283.5.<br />
<br />
<br />
<br />
<br />Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-84626150186783261432020-04-02T19:05:00.001-07:002020-04-02T19:05:40.421-07:00LEGO Contest: Final Day!<div style="background-color: white; color: #1d2129; font-family: system-ui, -apple-system, system-ui, ".SFNSText-Regular", sans-serif; font-size: 14px; margin-bottom: 6px;">
LEGO Contest Announcement: Extra prizes tomorrow only!</div>
<div style="background-color: white; color: #1d2129; font-family: system-ui, -apple-system, system-ui, ".SFNSText-Regular", sans-serif; font-size: 14px; margin-bottom: 6px; margin-top: 6px;">
If you've been out of the contest for a while, this is your chance to jump back in!</div>
<div style="background-color: white; color: #1d2129; font-family: system-ui, -apple-system, system-ui, ".SFNSText-Regular", sans-serif; font-size: 14px; margin-bottom: 6px; margin-top: 6px;">
Tomorrow is the final day of the competition. In addition to this week's regular three winners, we will also be awarding single-day winners for the most creative, best style, and greatest story entry!</div>
<div style="background-color: white; color: #1d2129; display: inline; font-family: system-ui, -apple-system, system-ui, ".SFNSText-Regular", sans-serif; font-size: 14px; margin-top: 6px;">
The theme for tomorrow is: Over the Top</div>
<div>
<div style="background-color: white; color: #1d2129; display: inline; font-family: system-ui, -apple-system, system-ui, ".SFNSText-Regular", sans-serif; font-size: 14px; margin-top: 6px;">
<br /></div>
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-QdKjG3KcIYM/XoaZzeJGaHI/AAAAAAAB990/6QqGFSs_P_QF50a0zm5reIB0nZKdXHlJgCLcBGAsYHQ/s1600/Screen%2BShot%2B2020-04-02%2Bat%2B8.01.13%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="403" data-original-width="773" height="332" src="https://1.bp.blogspot.com/-QdKjG3KcIYM/XoaZzeJGaHI/AAAAAAAB990/6QqGFSs_P_QF50a0zm5reIB0nZKdXHlJgCLcBGAsYHQ/s640/Screen%2BShot%2B2020-04-02%2Bat%2B8.01.13%2BPM.png" width="640" /></a></div>
<div>
<div style="background-color: white; color: #1d2129; display: inline; font-family: system-ui, -apple-system, system-ui, ".SFNSText-Regular", sans-serif; font-size: 14px; margin-top: 6px;">
<br /></div>
</div>
<div>
<div style="background-color: white; color: #1d2129; display: inline; font-family: system-ui, -apple-system, system-ui, ".SFNSText-Regular", sans-serif; font-size: 14px; margin-top: 6px;">
<span style="background-color: #f2f3f5; color: #1c1e21; font-size: 13px;">We normally judge each entry on a scale of 1-10, but tomorrow the best entry in each of the judging criteria will receive the vaulted score of 11.</span></div>
</div>
Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-37560794280780312822020-04-02T08:50:00.000-07:002020-04-02T08:50:03.171-07:00LEGO Challenge Week 3 Day 4Today's theme is: Lost<br />
<br />
Tomorrow (April 3rd) will be the final day of the competition. We'll do something special to make it a dramatic finale, stay tuned!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-CRbEP5gaYc0/XoYJKPkBu7I/AAAAAAAB99Q/pIYtCixURdgAqr2GH14uTfp031b-XhjoACLcBGAsYHQ/s1600/Screen%2BShot%2B2020-04-01%2Bat%2B7.39.00%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="397" data-original-width="802" height="316" src="https://1.bp.blogspot.com/-CRbEP5gaYc0/XoYJKPkBu7I/AAAAAAAB99Q/pIYtCixURdgAqr2GH14uTfp031b-XhjoACLcBGAsYHQ/s640/Screen%2BShot%2B2020-04-01%2Bat%2B7.39.00%2BPM.png" width="640" /></a></div>
<br />Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-26442562983827190422020-04-01T05:44:00.003-07:002020-04-01T05:44:55.207-07:00LEGO Challenge Week 3 Day 3Today's theme is: Fooled You!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-6EVasx1tWw4/XoSMpBnt62I/AAAAAAAB978/fMWtR9D5rgg-NZgk4hStKacLnV4uhwOWACLcBGAsYHQ/s1600/Screen%2BShot%2B2020-03-31%2Bat%2B6.51.12%2BPM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="371" data-original-width="712" height="331" src="https://1.bp.blogspot.com/-6EVasx1tWw4/XoSMpBnt62I/AAAAAAAB978/fMWtR9D5rgg-NZgk4hStKacLnV4uhwOWACLcBGAsYHQ/s640/Screen%2BShot%2B2020-03-31%2Bat%2B6.51.12%2BPM.png" width="640" /></a></div>
<br />Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-21641253752837684862020-03-30T18:38:00.001-07:002020-03-30T18:38:12.025-07:00Week 3 Day 2Tomorrow's theme is: Self Portrait!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-lZTM_QKLGMM/XoKe7Uvb_vI/AAAAAAAB9z8/ihmSaXelsN0mkHrB38yQDzvRxvloqijGACLcBGAsYHQ/s1600/Screen%2BShot%2B2020-03-30%2Bat%2B8.35.23%2BPM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="422" data-original-width="802" height="336" src="https://1.bp.blogspot.com/-lZTM_QKLGMM/XoKe7Uvb_vI/AAAAAAAB9z8/ihmSaXelsN0mkHrB38yQDzvRxvloqijGACLcBGAsYHQ/s640/Screen%2BShot%2B2020-03-30%2Bat%2B8.35.23%2BPM.png" width="640" /></a></div>
<br />
<br />
<br />
<br />Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-78810454851022556992020-03-28T09:35:00.000-07:002020-03-28T09:37:18.229-07:00Week Two Winners!We had a ton of phenomenal entries this week! The winners are selected from each age group by summing the total of their top three scores. (Side note, Google sheets has a function called <a href="https://support.google.com/docs/answer/3094008?hl=en">LARGE</a> that is super helpful for this). You can review the <a href="https://www.smithdtyler.com/p/virtual-lego-building-competit.html">full rules here</a>.<br />
<br />
<h3>
0-5 Winner: Isaiah</h3>
Isaiah submitted lots of action packed scenes with tons of details, such as Tuesday's Ninja Attack! Total score: 71.5<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://1.bp.blogspot.com/-HCxE0_6gByw/Xn96EbGm1uI/AAAAAAAB9U0/lYmj1Vdmu0E1MIbtVTWkPNclZ7gqzvaAACLcBGAsYHQ/s1600/Screen%2BShot%2B2020-03-28%2Bat%2B11.23.20%2BAM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="376" data-original-width="750" height="320" src="https://1.bp.blogspot.com/-HCxE0_6gByw/Xn96EbGm1uI/AAAAAAAB9U0/lYmj1Vdmu0E1MIbtVTWkPNclZ7gqzvaAACLcBGAsYHQ/s640/Screen%2BShot%2B2020-03-28%2Bat%2B11.23.20%2BAM.png" width="640" /></a></div>
<br />
<br />
<br />
<h3>
6-9 Winner: Nelson</h3>
<br />
Nelson large minifig-scale builds builds with lots of story details that made me smile. My biggest grin of the week came when I realized this crane was holding a teddy bear. Total score: 87<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-f-qKf25tXUE/Xn97Wi3PieI/AAAAAAAB9VA/b6C-PSq-Yp4E7gZpiGEYLzaO46XPl0FQQCLcBGAsYHQ/s1600/Screen%2BShot%2B2020-03-28%2Bat%2B11.28.45%2BAM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="381" data-original-width="787" height="308" src="https://1.bp.blogspot.com/-f-qKf25tXUE/Xn97Wi3PieI/AAAAAAAB9VA/b6C-PSq-Yp4E7gZpiGEYLzaO46XPl0FQQCLcBGAsYHQ/s640/Screen%2BShot%2B2020-03-28%2Bat%2B11.28.45%2BAM.png" width="640" /></a></div>
<br />
<br />
<h3>
10-18 Winner: Anders</h3>
Anders consistently turned in polished, LEGO-official caliber designs, such as Tuesday's Green Building. Total score: 80.5<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-auPBZVnh2f8/Xn972OCDRpI/AAAAAAAB9VI/hoKtoH83xPsFD3moAj5EwrI3XwCe1UkuACLcBGAsYHQ/s1600/Screen%2BShot%2B2020-03-28%2Bat%2B11.30.57%2BAM.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="381" data-original-width="802" height="304" src="https://1.bp.blogspot.com/-auPBZVnh2f8/Xn972OCDRpI/AAAAAAAB9VI/hoKtoH83xPsFD3moAj5EwrI3XwCe1UkuACLcBGAsYHQ/s640/Screen%2BShot%2B2020-03-28%2Bat%2B11.30.57%2BAM.png" width="640" /></a></div>
<br />
<br />
<a href="https://docs.google.com/presentation/d/1vWSHyYQvJigtc2wbQrmGMwaqMgF_J5zN5_AUqjD_UfY/edit?usp=sharing">You can see all of this week's entries here</a>.<br />
<br />
Next week starts on Monday with theme: Inside Out<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-8afquudc-m4/Xn98WfLtpbI/AAAAAAAB9VQ/HiQSg-WIA1QINeIXj9t2O2-1Mz4dslFdACLcBGAsYHQ/s1600/Screen%2BShot%2B2020-03-28%2Bat%2B11.32.37%2BAM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="350" data-original-width="707" height="197" src="https://1.bp.blogspot.com/-8afquudc-m4/Xn98WfLtpbI/AAAAAAAB9VQ/HiQSg-WIA1QINeIXj9t2O2-1Mz4dslFdACLcBGAsYHQ/s400/Screen%2BShot%2B2020-03-28%2Bat%2B11.32.37%2BAM.png" width="400" /></a></div>
<br />Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-30604300671364173472020-03-26T19:42:00.001-07:002020-03-26T19:42:23.387-07:00LEGO Competition Week 2 Day 5First of, as with all of you, my situation is evolving as events unfold. The contest continues, but I've realized I don't have the bandwidth to continue scheduled live judging.<br />
<br />
I will continue to post daily topics, judge submissions, and award prizes through the end of next week (April 3rd). I'll post reactions sporadically, I know the kids like hearing what I think :)<br />
<br />
Also, tomorrow's theme is: Upside down!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-xmDhFZpwomI/Xn1nrxnQRXI/AAAAAAAB9N4/cO3E5UfkhIkSJT4_BbE5ajJqXS1dRtarACLcBGAsYHQ/s1600/Screen%2BShot%2B2020-03-26%2Bat%2B9.40.34%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="407" data-original-width="778" height="208" src="https://1.bp.blogspot.com/-xmDhFZpwomI/Xn1nrxnQRXI/AAAAAAAB9N4/cO3E5UfkhIkSJT4_BbE5ajJqXS1dRtarACLcBGAsYHQ/s400/Screen%2BShot%2B2020-03-26%2Bat%2B9.40.34%2BPM.png" width="400" /></a></div>
Here's one of my favorites from today's theme, Adventure is out there!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-HNxcci4O2tk/Xn1n_t21zKI/AAAAAAAB9OA/fsDrE1w7V4wpE1_gQjzQW3P_EYruKMsWQCLcBGAsYHQ/s1600/Screen%2BShot%2B2020-03-26%2Bat%2B9.41.53%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="453" data-original-width="854" height="211" src="https://1.bp.blogspot.com/-HNxcci4O2tk/Xn1n_t21zKI/AAAAAAAB9OA/fsDrE1w7V4wpE1_gQjzQW3P_EYruKMsWQCLcBGAsYHQ/s400/Screen%2BShot%2B2020-03-26%2Bat%2B9.41.53%2BPM.png" width="400" /></a></div>
<br />Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-28584231711417647902020-03-25T19:30:00.001-07:002020-03-25T19:30:09.066-07:00LEGO Competition Week 2 Day 4<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-7zvrE_Q6ito/XnwTTG3uB7I/AAAAAAAB9KQ/bUAgxI6vT0QkMbeOCmwnwLxkBcMhOF22ACLcBGAsYHQ/s1600/Screen%2BShot%2B2020-03-25%2Bat%2B9.27.59%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="434" data-original-width="860" height="322" src="https://1.bp.blogspot.com/-7zvrE_Q6ito/XnwTTG3uB7I/AAAAAAAB9KQ/bUAgxI6vT0QkMbeOCmwnwLxkBcMhOF22ACLcBGAsYHQ/s640/Screen%2BShot%2B2020-03-25%2Bat%2B9.27.59%2BPM.png" width="640" /></a></div>
<br />
<br />
I ended up doing a late judging session today because the submissions were just too good! Here's one of my favorites, can you guess the book?<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-M_lSia4Kbww/XnwTk5fD-UI/AAAAAAAB9KY/zHp_zCqDp28UBtECr2lNPGUvmK4f8MsvACLcBGAsYHQ/s1600/Screen%2BShot%2B2020-03-25%2Bat%2B9.29.03%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="468" data-original-width="419" height="320" src="https://1.bp.blogspot.com/-M_lSia4Kbww/XnwTk5fD-UI/AAAAAAAB9KY/zHp_zCqDp28UBtECr2lNPGUvmK4f8MsvACLcBGAsYHQ/s320/Screen%2BShot%2B2020-03-25%2Bat%2B9.29.03%2BPM.png" width="286" /></a></div>
<br />Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-54507332654703594192020-03-24T17:58:00.001-07:002020-03-24T17:58:01.970-07:00LEGO Competition Week 2 Day 3Wednesday's theme is: Scene from a Book!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-HdFWksCiDaY/XnqsUEq_I8I/AAAAAAAB9J8/KiNF9w-9UFEC5Su5p1st6k7SanndpzqhwCLcBGAsYHQ/s1600/Screen%2BShot%2B2020-03-24%2Bat%2B7.55.19%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="381" data-original-width="789" height="192" src="https://1.bp.blogspot.com/-HdFWksCiDaY/XnqsUEq_I8I/AAAAAAAB9J8/KiNF9w-9UFEC5Su5p1st6k7SanndpzqhwCLcBGAsYHQ/s400/Screen%2BShot%2B2020-03-24%2Bat%2B7.55.19%2BPM.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
No live judging on Wednesday, but I'll be back on Thursday!</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Here's a gorgeous entry from today's theme: green building. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-OMYKb55-AJ0/XnqsjDmxn2I/AAAAAAAB9KA/RGDKOnqUX2Q7ju1XFPfZcf_2xSdTG_a3ACLcBGAsYHQ/s1600/Screen%2BShot%2B2020-03-24%2Bat%2B7.57.29%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="453" data-original-width="828" height="218" src="https://1.bp.blogspot.com/-OMYKb55-AJ0/XnqsjDmxn2I/AAAAAAAB9KA/RGDKOnqUX2Q7ju1XFPfZcf_2xSdTG_a3ACLcBGAsYHQ/s400/Screen%2BShot%2B2020-03-24%2Bat%2B7.57.29%2BPM.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-25700332131283900842020-03-23T19:21:00.002-07:002020-03-23T19:21:19.003-07:00LEGO Competition Week 2 Day 2<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-Q-7a0cyyg5M/XnluHkxZ93I/AAAAAAAB9Ig/mgQsDAWHVgY8ExULQWIOvdAOmzw7ohGkgCLcBGAsYHQ/s1600/Screen%2BShot%2B2020-03-23%2Bat%2B9.16.18%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="406" data-original-width="741" height="218" src="https://1.bp.blogspot.com/-Q-7a0cyyg5M/XnluHkxZ93I/AAAAAAAB9Ig/mgQsDAWHVgY8ExULQWIOvdAOmzw7ohGkgCLcBGAsYHQ/s400/Screen%2BShot%2B2020-03-23%2Bat%2B9.16.18%2BPM.png" width="400" /></a></div>
<br />
Tomorrow's theme is green building!<br />
<br />
Here are today's top two builds on the theme of Tower!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-ypVCz_JKp6Q/XnluT1WFgeI/AAAAAAAB9Ik/HEMshztiXHMdPAVttqUV7UPWt7-3SMHpACLcBGAsYHQ/s1600/Screen%2BShot%2B2020-03-23%2Bat%2B9.15.46%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="453" data-original-width="728" height="248" src="https://1.bp.blogspot.com/-ypVCz_JKp6Q/XnluT1WFgeI/AAAAAAAB9Ik/HEMshztiXHMdPAVttqUV7UPWt7-3SMHpACLcBGAsYHQ/s400/Screen%2BShot%2B2020-03-23%2Bat%2B9.15.46%2BPM.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-vCvBhcCCFnw/XnluicvcioI/AAAAAAAB9Iw/eSBu0vHbaFYQKxY4OPtAgpO5xm_9LXQ5ACLcBGAsYHQ/s1600/Screen%2BShot%2B2020-03-23%2Bat%2B9.16.07%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="463" data-original-width="623" height="296" src="https://1.bp.blogspot.com/-vCvBhcCCFnw/XnluicvcioI/AAAAAAAB9Iw/eSBu0vHbaFYQKxY4OPtAgpO5xm_9LXQ5ACLcBGAsYHQ/s400/Screen%2BShot%2B2020-03-23%2Bat%2B9.16.07%2BPM.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0tag:blogger.com,1999:blog-6045604174914118425.post-66613331014462437062020-03-23T10:00:00.000-07:002020-03-23T10:00:37.046-07:00LEGO Competition Week TwoHey everybody! Sorry for the late post, today's theme is: Tower<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-Zy1aD6QXqhY/Xnjq5PXuSNI/AAAAAAAB9IU/JX1a5wNTeAsdK8HdyCSHhlSca1cBvMQ0ACLcBGAsYHQ/s1600/Screen%2BShot%2B2020-03-21%2Bat%2B3.49.07%2BPM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="373" data-original-width="708" height="336" src="https://1.bp.blogspot.com/-Zy1aD6QXqhY/Xnjq5PXuSNI/AAAAAAAB9IU/JX1a5wNTeAsdK8HdyCSHhlSca1cBvMQ0ACLcBGAsYHQ/s640/Screen%2BShot%2B2020-03-21%2Bat%2B3.49.07%2BPM.png" width="640" /></a></div>
You can join the meeting using this <a href="https://zoom.us/j/701785105">link</a>.<br />
<br />
See you at 4:30!Tyler D. Smithhttp://www.blogger.com/profile/01915596429917695930noreply@blogger.com0