Build a DIY, Alexa Enabled, Home School, Online Learning Tracker

April 8, 2020

Today on the hookup I’m going to show you how to make this amazon echo enabled home school timer.  Not only will it help kids stay on track during this strange time, but it is a fun project to do with them to pass a little time and maybe get them more interested in electronics.

My daughter is in first grade and transitioning her to online learning as my wife and I transition to online teaching has been a little rough for everyone.  I designed this timer to help her visualize her school day, and motivate her to “fill up the dots” each day.  At the beginning of each school day, the lights are off and throughout the school day all she has to say is “Alexa, start reading”, or “Alexa, start math” and it will start the appropriate length countdown timer using LEDs for that particular subject.  Once the countdown reaches zero it activates the 2 lights corresponding to that subject. By the end of the day, the goal is to have all the lights turned on, and that’s when she’ll know that her school work is complete.

I’ve made this project as user friendly as possible, so even though I’ve posted the source code for anyone to use and modify, you won’t need any coding knowledge or previous electronics experience to get up and running, so it’s a perfect first project to get into the DIY internet of things.

To make this project I used a NodeMCU microcontroller, a WS2812B addressable LED strip, Male to female jumper wires, some scrap wood, masking tape, and hot glue.  I’ve got Amazon links down in the description for the exact parts I used, which will cost around $28, but actually gets enough stuff to make 3 of these devices so you want to make one for each of your kids, or gift a set of parts to a friend.  For tools, I used a drill, a 3/8” drillbit, a hot glue gun and a saw.

Lets get started.  I made the stand out of some scrap pine 1×2 that I had in the garage, but almost any scrap wood will work as long as it’s at least 8 inches long.  You’ll drill 10 3/8 inch holes, 5/8 of an inch apart on center.  If you’d rather, you can just eyeball this measurement by laying out your LED strip on the front of your wood block and marking in between the solder pad feet of the LEDs. The trick to drilling well aligned holes is to start with a small drillbit and make sure it is in the exact right location, then use that as a pilot hole for your larger drill bit.  You should make a point to keep your drill as level as possible so that the holes go straight through.  If you have clamps available, drilling through your board into another piece of scrap wood will help prevent tear out on the back of the hole.

The next step is to program the microcontroller, to do this you’ll need to download 2 files from the links in the description: classTimer.bin and nodeMCU pyFlasher.exe.  Plug your nodemcu into your computer and start nodeMCU pyflasher.  Select QIO for the flash mode, yes, to erase all flash memory, and then click browse to locate the classTimer.bin file.  Autoselect usually works very well to find your NodeMCU’s com port, assuming you don’t have any other microcontrollers plugged into your computer via USB.  Last just press “Flash NodeMCU”

Assuming everything goes well, you’ll see a bunch of things pop up in the console ending with a message that says “Firmware successfully flashed, Unplug/replug or reset device to switch back to normal boot mode.  But before doing that, get out one of your female to female jumper wires and connect one end to the pin marked D5 and the other end to the pin marked GND, then press the small button on the NodeMCU labeled “RST”.  This will cause the NodeMCU to enter WiFi config mode.  Where you can connect directly to it to input your wifi SSID and password.

Connect to the SSID called “School Timer Setup”, and most of the time you should be redirected to a captive portal page to enter your wifi information.  If you are using your phone you might need to turn off cellular data to access this page, and if you aren’t automatically redirected you can manually navigate to the IP address in your web browser to get to the configuration menu.  Once you are in the menu disconnect the jumper wire from D5 and GND, leaving it connected after submitting your wifi information will clear the information and you’ll need to do it all again.

On the configuration screen you’ll enter your WiFi SSID and password, and if you have multiple WiFi networks, you will need to connect it to the same network that your Amazon Echo devices are connected to.  Then, you have the option of entering custom names for each of the 5 subjects.  I recommend just calling them Subject 1 through Subject 5, because we’re going to set their real names using echo routines anyways.

Once you’ve finished, press [I DON’T KNOW WHAT THAT BUTTON IS CALLED] and then press the RST button on your NoceMCU again.

