Introduction: Wunderlist Task Printer
Digital Lists (such as Wunderlist) are great but sometimes you just want a paper copy. In this project we will be making a Wunderlist Task Printer. To accomplish this we will be creating a nice 3D printed case for the Adafruit Mini Thermal Printer and connecting it to the Particle Photon. The photon will then listen for HTML POST requests from a Microsoft Flow (other services can be used) task that monitors Wunderlist for tasks that have been added.
If you like this project then please VOTE for it
If some of you would be interested in a kit version of this (with proper PCB and a stronger case) then head over to prototypingcorner.me/wunderlist-task-printer and leave me a comment there. If enough of you are interested Ill get on to making the kits asap.
Step 1: Parts Needed
To complete this build you will need the following parts
• Adafruit Thermal Printer
• Particle Photon
• Freetronics Buzzer Module (optional)
• 3x 5mm LEDs
• Mini Breadboard
• Breadboard Jumper wires
• Button
• 5 Volt 2 Amp power supply
• 2.1mm Barrel Jack
Step 2: Making the Case
The enclosure for this project has been 3D printed and holds the thermal printer and supporting electronics. We printed ours out of Taulman In-PLA (red was all we had on-hand). It took approximately 8 hours to print all 3 parts.
Our printer settings
• 0.2mm Layer Height
• Sliced in Astroprint (we had a raspberry pi running Astroprint to control the printer)
• Extruder at 220°C
• Bed at 50°C
You can download the print files from thingiverse
After printing you will have 3 parts
The front panel, Main body and side panel
You will need to attach the main body and side panels together. We carefully melted the two pieces using a soldering iron, however you may like to use hot glue or your own preferred method. There is an area on the body and side panel for a mounting screw for additional support.
Once the body is completed you need to attach the power jack. This can be done using the same method as before (if soldering, the barrel jack needs to have plastic where you are going to make the join). We would recommend using a hot glue gun for this, however we did not have one available so we used the soldering iron again to make the connection.
Now that the body is constructed and has the power jack in place, construction on the front panel can begin. Start by installing the 3 5mm LEDs. This can again be done using hot glue or the melting method or by using LED mounting clips. Now install the button in the middle. This screws in-place using the supplied hardware. Before installing the buzzer, solder two wires onto the module, then clip the buzzer in place. Some force may be required to get it installed, depending on the printers accuracy. If it is loose apply some hot glue around the outside it keep it secure.
Now it is time to install the thermal printer. Remove the side mounts from the printer and slide it in. The reinstall the mounting hardware to secure the thermal printer. You may wish to place some hot glue around the edges of the printer to prevent the front panel from bending too much.
Step 3: Installing the Electronics
Now that the case is constructed and parts are mounting in it, it is time to wire everything up. Start by soldering wires to the LEDs. You can join all the cathodes together and attach one wire to them. Now attach wires to the button. Depending on the button this may mean soldering or screwing in the wires.
Next install the mini breadboard to the back of the thermal printer. They normal come with adhesive tape attached, so this can be used. Push the photon into the breadboard, leaving some space on the end of the board. Time to start connecting the wires. Use the following table as a guide. You may with to use a channel on the breadboard as a ground connection for everything.
Buzzer to Pin 0 and GND
Anode of LED1 to Pin 3 (This is the power LED)
Anode of LED2 to Pin 2 (This is the Heart Beat LED)
Anode of LED3 to Pin 1 (This is the Status LED)
Cathodes of LEDs to GND
Button to Pin 4 and GND (we will use the internal pull-up resistor on the photon
Thermal Printer GND to GND
Thermal Printer RX to TX on photon
PWR (+) to Thermal Printer HV and photon VIN
GND In (-) to Thermal Printer GND and GND
You may now wish to do some basic cable management / tiding up. Then mount the assembled front panel to the body. (You may wish to setup the photon before screwing the case together)
Congratulations on constructing the device. Now lets install the software and breath some life into it!
Step 4: Install Software
Before uploading the code to the photon we need to know the baud rate of our printer. To find out this hold in the button on the thermal printer while attaching power. The printer will preform a test print and on it will be the printer baud rate.
Now we need to flash the photon with our software. To do this go to build.particle.io and sign in using the same account used during the photon setup.
Go to prototypingcorner.me/wunderlist-task-printer and copy and paste the code into a new project and change the baud rate to match what was on the test print. Then press flash (The lighting bolt icon)
The software waits for a HTTP POST request and prints the input value of that to the thermal printer. To test that it works you can follow the guide on the particle site.
The code has three functions that it can accept; header, body and task. The header function, prints text larger and centre aligned. The body function, prints text in the default size and alignment. The task function, is the same as body, except an extra string is prefixed to it. This string (by default is []) makes the check box that gets printed. Each of these methods have a shorten function which trims the text if it is too long to fit on one line and replaces the last 3 characters with “…”.
The code is all commented and should be easy to ready and edit to your liking. The next steps we will cover is creating a new Flow task that monitors Wunderlist for added tasks and prints it
Step 5: Creating the Flow
We used Microsoft Flow as the gateway that monitors Wunderlist and updates the photon as we already had an Office 365 Business account that includes Flow. If you don’t have access to Flow you may be able to use something like Zapier to achieve similar results.
Start by going to flow.microsoft.com and signing in. Then go to ‘My Flows’ and press ‘Create from blank’. Type Wunderlist and choose ‘Wunderlist – When a new task is created’ as the trigger. You will need to connect your Wunderlist account then choose a list to monitor.
Press ‘+ New step’ and then ‘Add an action’. Type ‘HTTP’ to select the HTTP option. For method select POST. We will need to create our Uri. To do this you need the device id and access token for your photon. You can get these from the particle site. Enter in https://api.particle.io/v1/devices//task?access_token=, replacing and . In Body you will need to enter { "args":"TITLE" }. TITLE is dynamic content that can be selected from the list (see image).
Give the flow a name and press ‘Create Flow’ and wait while your flow is created. Once it has been created open Wunderlist and create a new task in the list your monitoring. You will need to wait a few minutes (seconds if your lucky) for Flow to register the new task and send it to the photon.
Step 6: Completion
That’s it. You now have a live Wunderlist printer for the occasion when you want a physical copy of your tasks.
If you liked this project please VOTE and consider donating so I can continue to create new projects and cover the cost of this website. If you have any suggestions or you made one please let us know in the comments below.
The full code and build log can be found on my website prototypingcorner.me/wunderlist-task-printer