Task Tracker Box

Jun 23, 2024 |  Author: Nic La |  Tags:  project   code   3D print   microcontroller   box  

Yes, it looks like a bomb. No, it's not a bomb. You know that satisfying feeling you get when you checkoff completed tasks in your task tracker. The Task Tracker Box gives you the physical satisfaction of checking off those same tasks using heavy duty toggle switches. Flipping those heavy duty toggle switches feels like you destroyed your tasks with TNT...still not a bomb.

WARNING: Don't walk into an airport with this.

Requisitioned by a friend, the Task Tracker Box fires off webhooks to close out your tasks. This post only describes the box side (sending webhooks). The task tracker side (receiving webhooks) is for another day.

Step 1: Materials + Tools



Step 2: 3D Print Parts

Download the enclosure CAD files from Thingiverse. Print using your preferred 3d printer. I used a Prusa MK3S+. Recommended printer settings in the link.

Once the parts are finished printing, do whatever post processing you believe is necessary. Remove supports, sand rough edges, etc. There shouldn't be much. Use a soldering iron to insert the threaded inserts in the enclosure base (Part_1_v1.2.stl). The Pico mount gets x4 of the M2 H4. The enclosure lid mount gets x6 of the M3 H10.

Threaded Inserts

Step 3: Program

While the enclosure is printing, follow Installing CircuitPython to setup the Pico with the latest CircuitPython. You will need two libraries: adafruit_connection_manager.mpy and adafruit_requests.mpy. They can be found in the Library Bundle. Add these two library files to the lib folder on the Pico's CIRCUITPY drive.

Download the project code from GitHub. Follow the README.md instructions to configure your settings.toml with your wifi and webhook settings. If you don't have a webhook server setup already, I suggest visiting Webhook.site for a unique webhook URL. Replace your_webhook_send_url with your unique webhook URL. Copy the code.py and settings.toml to your CIRCUITPY drive.

Webhook Site

Step 3: Assemble

Enclosure printed and Pico programmed, throw it all together. Start by installing the toggle switches and LEDs in the enclosure cover (Part_2_v1.0.stl). I recommend using hot glue to hold the LED in the Bevel LED Holder.

Enclosure Cover

Solder the socket headers to the Pico. I used socket headers for convenience but a more secure option is recommended. Solder a 1 kOhm resistor to pin 2 (red) of each LED. The resistor is needed to limit the current to the LED. Reference the LED Datasheet to identify which pin is 2. Even though we only need red, I used RGB LEDs for future expansion. Mount the Pico and USB panel mount in the enclosure base. Connect a USB A to USB Micro B cable from the USB panel mount to your Pico. I commandeered a perfectly sized cable from another device.

Pico and Cable

Wire the cover to the base. Position the enclosure cover and base next to each other according to the below picture. Wire according to the below schematic. Use the crimper to crimp the lugs that came with the toggle switches. Apply heat shrink where necessary.

Cover and Base


Wired Up

Step 5: Enjoy

Use the USB C to USB Micro B cable to power your Task Tracker Box. I found using a USB A to USB Micro B to reprogram the Task Tracker Box, my laptop USB A port struggled. Didn't have a problem with USB C.

When first powering on, give the box a few seconds to connect to the network. You should see all five LEDs illuminated. Toggling a switch from OFF to ON, toggles the LED and sends a webhook with the status of all switches to your unique webhook URL.

Powered On

Leave a comment: