Tasker: the Wi-Fi To-Do Buddy That Talks, Blinks, and Gets Things Done
by anthonyghr in Circuits > Arduino
35 Views, 0 Favorites, 0 Comments
Tasker: the Wi-Fi To-Do Buddy That Talks, Blinks, and Gets Things Done

Do you struggle to stay on top of your to-do list? Find yourself ignoring deadlines until it’s too late? Wish your tasks could remind you instead of hiding in a silent spreadsheet?
If the answer is yes, then this is the Instructable for you.
This Instructable walks you through building Tasker, a Wi-Fi–enabled task companion powered by an ESP32. Tasker brings your task list to life with sound, lights, and real-time cloud integration. Whether you need a gentle nudge or an urgent alert, Tasker watches your schedule, tracks task completion, and interacts with you through a combination of MP3 voice prompts, a colorful NeoPixel LED strip, and motion detection.
By connecting to Google Sheets, Blynk, and Make.com, Tasker gives you full control and visibility over your workflow—automating updates, reminders, and notifications so nothing slips through the cracks. Ideal for students, remote workers, or anyone who thrives on structure with a bit of personality.
Video Demonstration: https://drive.google.com/file/d/11QrPk2G9R6TdNxkKhnYvblMmsCdlyOir/view?usp=sharing
Supplies




Hardware Components:
- ESP32 Dev-board
- I2S Amplifier
- Adafruit NeoPixel LED strip
- HC-SR04-class ultrasonic sensor
Software Components
- Arduino IDE / ESP-IDF – firmware
- Blynk mobile dashboard
- Make.com scenario
- Google Sheets
- Telegram
Build Tasker: Hardware Assembly

Wire the components using Dupont jumpers as follows:
- ESP32 Dev-board – Central controller; power it via USB.
- I2S Amplifier + Speaker – Connect to ESP32 I2S pins and 5V power.
- NeoPixel LED Strip – Connect DIN to a digital GPIO (e.g., GPIO21), 5V and GND.
- Ultrasonic Sensor (HC-SR04) – Connect VCC, GND, Trig, and Echo to ESP32 GPIOs.
Setting Up the Blynk App



Create a Blynk Account
- Visit https://blynk.io
- Click Get Started or Log In if you already have an account.
- Sign up with your email (the free tier is sufficient).
Create a New Template
- In the Blynk console, navigate to Templates.
- Click + New Template.
- Fill in the template details:
- Template Name: Task Manager
- Hardware: ESP32
- Connection Type: WiFi
- Click Done.
Set Up Template Datastreams
- Go to the Datastreams tab within your Task Manager template.
- Click + New Datastream → Select Virtual Pin.
- Create the following three datastreams:
- V1 – Check Off
- Name: Check Off
- Virtual Pin: V1
- Data Type: Integer
- Min: 0, Max: 1
- Default Value: 0
- V2 – Check Time Left
- Name: Check Time Left
- Virtual Pin: V2
- Data Type: Integer
- Min: 0, Max: 1
- Default Value: 0
- V3 – Completed Tasks
- Name: Completed Tasks
- Virtual Pin: V3
- Data Type: Integer
- Min: 0, Max: 100
- Default Value: 0
Design the Web Dashboard
- Go to the Web Dashboard tab for your template.
- Drag the following widgets into the grid:
- Button for V1
- Click settings
- Title: Check Off
- Datastream: V1
- Mode: Switch
- Save
- Button for V2
- Click settings
- Title: Check Time Left
- Datastream: V2
- Mode: Switch
- Save
- Label for V3
- Click settings
- Title: Tasks Completed
- Datastream: V3
- Show Value: Enabled
- Save
Create the Device
- Go to Devices:
- Navigate to Devices → + New Device → From Template.
- Create the Device:
- Select the Task Manager template.
- A device will be created. Click into the device to open its details.
- Copy Credentials:
- Copy the following details for use in your Arduino code:
- Auth Token
- Template ID
- Template Name
Setting Up Google Sheets

