Wunderlist Task Printer

Archived - This project is no longer maintained

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 HTTP POST requests from a Microsoft Flow (other services can be used) task, that monitors Wunderlist for tasks that have been added.

Download Source Code

Licensed under the MIT license, you have access to all the source code and schematics to build your own version

The Build

Parts Needed

To complete this build you will need:

Hardware

Making the case

The enclosure for this project was 3D printed and holds the thermal printer and required electronics. The plastic used is the Taulman In-PLA. This version took ~8 hours to print the 3 parts.
Printer settings:

  • 0.2mm Layer Height
  • Sliced in Astroprint
  • 220°C Extruder temperature
  • 50°C Bed temperature


The STLs for this build can be downloaded from Thingiverse.

You may also be interested in this remix by Thingiverse user bmjbmj. This version has several improvements, being designed in openSCAD with sturdier 5mm walls and is printed in two pieces. Mathias says it took ~24 hours to print.

After printing you will have 3 parts:

You will need to attach the main body and side panels together. Here 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 to provide 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). Hot glue would be ideal for this, however I didn’t have any available so off with 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. These can be kept in place with hot glue, melting the plastic or with LED mounting clips (ideal). Then install the button in the middle. Depending on your button, it may be best to attach wires to it before installing. Same goes for the buzzer. If you used the Freetronics buzzer module, it can be pressure fitted in place, otherwise use hot glue on the outside to keep it secure.

The thermal printer can now be installed. Remove the side mounts from the printer and slide it in. The reinstall the mounting hardware to secure the printer to the frame.

Install the electronics

With the case constructed and parts mounted, its time to wire everything up. Start by soldering wires to the LEDs. All the cathodes (the flat side) of the LED can be soldered together. Attach wires to the button, if you haven’t already. If your using a mini breadboard then it may come with an adhesive back. Use this to attach it to the back of the thermal printer. Then install the photon.
Use this guide to wire every thing together.

FromTo
BuzzerPin 0 and GND
LED1 +Pin 3
LED2 +Pin 2
LED3 +Pin 1
LED CathodesGND
ButtonPin 4 and GND
Printer GNDGND
Printer RXPhoton TX
Printer TXNot Connected
PWR INPrinter HV & Photon VIN
GND INPrinter GND & GND

Before mounting the front panel, tidy up the wiring. Its also a good idea to setup the photon if you haven’t already. Then attach the front panel and screw it all together.

Congratulations, now that the device is constructed lets give it some life with the software.

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 the code. Go to build.particle.io and sign in using the same account used during the Photon setup.

Copy and paste a version of the code below and modify the baud rate to match what was on the test print. The Buffered FlowPrinter version will store the results in memory until the button is pressed, where it will print all the results at once. Then flash the code to the Photon.

The software will wait for a POST request and will print the value to the printer. To test that it is setup and listening follow the guide on the particle site. The code has three functions that it can accept; headerbody and task. The header function will print the text larger and center aligned. body will print the text in default size and alignment, while task will add the string [] to make a checkbox before the item. If the input text to any of these functions is too long, then it will be trimmed and the last 3 characters will be replace with ....

The code is licensed under the MIT Open Source license. Feel free to modify it to suit your needs. All thats left is creating a Microsoft Flow that will monitor Wunderlist for added tasks and print it!

Flow Printer

flowprinter.ino


    

Flow Printer Buffered

flowprinter_buffered.ino


    

This project uses Microsoft Flow to monitor Wunderlist for added items and send the POST request to the Photon. Other services such as Zapier could be configured to achieve the same 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 you Wunderlist account and choose a list to monitor.

Click + New step > 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/{device}/task?access_token={token}, replacing {device} with the device id and {token} with the access token from particle. In the body enter

TITLE is dynamic content that can be selected from the Add dynamic content menu (see image).

All that’s left is to give the flow a name and press Create Flow. Wait for the flow to be created then open Wunderlist and create a new task. You may need to wait a moment for Flow to register the new task and send it to the Photon.

Done

That’s it! Now you have a live Wunderlist printer for the occasion when you want a physical copy of your tasks. Let me know your thoughts in the comments below.

If you like this project please share and comment below!

Leave a Reply

Your email address will not be published. Required fields are marked *