Intro: How to Use a Teensy to Print Pictures on Splatoon 2 Using the SplatPost Printer
In this Instructable, I will be showing how to use the SplatPost Printer by ShinyQuagsire. Without clear instructions, someone who doesn't have experience with command line would have a bit of trouble. My aim is to simplify the steps down to the point that anybody could do it, even someone who has zero experience with command line, though a little computer know-how couldn't hurt. :p
Step 1: Gather Necessary Hardware
For this tutorial, you will need the following:
- Nintendo Switch running Splatoon 2 (Both Digital and Cartridge work)
- Teensy++ 2.0
- USB-A to USB-MiniB cable (Not the one used for phones. That is Micro USB-B. See Picture)
- USB-C On-The-Go (OTG) cable* (See Picture)
- A computer running Windows
For Ease, I've linked the exact Teensy and Cables Amazon Listing that I have in the pictures:
- Teensy: https://www.amazon.com/gp/product/B00NC4302Q/
- USB-C OTG: https://www.amazon.com/gp/product/B01GGKYXVE/
- USB-MiniB: https://www.amazon.com/AmazonBasics-USB-2-0-Cable-...
* The USB-C OTG cable is not necessary to print. Printing by plugging the Teensy directly into the dock will work. HOWEVER, this will cause the select controller screen to load and the first line printed will be missing the first ~20 pixels. If you're okay with fixing this top row yourself or leaving it as is, then the OTG cable is yielded unnecessary.
Step 2: Download Necessary Software
The software we will need is as follows, including links to the downloads.
- WinAVR: https://sourceforge.net/projects/winavr/files/
- Python 2.7.x: https://www.python.org/downloads/
- GIMP: https://download.gimp.org/pub/gimp/v2.9/windows/gi...
On each of the first three links provided, click the download button that is circled in the pictures. Depending on the browser you are using, it will ask you if you want to save or keep the files. Choose "Save" or "Keep Files Anyway" as needed. The final link for GIMP will automatically start the download.
Step 3: Download the SplatPost Github Repository
I combined all the necessary files into one easy to handle Git for everyone to use. The files included are called forks of the the 2 necessary repositories.
Here's the link: https://github.com/P4RI4H/AIO-SplatPost/
Once the Github page has loaded, click the "Clone or Download" button as shown in the attached picture. Then click "Download ZIP" as shown.
Once the download finishes, it's time to get the software all installed and all the files unzipped!
Step 4: Installing Python
Out of the software you need to install, Python is the only one that contains an extra step.
Open the folder where you downloaded all these files and double click python-2.7.xx.msi to install Python.
Once the installer loads,read through the installer and select your options until it gets to a page that has the option, "Add python.exe to path." Click the red x and in the drop down menu, select "Will be installed on local hard drive."
Click through the rest of the installer until it says the install has finished.
Step 5: Installing the Rest of the Software
After Python has installed successfully, we need to install the rest of the necessary software.
Install WinAVR first by double clicking the installer and keep everything default. Once WinAVR is complete, Install GIMP with all the default settings as well.
Step 6: Unzipping the GitHub Repository
Open your download location and double-click "AIO-SplatPost-master.zip."
Drag and Drop "AIO-SplatPost-master" to your Desktop. It should start copying files.
Once that is complete, time to move on to the next step, Making your image!
Step 7: Make Your Image
First thing to do is chose or create your image. If you're going to make your own image, load GIMP.
I'm going to use the Doge picture I've attached. Open GIMP. Click File>New and for the width enter 320 and for height enter 120.
Once you have your canvas, make your image however you'd like.
Click File>Save and save this image somewhere you can find it in case you need to invert the image.
(Step 10 happens HERE if your image comes out inverted.)
Once you are done, click Image>Mode>Indexed. In the new window that opens click "Use black and white (1-bit) palette." If the image is not black and white already, change the drop-down menu next to color dithering to "Floyd-Steinberg (normal)" Once done, click convert.
Lastly Click File>Export As...
In the new window, click the "All export images" menu and select "Raw Image Data (*.data)" Change the file name to "image.data" and export the file to your desktop. Almost done!
Step 8: Build Your Hex File
I know this step may sound daunting, but don't worry, I made it super easy for you with a batch file!
First, plug your USB-MiniB cable into your Teensy++ and the other end into a USB port on your computer. The light on your Teensy should light up amber.
Now Copy your image.data folder into your AIO-SplatPost-master folder. Double click the AIO-SplatPost-master folder and then copy the image.data file again into the SplatPost folder.
Press the button on your Teensy and the light should turn off.
Now double click "Make My File!.bat" and a black window should open that says, "Executing necessary commands for SplatPost Printer. This window will close when complete." Wait for the window to close.
Once that window closes, your Teensy is all programmed with your file!
Step 9: Time to Draw!
Turn on your Switch and start Splatoon 2. Once youre done sitting through Pearl and Marina's announcements, head over to the red Post maker machine thing. Click "Draw." Change the drawing point to the smallest one by pressing "L" once. Then put the point all the way at the top right of the canvas. Once up and right as far as you can go, go down one point by using the down button.
Plug the USB-C OTG cable into your Switch. Unplug the Teensy from you Computer leaving the USB-MiniB plugged into the Teensy. Plug the Male USB-A end of the cable plugged into the Teensy into the Female USB-A end of the OTG cable already plugged into your Switch. If everything went as planned, your Teensy should start printing out your picture, one pixel at a time!
Takes a while, but the results are worth it!
Note, my Doge image turned out inverted! Oh no!
Continue to step ten to fix this!
Step 10: But My Colors Are Inverted?! (And Other Troubleshooting Steps)
This sometimes happens. Happened to me several times. However there is an easy fix!
In Gimp, load your image again. Click Image>Mode>Indexed. In the new window that opens click "Use black and white (1-bit) palette." If the image is not black and white already, change the dropdown menu next to color dithering to "Floyd-Steinberg (normal)" Once done, click convert.
Instead of exporting immediately, we're going to invert our image. Click Colors>Map>Rearrange Colormap. There are only two colors, black and white. Drag the left color to the right of the right color, and then click OK.
Now continue with step 7 and export your file. Do Step 8 and 9 as normal afterwards.
- "What if the 'Make My File!.bat' hangs up at an error?"
If it stops at a line that says, "make: *** [Joystick.eep] Error 128," it should just be as simple as plugging in the Teensy and pressing the button. It's told to wait for the Teensy before continuing the final programming step.
"What if I get any other errors running the bat file?"
Re-download the git master file in Step 3 and try using 7-zip or WinRAR to extract it. If it still doesnt work, make sure you have WinAVR and Python installed correctly, especially making sure to check the extra option in the Python install. See step 4.