- Joined
- Oct 4, 2014
- Messages
- 556
- Trophies
- 0
- Location
- Most likely at the arcade
- Website
- www.youtube.com
- XP
- 844
- Country
!!! This is an outdated thread! Plese use this one instead. !!!
Disclaimer: This is not an easy guide to use! It's not as simple as placing some files in certain spots and running "make"; there are certain things you need to install, environment variables you need to set, etc. A *lot* of troubleshooting will most likely be necessary. I'm happy to help if you need some assistance, however.
Seeing as nobody else has made a guide like this, and I've figured out how to get it running, I figured I'd make a guide to help out. This guide is not for beginners; you'll need at least a bit of knowledge on how to add programs to your path, use the command line, etc. This is also assuming you're using Windows.
If you have a device that uses chips like the ATMega328, this project will not work. You need a USB HID compatible microcontroller.
For those who don't know, this is the post printer:
It uses a Teensy 2.0++ (and possibly other microcontrollers with USB HID compatible AVRs, such as the ATMega32u4) to mimic a Hori Pokken pad for the WiiU, which now works on the Switch due to update 3.0.0 allowing more controllers to be used.
You'll need:
Hardware:
- A Teensy 2.0++ (the one with the AT90USB1286)
- A USB C male to USB female adapter like this one, brand doesn't really matter long as it works with the Switch
- A Nintendo Switch
- Splatoon 2
Software:
- Teensy Loader (Windows binary)
- LUFA
- Atmel AVR 8-bit and 32-bit GNU Toolchain (You'll need to create an account on the site to download)
- The Splatoon 2 post printer, of course (Hit "Clone or download" and download a .zip)
- If you have an ATMega32u4 board, use this repo instead for the post printer. Also, here's a much more up-to-date repo.
- Python 2.7 (Not Python 3)
- GIMP 2
- MinGW (the .exe installer)
Section 1: Preparation
First, you'll need to get all the software installed and everything.
- Download the Teensy Loader
- Download and install Python 2.7.
- Download and install Atmel's AVR 8-bit Toolchain (extract this to a folder like C:\development\AVR-Toolchain or something)
- Download and install GIMP. (Seeing a pattern here?)
- Download and install MinGW. If it wants to install any addons for the program itself, say yes.
- Create a folder somewhere on your PC (I made mine in C:\development\SwitchFightstick)
- Open up the .zip file for the post printer (whould be called Switch-Fightstick-master.zip) and open the folder inside that so you can see all the files. Extract all those into the folder you made in the last step. Delete the "image.c" file since you'll be making a new one later.
- Open up your system PATH by hitting the windows key and searching for "Edit the system environment variables", clicking "Environment variables...", and double clicking "Path" in the bottom system variables section.
- Open up Windows Explorer and find the folder where you installed the AVR toolchain in step 3. Once there, find the "bin" folder and go into that. Then copy your current path by clicking the top bar, selecting it all, and hitting ctrl+C.
- Go back to the Path window you opened in step 7 and hit "New". Paste the directory to the toolchain's bin folder there. While you're there, also add the directory "C:\Python27" (without quotes) to make sure Python will work properly. Apply and exit. You'll also need to add C:\MinGW\bin to your path.
- Browse to the folder where you extracted the atual post printer, and open up the LUFA zip file. Find the folder inside the zip file titled "Build", open it, find the "LUFA" folder inside that and copy it to the same directory as the post printer
- If you're using an ATMega32u4 board, open the makefile in a text editor (preferably Notepad++) and replace the "MCU = at90usb1286" with "MCU = atmega32u4"
- Open up GIMP and hit ctrl+N to make a new canvas. Make it 320px wide and 120px tall.
- Paste your image onto this new canvas and resize it to fit however you want.
- On the top toolbar, select "Image" then hit "Mode" and select "Indexed". When the window pops up, hit "Use black and white (1 bit) pallet", and make sure dithering is set to normal. Your image should now be in just black and white, no grey or anything in between.
- Hit File > Export As... and export the image as "raw image data (.data)" and save it inside the post printer's folder alongside all the other files. Name it whatever you want, as long as it ends in ".data".
- Open up a command window and browse to the post printer's folder. Next you'll want to run the command "python bin2c.py [name of your image] > image.c". If successful, nothing will happen in the command line itself, but you should have a new file called "image.c"
- Run the command "make all". If you did everything correctly, it should now compile!
I don't actually have my Teensy yet (ordered it last night), but I do have some experience using similar boards in the past. The following may not be 100% accurate, but it should be close enough that you can get it to work if I mistype something.
- Plug in your Teensy 2.0++ and open the Teensy Loader.
- Extract the .exe file to the post printer's directory. Don't run it.
- Open a command window and navigate to the post printer's directory.
- Run the command "teensy_loader_cli -mmcu=at90usb1286 -w Joystick.hex". If nothing happens, try pressing the button on the Teensy.
- Make sure your Switch is charged fully; this will take a while. Like, an hour or more. It's not very fast, but still faster than doing it by hand.
- Open Splatoon 2 and go over to the post box. Select the smallest pencil with L. Hold up and right until the cursor is at the very top right corner, then press left and down once each. The cursor won't look like it moved. This is because the cursor actually goes one pixel out outside the boundaries, and pusing left and down brings to exactly the corner. You can tell by pressing left or down again; it should move instead of staying still. Just put it back to the corner again.
- Now you should be able to unplug your Teensy, plug your USB C to USB adapter into the Switch (in handheld mode), plug in the Teensy, and go! The reason you need to do it in handheld mode is because there are sync issues when just using the dock's USB ports in docked mode.
Anyone who has a Teensy 2.0++ and is willing to test this, please do and let me know if it works!
@FierceDeityLink1 and @_______ have confirmed this works with atmega32u4 boards!
Last edited by dj505,