Printed circuit board 'Multiuse tiny1'

Project overview

This small PCB, which I named Multiuse tiny1 was originally designed to convert NES/SNES controllers to USB. Since there is not a lot of space availabe inside an SNES controller, I designed the PCB to be as small as necessary. The PCB has improved since the beginning, thanks to the many other uses I found for this PCB.



  • Small: width=27.5mm, height=17.7mm, thickness=3.4mm (withou regulator) or 5.3mm (with regulator)
  • Atmel AVR Atmega8 microcontroller on-board.
  • The following microcontroller signals are available via solder pads: PC5(ADC5/SCL), PC4(ADC4/SDA), PC3(ADC3), PC2(ADC2), PC1(ADC1), PC0(ADC0), PB5(SCK), PB4(MISO), PB3(MOSI), PB2(SS/OC1B), PB1(OC1A), PB0(ICP1), PD0(RXD), PD1(TXD), PD2(INT0). Please note that PD0(RXD) and PD1(TXD) are tied together.
  • Optional voltage regulator can supply a lower voltage to the MCU and/or external peripherals.
  • This circuit is perfect for the Firmware-Only USB Driver from Objective development. All necessary components are there (Atmega8, 12mhz crystal with capacitors, 68 ohms resistors and zener diodes).
Known projects which use this PCB:


To program the microcontroller, programmer wires must be soldered directly on the board. Just follow the schematic. Some programming signals (unfortunately not all) are available on the back side of the board.

When USB is not used, it is not necessary to solder the zener diodes nor is it necessary to install resistor R1. The 68 ohms resistors R2 and R3 may be replaced by 0 ohm resistors if you need to use those ports. (That's what I did for the SNES/NES Gamepad to Gamecube/Wii adapter project.

The PCB backside has a footprint for an lm1117 voltage regulator. 0 ohm resistors or solder bridges must be installed to select the power source for the microcontroller and the circuit output.

When no regulator is needed, installing U3, R9, R10, C5, R7 and R8 is not necessary. But dont forget to install R6, R6 and C1.

The voltage regulator has an adjustable output. Here is a convenient tool you can use to calculate the output voltage that would be obtained depending on the selected resistors.
Adjust resistor (R2):
Fixed resistor (R1):
Output voltage (Vout):
Note: The image comes from the following Motorola lm317 datasheet: lm317rev1g.pdf




Here are composite images of the PCB top and bottom sides:

With regulator

With regulator

Option 'with regulator':
The regulator used is an lm1117mp-adj. 0 ohm resistors must be installed in order to select the power source (Input voltage or regulator output voltage) of the microcontroller and the board power output. For example, to supply 5 volts (from USB) to the microcontroller and 3.3 volts (regulator output) to a game controller, resistors R5 and R8 would have to be installed.

Without regulator

Without regulator

Option 'No regulator':
When no voltage regulator is required, the only components that must be installed on the bottom side are two 0 ohm resistors. Install them according to the picture on the right. If you dont have 0 ohm resistors, use short pieces of wire or do a solder bridge.

Here is a wiring diagram for the PCB:

And finally, here are the gerber files which you may use to produce this PCB:

Due to the fact that this board is two-sided and has numerous vias, building it at home may be a little harder than the ususal. If you want, you can get professional PCBs from my online store. The PCBs from my store, however, are a little older than the one above. I've had a huge quantity produced with a small mistake: The 5 volts supply from the USB bus does not reach the regulator! In order to correct this, a small wire has to be installed on the bottom side:



I cannot be held responsible for any damages that could occur to you or your equipment while following the procedures present on this page. Also, I GIVE ABSOLUTELY NO WARRANTY on the correctness and usability of the informations on this page. Please note, however, that the procedures above have worked in my case without any damages or problems.

Now you cannot say that I did not warn you :)