Here are some photos I've made yesterday, while assembling InputStick prototype. Unfortunately I didn't make any while soldering components. Whole assembly process took about an hour.
On the bottom side there is a STM32F102 microcontroller, which takes care of handling USB protocol. If you take a closer look you'll notice, that uC pins are not perfectly aligned with footprint (probably worst example of my LQFP package soldering), still it works just fine.
|InputStick: assembled PCB (bottom side)|
On the top side there is a Bluetooth serial adapter module, which allows to wirelessly communicate with a smartphone. Since most pins of the module are not used, I didn't include them in footprint, what made PCB routing a little bit easier.
|InputStick: assembled PCB (top side)|
As you can see I had to cut PCB in order to fit it into enclosure. Since it's just 0.8 mm thick I was able to do that with scissors :) I also drilled four holes in top enclosure cover. Why? You'll see soon.
Now it's time to put everything together.
...and it's ready!
|InputStick: bottom side|
|InputStick: top side|
I guess that now it's clear why I needed holes in the enclosure. Since firmware still requires a lot of work, I often have to upload new version or work with debugger. To do that, I just need to plug four wires (SWDIO, SWCLK, RESET and GND) and connect it with ST-Link/STM32Discovery board, no need to remove PCB from enclosure. Whole process takes something like 30 seconds.
|InputStick: with debugger cable attached|
Now, let's upload firmware and make some tests. It works! :)
|InputStick: plugged in|
Next time, I'll post videos of InputStick in action.