The other weekend I made the SMDuino after I got tired laying out the same components in my Arduino projects.
SMDuino provides a much needed surface mount solution for Arduino based projects. By eliminating the need to integrate the common support components for Arduino’s ATMEGA, engineers and hobbyists alike can accelerate their designs and produce a finished product. No more prototype wires and development boards under the hood!
Utilizing easy to solder 0.1″ castellated mounting points, anyone can drop a SMDuino into their project either as a surface mount device, or by soldering headers to the side. SMDuino accounts for power (MIC5202 or equivalent), ISP, crystal and AVR.
Make a robot friend with Adafruit’s CRICKIT – A Creative Robotics & Interactive Construction Kit. It’s an add-on to our popular Circuit Playground Express, FEATHER and other platforms to make and program robots with CircuitPython, MakeCode, and Arduino. Start controlling motors, servos, solenoids. You also get signal pins, capacitive touch sensors, a NeoPixel driver and amplified speaker output. It complements & extends your boards so you can still use all the goodies on the microcontroller, now you have a robotics playground as well.
Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !
That is a really super design. I mostly use the Teensy boards due to their small form factor compared to the stock arduino design, but this is even better.
If you move all of the required power and ground pins to opposite sides instead of adjacent sides then it becomes breadboard friendly.
The board space of the ISP could be replaced with a micro USB and the through-hole ISP could be replaced with SMD pads on the bottom of the board since the bootloader flashing only needs to happen during construction.
Thanks for the comments!
Regarding your breadboard comment: I totally agree with making the board breadboard compatible. With the first rev. I wanted to keep the I/O consistent around the perimeter, but making it breadboard friendly makes sense.
Regarding your ISP comment: I decided not to go with a peripheral connector as the device is meant to be embedded. But, making ISP SMD is a good idea. I used that method on another project of mine and it worked well. The only drawback is if you dont use the Arduino bootloader, rather flash each time with ISP. In order to flash with SMD pads, I soldered on spring loaded test pins to the end of a 2×3 row of male headers. It worked pretty well, although holding it on for the ~1min programming time is a bear 🙂