Strange Characters in Serial Monitor

Hello, I am connecting an NES controller to a nano w/ ATmega328. I am using example code from tutorials I found online to learn more about how to code the nano and where to begin and more specifically how to view the binary for each button press. I have been playing around but I am very new to this, I have programming experience but this is my first time I’ve tried this.

When I load the code onto the nano and watch the serial monitor instead of getting any 0’s or 1’s i get “989:8þ:899þ89998ÿ:89:8ÿ989:88989¹9899:ü9:899þ9989:” for a while it was mostly just “üüüÿÿÿ” but in random variations. I should also mention I did not push any buttons to receive this line, I guess I could say it was idle. Would I need to use a different print statement to show the binary or could this possibly be a hardware problem (loose wiring on my end perhaps).

Thank you for any help and advice.

#include <NESpad.h>

NESpad nintendo = NESpad(2,3,4);

byte state = 0;

void setup() {

void loop() {
  state = nintendo.buttons();

  Serial.print(~state, BIN);


You set the Arduino serial baudrate to 57600. Did you set Serial Monitor to match?

I just changed my baud rate to 57600 and now its printing all 1's which is better than what I was receiving before, now to hopefully I can get it start reading the inputs properly.