Create a New Google Sheet:
- Go to Google Sheets and log in to your account (or create a new one if needed).
- Click on the "+" to create a new spreadsheet.
- Name your sheet something relevant, such as "Task Manager".
Label the Columns:
- In Column A, type: "Task".
- In Column B, type: "Completed".
- In Column C, type: "Due time".
- In Column D, type: "Remaining min".
- In Column E, type: "Current time".
- In Column F, type: "Tasks done".
Format the Columns:
- Column B (Completed):
- Go to Data → Data validation.
- Select Checkbox for the data type.
- Columns C & E (Time):
- Go to Format → Number → Time.
- Other columns: Leave them set to Automatic.
Add the Current Time Formula (Cell E2):
- In Cell E2, enter the following formula: =NOW()
- This will automatically populate with the current time, and Google Sheets will recalculate it automatically.
Add the Remaining Minutes Formula (Cell D2):
- In Cell D2, enter the following formula: IF(HOUR(C1) > HOUR(E2), TIMEVALUE(C1-E2)*24*60 , -1)
- This formula calculates the difference in minutes between the due time (Column C) and the current time (Cell E2). It will convert the difference into minutes, and if the due time has passed, it returns -1.
Copy the Formula for Remaining Minutes:
- Copy the formula from Cell D2 and paste it into the rest of the Column D rows where you expect to have tasks.
Track Completed Tasks (Cell F2):
- In Cell F2, enter the following formula to track the total number of completed tasks:= COUNTIF($B$2:$B, TRUE)
- This counts the number of checked tasks (i.e., the tasks marked as completed in Column B)
Setting Up the Telegram Bot
Download and Set Up Telegram:
- Download the Telegram app and sign in (or create an account if you don't have one yet).
Create a New Bot with BotFather:
- In the Telegram app, search for BotFather (official Telegram bot for creating new bots).
- Start a conversation with BotFather and type /newbot.
- Follow the instructions to:
- Name your bot.
- Choose a unique username for your bot.
- Save the API token that BotFather provides after the bot is created, as you'll need it for later steps.
Test Your Bot:
- Open your new bot by searching for its username in the Telegram app.
- Press "Start" to initiate the bot, and send a simple message like "hello" to confirm it's active.
Get Your Chat ID:
- Open a web browser and go to the following URL: https://api.telegram.org/bot<YourBotToken>/getUpdates
- Replace <YourBotToken> with the API token you received from BotFather.
- In the JSON response, look for the "chat": {"id": section. This will contain your Chat ID.
- Save the Chat ID, as you will use it to link your Telegram bot to services like MAKE.
Setting Up Make.com Integration

Create a Custom Webhook:
- In Make.com, create a Custom Webhook. This will serve as the entry point that the ESP32 (via Blynk) will call to trigger actions in your system.
- The Webhook URL provided by Make.com should be pasted into the Blynk app (in the webhook section) so that the ESP32 can interact with Make.com.
Google Sheets → Search Rows:
- Action: Search for the first row where the “Completed” column (Column B in your Google Sheet) is still FALSE.
- This action returns the row along with its row number (let's call it AA), which is crucial for identifying the task and tracking its status.
Tools → Set Variable:
- Store the returned ROW_NUMBER as a variable called AA.
- This will allow you to reference the specific row throughout the process.
Router:
- The router splits the flow into different branches based on which button is clicked in Blynk.
- Branch 1: Mark-Done-Button (Task Completion)
- Filter: Event = button_pressed (Triggered when the "Mark as Done" button in Blynk is pressed).
- Google Sheets → Update Row: Using the saved AA variable, update the corresponding row in the Google Sheet. Set the Completed checkbox (Column B) to TRUE (marks the task as complete).
- Branch 2: HTTP-Reply Branch (Get Remaining Time)
- Filter: Request = get_remaining_time (Triggered by a query from the device itself).
- Google Sheets → Get Cell: Retrieve the Remaining min (Column D) from the corresponding row using the AA variable.
- Webhook Respond: Send the remaining_minutes as a response back to the caller with an HTTP 200 status.
- Branch 3: Telegram Notification Branch
- Filter: Same request as the HTTP-Reply Branch, but this branch is dedicated to sending the task notification via Telegram.
- Google Sheets → Get Cell: Grab the task content (from Column A) using the AA variable.
- Telegram Bot → Send Message: The bot sends a message like: "Current task: <task-content>" (or a custom message) to the specified Telegram chat.
Set Scenario Mode to Instant:
- Turn the scenario on in Instant mode to ensure that every webhook hit triggers the flow immediately.
- Enable Auto-commit to automatically save any changes made to the Google Sheet without the need for manual commits.
Setting Up and Uploading the Code

Download the Arduino IDE
Install Required Libraries
- Blynk
- Adafruit NeoPixel (for LED strip)
- IRremote (for remote control)
- DHT (for temperature sensor)
- WiFi
Paste Your Code into the Arduino IDE (use the modified code from the provided file).
Connect Your ESP32 to your computer via USB.
Select the Right Board and Port in the Tools menu of the Arduino IDE.
Click "Upload" to flash the code onto your ESP32.
Downloads
Testing That Everything Works

Write Your Tasks
Start by entering the tasks you want to complete along with their due times in the Google Sheet.The system will calculate how much time you have left for each task.
Motion Detection
A motion sensor detects when you return to your study area, helping track your focus time.
Task Completion
Once you finish a task, mark it as complete in the Blynk app. The LED strip turns green and a voice says: “Great job!”
Remaining Time Check
Press the "Remaining Time" button in the Blynk app:
- The button turns blue A message is sent to your Telegram bot with the current task and how much time is left If there are less than 30 minutes left: A warning alert is included in the message The LED strip turns red A voice says:“Stay focused and stay strong.”
Reviewing Your Tasks



Google Sheets
Open the “Task Manager” Google Sheet you set up earlier.You’ll see the tasks, due times, remaining time, and whether each task has been completed or not, along with a running total of completed tasks. This allows you to track how much time is left for each task and make adjustments to your schedule as needed.
Blynk
On the Blynk app you are able to see how many tasks you have completed
Congratulations
You’ve successfully set up your Task Manager system! Your tasks are now being tracked, your focus time is monitored, and the system will keep you motivated with alerts and feedback as you work through your tasks. Keep checking your Google Sheet, Blynk app, and Telegram for real-time updates, and stay productive!