It's just Easter, and Lent is over. But not as far as the projects are concerned. Lent is really starting here...

As announced some time ago, this time it's about shrinking the joystick adapter on a strip grid board. Surely the strip grid board was functional and everything worked. But as far as the design is concerned, such a board will certainly not win a prize. So I shrunk the whole thing so much that all the electronics fit into a DSUB9 case. 



As I had already written in the article USB joystick adapter quickly and inexpensively assembled, I wanted to show how to get the whole thing so small that it is not only functional, but also appealing in design. And above all it protects the electronics.

Wichitg was also a suitable case. And what could be more obvious than taking the simple standard D-SUB 9 cases? They are very cheap to have and are available in a simple plastic version as well as in a version with a metallized surface. 

D SUB9 Gehäuse 3d Mode klein


On the picture you can see the 3D model of a corresponding case. Whether you use the slightly more expensive metallized or the simple version doesn't matter technically. The slim shiny "Metalic Edition" looks a bit more elegant. But that's up to you.

Nothing was changed in the circuit diagram, which could be taken over 1:1. Also the values and component types haven't changed, apart from the fact that they are now all SMD components. 

In order to make it a little easier for less experienced hobbyists, I used the relatively large SMD components, like 0805 or TQFP. But the board is equipped on both sides. In order to be able to design the board, the first thing that was important was the exact dimensions of the interior.

I like to use 3D models of the manufacturers, which you get partly free or against signing a NDA (confidentiality agreement). The reason why you have to sign a corresponding NDA is because of the high quality of the 3D models. Because with these you can produce these cases quite simply yourself. And many manufacturers want to prevent this for understandable reasons.

But the advantage is their accuracy. So I do not need a caliper gauge, but can simply record everything exactly in the CAD software, so that in the first step the outlines of the circuit board are created.

KiCad Platinenumriß


But now comes the exciting part. Now all the components have to be distributed on the board. The whole thing is a mixture of a puzzle and a logic game. There are dependencies that have to be considered, but of course it also has to fit somehow into the somewhat unusual board design. Since the microcontroller is the biggest part, you start with it, similar to the corners of the puzzle. You have to think a bit 3 dimensional, because you also have to place parts on the other side. For components that require a hole, like the connector for the USB cable here, you have to pay attention that there is no SMD component on the other side.

KiCad Platinenlayout


With a little practice this can be done quite quickly. The first attempt to place the components is rarely the only one. Because now the tracks have to be laid. And there are problems, especially with designs where the components are close to each other, to be able to lay the tracks as well.

KiCad Platine Layouten


Also here it is sometimes a little puzzle game. The number of VIAs should be kept as small as possible, which is not always possible. Also detours should be avoided. Since this is a quite simple circuit, which does not work with high frequencies, at least this point does not have to be given much attention when laying the conductor brackets. Here you should work very carefully. 

This certainly all looks very chaotic and confusing. And also here you have to think in two planes, because components have to be connected between both sides. KiCad offers at least some help here, which makes the whole thing a little more clear, as the corresponding contacts light up brightly when marking the beginning. The first tracks are still quite simple, it gets more complicated at the end, when the available space becomes more and more limited. 

It can happen that previous connections have to be moved again to make room for both connections. Note the distances between the tracks. These are also dependent on the board manufacturer. Each manufacturer offers a list of what is technically feasible and what is not. In the circuit board layout programs you can do a lot, but not everything can be implemented by every manufacturer. 

KiCad 3D Ansicht Platine


Such a beautiful view is then the first reward of the, but sometimes arduous work. But it was worth it. Next the Gerber files are created and sent to the service provider of his choice. And a few days later, or sometimes even weeks later, when they have a longer journey behind them from faraway countries, you can hold the finished result in your hands.

Retronics Joystickadapter SMD Version Platine unten


Now the board only needs to be assembled. I personally like to start here with the microcontroller so that you have enough space to solder it in turn. Then the other components are soldered. Somewhat fiddly is certainly J2, the small pin header around later the Miktokontroller to flash. If you like, you can also solder small wires here. This is only needed once to flash the bootloader (see also USB joystick adapter quickly and inexpensively assembled, where the exact procedure is explained),

The parts list looks like this:


 DescriptionReferencesValueFootprintQuantity Per PCBDistributor
1 Unpolarized capacitor C2 C3 C4 100n C_0805_2012Metric 3
2 Polarised capacitor C1 10µ CP_EIA-3528-21_Kemet-B 1
3 Unpolarized capacitor C6 C8 22p C_0805_2012Metric 2
4 Unpolarized capacitor C5 C7 68n C_0805_2012Metric 2
5 Zener Diode D1 D2 3.6V D_MiniMELF 2
6 Generic connector, double row, 02x03, odd/even pin numbering scheme (row 1 odd numbers, row 2 even numbers), script generated (kicad-library-utils/schlib/autogen/connector/) J2 AVR ICSP PinHeader_2x03_P1.27mm_Vertical_SMD 1
7 Generic connector, single row, 01x09, script generated (kicad-library-utils/schlib/autogen/connector/) J3 DB9 Joystick Port DB9_Conn_Edge_Male_Special 1
8 Generic connector, single row, 01x04, script generated (kicad-library-utils/schlib/autogen/connector/) J1 USB A Conn PinHeader_1x04_P2.00mm_Vertical 1
9 Jumper, generic, normally closed JP1 Ground PinHeader_2x01_P1.27mm_Vertical_SMD 1
10 Resistor R5 R6 1,8k R_0805_2012Metric 2
11 Resistor R4 10k R_0805_2012Metric 1
12 Resistor R1 2.2k R_0805_2012Metric 1
13 Resistor R2 R3 68 R_0805_2012Metric 2
14 TQFP32, 16k Flash, 1kB SRAM, 512B EEPROM U1 ATMEGA328P-AU TQFP-32_7x7mm_P0.8mm 1
15 Two pin crystal Y1 12MHz Crystal_SMD_5032-2Pin_5.0x3.2mm 1


When the board is assembled, the result looks like this:

Retronics Joystickadapter SMD Version Platine fertig unten


And the back, or the other side:

Retronics Joystickadapter SMD Version Platine fertig oben


On the pictures you can already see the soldered USB cable. For this board I used a ready-made cable, which has an open end. It can also be cheaper if you just take any USB 2.0 cable and cut the other end. It doesn't really matter which variant is preferred. The cable with the "missing" end (i.e. open wires) was more expensive than e.g. a USB extension, which would also fit here.

Now the bootloader has to be flashed and then the board can be mounted into the case.

Retronics Joystickadapter SMD Version Platine in Gehäuse


Now close the whole thing and the joystick adapter is ready. Now the joystick adapter can be connected to the PC, and just like the USB joystick adapter adapter can be quickly and inexpensively assembled with the firmware. With that the whole thing would be finished and the USB joystick adapter can be used.

If still questions or suggestions are, then the comment field is open to you to it.


I still have some circuit boards left. This can be requested for a small contribution towards expenses: PCBs

Log in to comment

Discuss this article

INFO: You are posting the message as a 'Guest'

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive
Cookies make it easier for us to provide you with our services. With the usage of our services you permit us to use cookies.
More information Ok Decline