Next, lets hook up your LEDs to your NodeMCU.  Using female to male jumper wires hook up one wire from the pin labeled Vin to the red wire on your LEDs, Connect pin D2 on the NodeMCU to the middle pin on your LEDs and connect the GND pin on your NodeMCU to the white wire on your LEDs.  The LEDs come with an extra white and extra red wire for doing power injection, you don’t need to use them.

If everything has gone well so far all your LEDs should light up in groups of two, now we just need to add them to your echo app.  On your phone open up your echo app and click on devices, then add devices, then scroll all the way down to other.  After 45 seconds, a message will come back saying no new devices were found… I have no idea why this happens.  Click add devices, scroll down to other and after an additional 45 seconds it will find 5 new devices corresponding to the names that you entered on the configuration screen.

You can test out your device now.  To clear all the LEDs you will set any of your subjects to 99%.  To make sure the timer is functioning, set one of your subjects to 1%.  This should start a 1 minute countdown timer that when finished will activate the LEDs corresponding to that subject.

The rest of the configuration is done via routines, here’s an example of how I set up mine:  Go to routines, then new routine, I’ll call this one Math.  Click on When this happens, then voice, then enter your command: For me I’m going to program the command “start math”, and I want the echo to respond with the online platforms she can work on during this time so go to add action, and then alexa says . Type in your desired response and select “The device you speak to”.  Last, I want to set a 20 minute timer for the math subject, which on my timer is subject 2.  So go to Add action, smart home, lights, subject 2, then select brightness, and drag the slider to the desired number of minutes, 20 in my case.

Repeat this process to set up each of your subjects, if at any time you’d like to change the time or subject for a specific subject just edit the routine in the echo app.  If you have a subject that doesn’t necessarily have a time limit associated with it, instead of setting a brightness you can just set it to off.  For these subjects instead of saying “Alexa, start science”, I’ve configured them to say “Alexa, done with science”.

The last routine will be the one that clears the previous day’s lights.  To do this, create a new routine, but this time instead of selecting voice, select schedule.  Pick the time that you’d like the lights to reset and then hit repeat every day.  Then click on add action, smart home, lights, and pick one of your subjects, then select brightness and move the slider to 99%.

Lets put it all together.  Grab some tape and put the LED strip on the back of your wood block aligning the holes with each LED.  Next, get out your hot glue gun and pump about a quarter inch of hot glue into each hole, this will help diffuse the LED light and also hold the strip in place.  On the back, gently fold the wires over and glue them to the back of your wooden block.  Put a dab of hot glue on the metal part of your NodeMCU and glue it to the back of your wood block, I recommend doing this with the USB cable plugged in, so you know you’ll have clearance to plug it in later.

And the last step is to decorate.  On mine, the space on the front is the perfect size for two rows of masking tape, so put strip on the top, and then a strip over the LED holes.  Have your son or daughter decorate the top strip with pictures of each subject, or a design, and then peel back the bottom strip.  Since it’s masking tape you can change it as many times as you want without too much work.

If you enjoyed this project please give it a thumbs up, share it with your friends on social media, and leave a comment to let me know if it worked for you.  I’d love to see pictures of your creations if you could tweet them at me @thehookup1.

Thank you to PCBWay for sponsoring this video, They offer full featured PCB services including PCB production of all types, assembly, and PCB design services.  I’ve been using them to design plug and play versions of some of my more popular projects and I’ve been happy with both the quality and service.  New customers are eligible for $5 off their first order, which will make your first 10 Circuit boards free. Check out the link in the description.

Also thank you to my awesome patrons over at patreon for continuing to support my channel, if your interested in supporting my channel please check out the links in the description.  If you’re looking for other small projects to do with your kids, I’ve got a teacher friend who just started a youtube channel teaching science using stuff you probably have around your house… the link to that channel is down in the description as well.  If you enjoyed this video and you’d like to see more like it please consider subscribing, and as always, thanks for watching the hookup.

Parts (Amazon US):
NodeMCU Microcontroller:
 Addressible LEDS:
 Jumper Wires:
 Required Files:
NodeMCU PyFlasher:
Source Code (Github):
Get help on the Facebook Group:
Follow me on Twitter: @TheHookUp1
Check out Your Dad Academy for other fun projects to do with your kids:
Support my channel:
Music by

Related Posts