In trying to learn from my previous attempts, I think modularity, and outsourcing will make life easier; that is, if you don't have to make things harder, don't.
In particular, this is in regard to custom PCBs. In the second attempt of the sonic screwdriver, I dreamt of a gorgeous single PCB, hosting all the components in neat rows, and spiraling silk screen art.
Wiring was a task in it of itself. Fortunately, there were auto-routing scripts, and though I still had to push some wires about, it largely got the job done, and after sending the gerber files to OSH Park, I received their glorious purple PCBs a several days later. And honestly, I had fun trying to solder what I could, after populating with a "reflow oven", which was literally just a toaster oven.

The issue with this was approach there wasn't much room for testing and making sure things worked. I couldn't prototype as much, and before I knew it, there were too many errors and shorts to easily correct.
This time around, I want to use more of a modular approach. Rather than generating a single PCB with everything, I intend to use discrete modules, so that I can test the electronics, and functions before they have to work in concert. This has the benefit of making things easily changeable, in case one part is damage, or I find a better module down the line.
Looking at the modules I'm envisioning for the first prototype, I have blocked them into the following space. The current constraints are space and positioning - a sonic flashlight is just not as cool. I chose a few modules (looking through the usual Sparkfun, Adafruit, Digikey etc.), and stumbled on a company whose products were rather fitting for the task (TinyCircuits.com).

Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.