Skip to main content

minik

Intro​

minik (tiny, in Turkish) is a very small microcontroller module based on the Raspberry Pi RP2040. It contains the minimum support circuitry for the RP2040 plus a smart WS2812 LED.

assembled minik module circuit boards

The module is a fun-sized (13.82 x 22.14mm) 4-layer PCB and it can be used with both 1.27mm pins, socketed on the parent board or manufactured with castellated pads, to be soldered down on the parent board.

Here it is next to its larger cousin, the Pico:

minik modules next to a Raspberry Pi Pico board

We've been using minik on internal projects for a while; here's the older revision module mounted on one of the test jigs for Electrolama products:

minik module used on a parent circuit board

Pins​

Almost all of the pins of the RP2040 are exposed and can be used, except:

  • GP25 - not routed out, connected to the WS2812 LED (use Neopixel library for control)
  • GP15 - not routed out, not connected to anything

Breakouts​

Working with the tiny modules on their own is not easy so a breakout/dev board is also included in the repo that can be used both with pins and castellated boards:

breakout circuit boards for the minik modules

The breakout has a 3.3V LDO, a power switch, headers for all the module pins and buttons for reset and "USB Boot". There are also (active high) LEDs on each GPIO to help with debugging - these become quite handy especially when there's a lot going on, like clj's prototype setup for clock-buddy:

minik module and breakout with lots of extra bits wired to them

These helper LEDs can be disabled by cutting a solder jumper at the back of the board.

Pogo pins are used to make contact with the castellated pads (aka half-holes):

minik module to be seated on a bed of pogo pins

To align the pogo pins and also to push down the module-under-test, additional spacer PCBs with some M3 threaded spacers and thumb screws are used:

minik module sandwiched between the pogo pins and an extra PCB

Aside from looking pretty cool, this works great as a quick way to test boards with castellated edges.

CircuitPython​

CircuitPython builds for minik can be found here.

(Thanks Adafruit and CircuitPython developers!)

Build your own​

Gerbers, BOMs and other manufacturing files are in the Github repository for the module and the breakout. You should be able to use the popular low-cost assembly services to get assembled and ready-to-use boards, although we're not recommending which service to use here.

If you're assembling modules by hand, working with a single module doesn't make sense given the setup time, paste used, etc. so gerbers for a 2x2 panel config (64 x 42 mm overall) are included in the repo. Here it is, in the signature Oshpark purple:

a 2 by 2 array of minik modules on a panel

Off-topic: If you're thinking of designing similar board with castellated pads and use Oshpark: Ensure your castellated pads are round as otherwise they will just get ignored.

Why not smaller?​

The current revision (A2) modules are 13.82 x 22.14mm, pretty small!

Could they be even smaller? Actually yes, the first revision (A1) modules were 11.43 x 17.78 mm. Here's what they look like compared to the current revision:

the older and smaller version of the minik module

The smaller size would work in the "pin-less" scenario where there's just the castellated pads on the edges but when you try to use pin headers, the edges of the headers overlap as there's not enough space between the top/bottom and sides - you end up having to trim off the corners to make them fit. Not ideal.

Even smaller than that? Well, if we get rid of the pins and go for LGA-style pads on the bottom (à la Artemis) we can get down to 11.16 x 17.51 mm:

screenshot of a smaller module design

But at this point, we're just increasing complexity to the point that we might as well get rid of the module and lay down RP2040 plus support circuitry on the parent board.

To summarise: Yes - the modules could be smaller, but the current size is a) small enough and b) chosen to work well for both pins and castellated-pads mounting options.

Yet another RP2040 module?​

Fun fact, working title for minik was actually yarp2040: yet another RP2040 module!

Why not use one of the many existing boards out there and design something from scratch?

Simply put: we needed a very small/lightweight and flexible enough board that could be manufactured easily to use on internal projects and at the time, no existing design worked for us.

The official dev board for RP2040, Pico, is too big for what we need. It also doesn't properly expose the USB pins for it to be mounted on to other designs - repurposing test pads as an afterthought is not a proper mounting option.

PGA2040 by Pimoroni is pretty small, but there are too many pins to solder manually and it can't sit flush on the parent board as there are components on the bottom.

RP2040 Stamp by Solder Party comes very close to our requirements but it is still a bit too large and has bits we do not need (like the LiPo charger) - unnecessary cost.

One of these boards above could work for your needs and you might not actually need minik. Go support other folks doing cool stuff by purchasing their products if that is the case :-)

License​

minik is designed by Electrolama / @OmerK and licensed under the Solderpad Hardware License 2.0.