This Barebones SAM D21 Feather Is About as Lightweight as It Gets — Quite Literally!

Radomir Dopieralski's little bit of Fluff has a parts count that reflects its lightweight name, yet still brings the functionality!

tomfleet
over 5 years ago HW101

There's some often unappreciated thought behind the naming of the Adafruit Feather hardware platform. If you've ever held an actual bird's feather in your fingers, you'll have noticed just how lightweight it is. It's impressive engineering from nature, so it's no surprise we take so much inspiration from it here in the engineering world!

Generative design that echoes nature can unlock previously unattainable performance.

Like their biological namesakes, the electrical Feathers are streamlined to give you all the features you want from your MCU, with a minimum of fuss — most support components found on these boards are there to get the most out of that board and its MCU, in as easy a fashion as possible.

That NeoPixel? It's handy for the bootloader, if any, that will often reside on external flash, which can also be used for code storage in the case of CircuitPython boards.

What if you wanted to just get back to the basics, and focus on the bare minimum viable MCU board? What if you took the essence of a Feather and stripped it down. What might that leave you with?

I reckon you'd maybe be left with something that resembles a bit of fluff, perhaps even... a bit of Fluff M0?

That's what Radomir Dopieralski has boiled the form factor down to with Fluff M0 v1.0 and its stark design, pictured above.

Just last week, we covered Dave Darko's Sarcastic Feather, which in a similar spirit aimed to simplify things, reducing his board to an ATmega8-powered, through-hole design.

In a similar quest for simplicity, Dopieralski has also aspired to reduce the complexity of the design, but chose to stick with SMD parts, allowing him to reap the benefits of a familiar, powerful Arm processor.

He's torn through the BoM, and not only has he drilled down the list of components to the bare minimum he sees as fit for his uses, he's quite literally drilled down on the physical weight of the board, with it sporting some seriously eye catching spot-holes for visual relief!

Dopieralski has filled what little is left of the physical board area with only five components — but they are some family favorites, and one of them has a few tricks up their sleeve...

Components

The most significant part, an ATSAMD21E18A-MU microcontroller, sports a max CPU clock of 48MHz, 256KB of program memory, and 32KB of SRAM.

The other four parts are tasked with getting the SAM D21 up and running, and thanks to features like an internal RC clock and USB series resistors, all that is needed to complete the BoM is a microUSB socket (Amphenol 10118193-0001LF) and an AP211K 3.3V LDO regulator with its two 1uF, 0805 decoupling capacitors.

A fully functional bit of fluff!

The USB connection is barebones, but it's functional, and is a straight lift from the suggested "low-cost" implementation from the datasheet. It might not have the TVS array that would give some extra ESD protection to the lines, but if this is a board that is meant to be programmed once, that's not of huge concern!

Even with the minimal BoM, and minimal actual circuit component footprint, we are still treated to full complement of I/O, as defined by the standard feather pinout, and the headers simply have some N/C pins for things like the battery connection.

While most of the CircuitPython boards we've seen lately make use of the pretty awesome, and very powerful SAM D51 parts, let's not forget that the SAM D21 that dominates the board layout here is in no way a slouch.

With its 32-bit Cortex-M0+ processor and 256KB of flash, it is still capable of running the CircuitPython interpreter, thanks to efforts from adafruit to port the environment over to this platform — there's even a great how-to guide here, that walks you through the initial setup for most of the common D21-based development boards!

However, that is not to say it's without a slight tough of limitation — without the external flash memory found on boards specifically designed with the requirements of general usage in mind, you are limited to about 250 lines of Python code. Library imports are also obviously best kept to a minimum here!

But, if you can live with these constraints, perhaps having optimized your code in terms of space and function, then this is a really cost-effective way of deploying a CircuitPython-based project!

Dopieralski has no plans to sell these board, but he's made the Fritzing project and the Gerber file output available for all over on the project page.

Joking that he might have plans to remix this bit of fluff into a slightly beefier SAM D51 variant, I can't help but wonder what's next. Maybe a bit of a pocket lint?

Like the look of this project? Follow along with Dopieralski's progress on Twitter.


tomfleet

Hi, I'm Tom!I create content for Hackster News, allowing us to showcase your latest and greatest projects for the world to see!

Latest Articles