The audio amp is an HMDX Go amp. I am using Amazon Kindle D00701 speakers and they work very well. The amp gets very small if you trim it. The only down side is that the volume takes a long time to go up and down when you hold the buttons down. I have no doubt, though, that RDC's SmAllMP would work very well in this project as in any other portable.
The controller I chose is a Logitech F310 USB Gamepad. I would definitely not recommend it.
First, it doesn't use ground as a common contact for every button like a normal controller. Instead, it has about 5 different "common" lines, and each line is attached to an array of different buttons. For example, A, Down, and Start may all have the same common "ground" line, but B, X, and Y are all different and Left, Up, and Right are all different. It's because the buttons signals are fed into transistors and they put out a signal for several buttons on a single data line, so you essentially have one data line going to the IC for ABXY, one data line for the D-pad, etc. It's terrible.
Secondly, I am having a terrible time trying to get these 3DS sliders to work with the controller. At first glance you would think that the joysticks work like the joysticks of any normal controller, but they don't. The voltage used on the joysticks is created with a voltage divider created by the resistance of the joysticks themselves and it's a whole mess when you remove the joystick. Still, despite the fact that I've accounted for that voltage, the 3DS sliders move in a strange way that doesn't give you full range and I haven't been able to fix it.
If you're going to do a similar project you should probably find a quality USB gamepad that works like a normal first-party controller, or you could use a first-party PS2, GC, or XBox controller with a small USB converter since 3DS joysticks are known to work on those with the 3DS2AN.