Are you bored with your printer?
Do you wish you had more pictures of cats?
Are you ready to bring your printer into the 21st century?
If so, you've come to the right place.
The Print-a-Cat Button uses an Amazon Dash button to bring cat printing powers to your fingertips. With just the click of a button, you can bring a new cat (picture) into your life, rain or shine!
Step 1: Tools and Materials
For this project, you will need...
- An Amazon Dash button
Note: If you have Amazon Prime, these can be purchased from Amazon here. If you don't have Amazon Prime, you'll need to do one of the following:
- Find a friend with Amazon Prime, and convince them to buy it for you (swear you'll pay them back.)
- Get a free 6 month trial of Amazon Prime with a .edu email address here.
- Get a 30 day trial of Amazon Prime here.
- Purchase Amazon Prime
Note: If you use either of the free trials, make sure you cancel before the end of the trial period if you don't want to continue using Amazon Prime. You do not need Amazon Prime to use the Print-a-Cat Button, you only need it to purchase the Dash button. Cancel student trials here, and cancel regular trials here.
- A smart phone (for connecting the Amazon Dash button to your wifi network)
- A printer
- A computer that can be on all the time (or at least whenever someone wants to print a cat.)
- OSX or Linux. I'm hoping to make a Windows compatible version of this sometime in the near future.
Step 2: Set Up Your Dash Button
After you've gotten your Dash button, you'll need to set it up.
However, you must only partially set the button up, so you don't end up ordering things you don't want.
Follow instructions 1 through 5 here. Do not do step 6!
By not choosing which product to order/not confirming your payment info, the button will connect to your network, but not be able to order anything. However, the Amazon app will bother you with notifications to finish setup every time you press the button. To keep these from popping up, you can disable notifications from the Amazon App.
On Android, the setting is in Settings -> Applications -> Application manager -> Amazon -> Notifications -> Turn off 'Allow Notifications'
Step 3: Download and Setup the Cat Print Server
Download the attached zip file and extract it somewhere on your computer.
Next, navigate to where you unzipped it to and install it's dependencies by running the following in terminal:
sudo pip install -r requirements.txt
Note: On OSX, you might get some errors when running the above command. Try some of the solutions here, anf hopefully they'll go away.
Now you'll need to copy your Dash button's MAC address into catPrintServer.py
To do this, run the following:
and press your Dash button. After a bit of a wait you should see a MAC address appear in your console window. copy this to your clipboard, and quit the program with ctrl+c.
Paste your button's MAC address on line 20 of catPrintServer.py
Optional: If you want access to a bigger pool of cat images, you can add an API key to catPrintServer.py You can apply for an API key here. Then, add your key to the end of line 9 like so
api_key = "YOUR_API_KEY_HERE"
Step 4: Run the Server and Print a Cat!
Note: Before you run the cat print server, make sure the printer you want to print to is your default printer.
After you've copied over your button's MAC address and optionally added your API key, run catPrintServer.py with
Now you can press your cat button, and it should print a cat image! It may take a little bit, so consider putting your button a little bit farther away from the printer, so it seems more magical.
Step 5: A Note About Paper Waste
I realize this project can be seen as potentially wasteful. If you have a lot of people printing cats, you might go through a lot of paper.
You should encourage people to think carefully before printing a cat, and adopt out any spare cat images you have before printing new ones!