DEV Community

Cover image for This Arduino Nano-Sized Board Packs a 300 MHz Cortex-M7 Chip
circuitrocks
circuitrocks

Posted on Originally published at blog.circuit.rocks

This Arduino Nano-Sized Board Packs a 300 MHz Cortex-M7 Chip

What do you get when you keep the Arduino Nano's 45 x 18 mm outline and drop a 300 MHz Arm Cortex-M7 into the spot where the ATmega328P used to sit?

The short answer: a lot more headroom

Maker Magmabow rebuilt the Nano around Microchip's ATSAME70, a 32-bit Cortex-M7 part. By his own numbers the swap buys roughly 18 times the raw speed, 60 times the program memory, and 200 times the RAM of the 16 MHz AVR on a stock Nano. The pinout still drops into a breadboard, so the mechanical habits you already have carry over while the compute ceiling moves somewhere else entirely. For a thesis group doing sensor fusion or audio DSP that an ATmega328P chokes on, that gap is the difference between "we simplified the algorithm" and "it runs."

How he escaped the BGA

Routing was the hard part. Dense BGA packages normally need microvias or via-in-pad construction to get traces out from under the chip, and both drag a cheap 2-layer order into expensive territory. Magmabow edited the footprint instead: he deleted pads the design did not need and trimmed the internal ground pads, opening lanes wide enough for ordinary traces to walk out between the survivors. Even after that the board stayed dark. Debugging turned up the real culprit, VDD_OUT has to feed VDD_CORE before the internal core supply will bring the processor up. Bridging the neighbouring capacitor pads with solder woke the chip, and an MPLAB Snap could finally flash firmware.

Power delivery was the second gotcha. A resistor divider reads a tidy 3.3 V on a meter with nothing attached, then sags the instant the core starts switching hard. A linear regulator burns the spare 1.7 V from the USB-C rail as heat, which is unpleasant on a board this small and this thirsty. The shipping revision uses an integrated buck converter to step 5 V down to 3.3 V, with a feedback resistor network setting the output and enough bulk capacitance to ride out sudden current spikes. Magmabow later respun the same layout around an STM32 for comparison.

Try it on your own bench

Do not start at BGA. Lay out a QFP Cortex-M0+ or an STM32G0 on a Nano outline first, get your USB-C buck stage and boot pins correct, then move to ball packages once you know your fab's minimum trace width and drill specs. A stock Nano and a decent breadboard from circuit.rocks make a fine reference target to measure your clone against. Full build notes and video are on Hackster.


Originally published on blog.circuit.rocks.

arduino #arduinoprojects #electronics #embedded #circuitrocks

Top comments (0)