Skip to content
Module for MagicMirror to display your schedule for Toronto curbside waste pickup
JavaScript CSS
Branch: master
Clone or download


This a module for MagicMirror.

This displays your schedule for Toronto curbside waste pickup.



  1. Navigate into your MagicMirror modules folder and execute
    git clone
  2. Enter the new MMM-MyWastePickup directory and execute npm install.


Go to to determine your collection calendar, and configure it as below:

Option Description
collectionCalendar REQUIRED The schedule for your curbside pickup, as dertmined above.

String Array
Valid values are MondayNight, Tuesday1, Tuesday2, Wednesday1, Wednesday2, Thursday1, Thursday2, Friday1, or Friday2.
It is also possible to specify Custom in case you want to use your own custom pickup schedule. See below for more information about using your own schedule.

Any other value will be ignored and the module will default to Tuesday1.
weeksToDisplay How many weeks into the future to show collection dates.

Default: 2.
limitTo Limit the display to the spcified number of pickups.

Default: 99.

Example config

  module: 'MMM-MyWastePickup',
  position: 'top_left',
  header: 'My Waste Collection',
  config: {
    collectionCalendar: 'Tuesday1'


This works off of a static CSV file obtained from the city of Toronto's website here:

As such, this module currently only has data until the end of the year 2018. I'll be updating this to include 2019's data when it's available, but if I forget to do it, download the CSV for 2019, and copy it over the existing schedule.csv file in this module's directory.

Using Your Own Custom Schedule

If you live outside of Toronto and you'd like to use this module, you can create your own schedule to use with this module.

  1. First, in your config specify collectionCalendar: 'Custom'.
  2. Create a CSV based on the following template:

Add lines for each pickup date as needed

The following points are very important:

  • The CSV file must be delimited using commas
  • The first line containing the headers must appear exactly as above. If the module is stuck on "Loading..." after you've created your custom schedule, double-check that none of the headers are misspelled.
  • You MUST use the schedule name Custom at the beginning of each line.
  • The date format needs to be specified as MM/DD/YY (e.g.: 05/28/18 for 28-May-2018)
  • The last five fields of each line specify whether the particular waste product is scheduled to be picked up on the given date. A value of 0 means no pick up. A value of ANYTHING ELSE means the product will be picked up. Using the first pick up date entry in the template above, 1,0,1,0,0 means that GreenBin and Recycling will be picked up on that date, while Garbage, YardWaste, and ChristmasTree will not be picked up.
  1. Save the file as schedule_custom.csv in the MMM-MyWasteCollection directory.
  2. Restart Magic Mirror
You can’t perform that action at this time.