sketchbook
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
N64 Controller HID Joystick based on ATTiny (N64TinyUSB)

Uno_ppmUSBjoy shows how to implement a HID Joystick (no need for driver on most OSes) on AVR platform using VUSB. That project uses an ATMega328 (Arduino Uno) to connect a PPM source (R/C Transmitter) to a PC.

This project should do the same using a N64 Controller on the input. As we want to improve we aim at using minimal hardware and ressources and thus want to replace the Arduino Uno by an ATTiny (Helvetiny).

As it turns out somebody was faster:

By the way it exists for (S)NES also:

attiny45 n64-usb (works on 85 as it has 8k mem)

First need to change some settings in the Makefile:

#DEVICE  = attiny45
DEVICE  = attiny85
...
#PROGRAMMER = usbasp
PROGRAMMER = avrisp -b 19200 -P /dev/ttyACM0

This will compile and upload the code to an ATTiny85 using an Arduino Uno as ISP (avrisp).

delete objects and hex file (the ones in the repo are for attiny45, we need attiny85)

$ make clean

compile and flash

$ make all

Compilling and programming worked like a charm.

PCB (design based on Helvetiny 1.0)

Built using the Helvetiny85 eagle source files. Now ready to verify and compare with original (parts size/placing etc.) and finally production (at jlcpcb).

n64dual_schematic.png

https://github.com/drtrigon/eagle/blob/master/projects/N64TinyUSB/