How to Build a N64 TASBot

Introduction: How to Build a N64 TASBot

I would like to start out with giving out two shoutouts and a description for a TASBot. The first shoutout goes to Arduino, if they had not formed their company, this tutorial would not be here. The second shoutout goes to SM64Vidz, for his amazing video that started this tutorial( However, I hopefully have simplified things for new Arduino users. The final shoutout goes to rcoms for uploading his source code to GitHub, which powers the bot. A TASBot is a robot used to play back TASes(see sonicpacker’s explanation: on an actual Nintendo or gaming console to verify if the glitches used in the TAS is just an emulator glitch, or if it would be fine if a human sent those exact inputs on a real controller. Or it could just be a way to make your friends think you got a world record. But anyway, let’s just get into the tutorial.

Step 1: Requirements

If you want to build a TASBot, you’re probably going to want the parts. So here they are:
1x Arduino Nano, on breadboard, with wire to your computer.
Arduino Program installed on computer(free)
Internet Browser
1x MicroSD Card Module
1x MicroSD Card
1x MicroSD Card Reader
10x Female - Male Jumper Wires (they come in big packs for around 2 dollars, so they’re not that expensive)
1x Nintendo 64
1x Nintendo 64 Game
That’s all, so let’s start building!

Step 2: Computer

On the computer, go to and download it by hitting "Clone or download", then clicking "Download ZIP". After it is done downloading, extract it, and open the files until you get to the directory with the folder "sd-n64". See the file named, "crc_table.h"? Drag that into the folder named, "sd-n64"(fig. 1).

Then, open the Arduino program. Go back to the folder and open the sd-n64 folder. Inside you should find crc_table.h and sd-n64.ino. Drag sd-n64.ino into the Arduino program. Next, go to and copy everything inside by hitting Ctrl+A and Ctrl+C(command+A and command+C for Mac users). This will copy everything inside that webpage. If you haven't already, plug the end of the cord that came with the Arduino Nano into the side that fits, and the other side into the Arduino, and also, inside the Arduino program, click "Tools" at the top, and select my settings(shown in fig. 2 )

Go back to the Arduino program and delete all the code. Next, hit Ctrl+V (command+V on Mac). The code that you copied earlier will appear there. We have to change two things. They are both at the top. Change #define SD_SS_PIN 4 to #define SD_SS_PIN 10, and change #include "../crc_table.h" to #include "crc_table.h"(shown in fig. 3).

Next, you are going to need a TAS. Plug your MicroSD Card in, and find a TAS. All you need to do to do this is to simply search your N64 Game name, followed by TAS. Find a video relating to this, and they will most likely have it on Click the will be some numbers and letters here) link, and find the link that says "Mupen64 movie(.m64)"(shown in fig. 4). If it is a BizHawk Movie(.bk2), it will not work, so find another TAS.

Open it, and find the file that has the letters ".m64" at the end. Make sure your MicroSD card is formatted right(if not sure, follow the steps here but not the last step:

this is for windows, so Mac users, there is hopefully a tutorial online somewhere).Name the .m64 file to "1key"(shown in fig. 5). it should now look like "1key.m64". Now, put the MicroSD in the module. Don’t close anything, and let’s move on to the next step. We are done here for now.

Step 3: Wiring

So, now to wiring. Also, if this works with the reader that has the pin labeled “3.3”, let me know. So, here’s a table showing what wire goes where. If your module isn't labeled, refer to fig. 1.

CS — D10
SCK — D13
MOSI — D11
MISO — D12
VCC — 5V
GND — GND (the one next to 5V)

Your setup should now look like fig. 2.

Now put a wire in the GND pin and the D8 pin.

Now, take two wires and follow what is shown in the link below.

Repeat for both wires. Now, put the pointy(male) ends of the recently modified wires into the wires that attach to the D8 and GND pin. Refer to fig. 3 to find out where to plug the modified ends into the N64. Remember, it might take a bit of strength to push them in, but after that, it has a WAY more stable connection to the N64!

Your model should now look like fig. 4.

We are done wiring! Let's go back to the Arduino program!

Step 4: Finalizing

This is the last step. In the Arduino program, hit upload(the arrow button at the top). While uploading, hit "Tools" at the top, and select "Serial Monitor". If you get an error while uploading, there is probably a fix on the internet. When you are done uploading, the serial monitor will display:

Starting up
SD initialization done. Opening file '1key.m64'... M64 Version: 3 File opened succesfully Initialization done.

If this is the case, turn on your Nintendo 64, which should be connected to your TV. When you switch your N64 on, somewhere during bootup, the Serial Monitor will have an extra line added to it:

Controller identified

When this happens, you know for sure that you built the TASBot right! Thanks for using this instructable today, and if something doesn't work, send me a screenshot of the serial monitor and your Nintendo screen! Have a great day!

Be the First to Share


    • Make it Glow Contest

      Make it Glow Contest
    • First Time Author Contest

      First Time Author Contest
    • PCB Challenge

      PCB Challenge

    8 Discussions


    4 months ago

    I built one but sadly the Arduino Nano restarts itself after 8 Seconds of replay so the TAS starts over again and desyncs. Any advice?
    Depends on the game if the Arduino restarts, if you enter a door in Mystical Ninja Starring goemon it will restart itself.

    But other even selfmade TASes will desync no matter what.

    Would be cool if you could help me figure it out, done anything as you described here.
    Discord: Chakratos#7951


    Reply 5 weeks ago

    It only works on Super Mario 64 for me, but I will look for a solution.


    5 weeks ago

    Hello all, I forgot to mention that I have only had success using this on Super Mario 64. I know this is 2 years old, but I didn't expect many to see it.


    1 year ago

    i think probably work on the arduino uno and load the files from the pc directly


    Question 2 years ago on Step 3

    I am replicating this for a school project, but my project becomes stuck at "opening file '1key.m64' do you have any idea what could be causing this?


    Answer 1 year ago

    Please don't make fun of me for being 9 months late. I don't check things like this. If you are still interested, please make sure:
    1. MicroSD Card is formatted to FAT16
    2. Wires are correctly wired/Correctly wired to Nintendo 64
    3. Parts are fully functioning
    4. Files are correctly dragged into their folders
    5. Arduino program is updated
    6. SD Card reader is correctly wired(this gets really confusing)
    Once again, I apologize for being 9 months late
    If you continue to have problems, please let me know.
    Edit: For some reason, this does not work with Legend Of Zelda games. I am looking into this.


    1 year ago

    Really interesting i never knew about TAS


    2 years ago

    This is great! Thanks for sharing your project!