February 22, 2025 at 15:04
My kids are at the age where they not only want to help Daddy make things but also want to learn how to do it themselves. It’s really neat watching my son use Minecraft server commands as if it’s muscle memory. Their ability to learn at this age shows me there’s a real opportunity for them to learn how to make cool stuff - and maybe even teach me a few things along the way!
My son has already helped me build his custom desk from scratch. We used that opportunity to get familiar with the basics of design - how and why we measure, how to use power tools properly, how to paint without making a mess, and, of course, personal safety. He absorbed everything and practically begged me to learn and do more. So, I designed a system in which they can earn rewards and badges for passing courses my wife and I put together. I want to teach them all about 3D printing, electronics, cooking, programming, and car maintenance.
Their progress is tracked on their skills badges site. The top of the page shows the levels they’ve earned, while the bottom features a table that describes each category and lesson.
My wife had just taught them how to bake a cake from scratch - complete with making the icing from ingredients and piping it on in different styles and shapes. It was important that we include kitchen safety too. For that, they have both earned the Level 1 Cooking Badge.
When they earn a badge, I design and print it to hang on their corkboards, so they can show off to all their friends how super awesome and cool they both are!
We’re almost done with the Level 1 3D printing badge. The final step is to have them create something simple in Tinkercad. My son wants to make some drawer organizers for his bathroom. It’s a simple task of measuring and creating shapes, so it shouldn’t be long before he proudly shows off his rewards.
I recently used the Minecraft can light covers as a lesson. They learned how to import, shape, manipulate, slice, and print models. We also went over the printer and how it works. I made the Shroom Light, while they made the Sea Lantern on their own. They did an amazing job, and I’m very proud of them.
Shroom Light
Frog Light
Sea Lantern
The Minecraft lights need to be set to the right colors and adjust their brightness throughout the day. The script below uses the unofficial Kasa API to vary the L (in HSL) based on the time of day - to make sure they’re bright during the day but not overly bright at night when things are dark.
kasa_overhead.py
import asyncio
from kasa import SmartBulb
from datetime import datetime
bulbs = {
'192.168.1.4': {'name': 'Shroom', 'color': (20, 100, 50)},
'192.168.1.5': {'name': 'Frog', 'color': (280, 100, 75)},
'192.168.1.6': {'name': 'Sea', 'color': (160, 100, 50)}
}
def get_brightness(hour):
if 6 <= hour < 12:
return int((hour - 3) * 1.15)
elif 12 <= hour < 20:
return int(10 - (hour - 12) * 1.15)
else:
return 3
async def set_bulb_color(address, hue, saturation, brightness):
bulb = SmartBulb(address)
try:
await bulb.update()
await bulb.set_hsv(hue, saturation, brightness)
except Exception as e:
print(f"{bulbs[address]['name']} ({address}): {str(e)}")
async def main():
current_hour = datetime.now().hour
brightness = get_brightness(current_hour)
for address, bulb_info in bulbs.items():
hue, saturation, _ = bulb_info['color']
await set_bulb_color(address, hue, saturation, brightness)
await asyncio.sleep(15)
if __name__ == "__main__":
asyncio.run(main())