Welcome to the Circuit Python Show. I'm your host, Paul Cutler. This episode, I'm joined by Ben Shockley.
Ben is a program manager, aerospace engineer, geek and explorer who loves to tinker, research and learn.
Ben, welcome to the show.
Thanks a lot. I'm happy to be here, happy to support it.
How did you first get involved with computers and electronics?
It's been a while and this may date me, but let's see here back in school
I remember the very first real computer experience would be
How to be Oregon Trail on the Apple - and you know the green screen and everything and you know
That was just a little bit of usage here and there
I think my real foray into computers started when my parents got one of their very first multimedia computers
I started to really figure out all the different things that you can do with this and then I started tinkering with it and
You know, after a while sometimes a computer would mess it up and family would get mad
and I'd fix it of course and get it back working again.
But after that I just think they decided to go ahead and get me my own computer in high
school because I think more or less they were tired of me messing with theirs.
So you know ever since then I've just been tinkering with computers and building them
myself and you know pretty much doing everything I can think of with a computer and enjoying
every minute of it.
That's great. I have a similar story with Oregon Trail and Apple too. It's still
very fun place for me. Tell me about the minifigure circuit boards that you designed.
Well first, what are they and how did they start? Sure, so they are basically a development board
similar to many dozens of other boards available today that run a micro little chip on it and you
know it's kind of you can think of it as a small computer with IO on it. But what makes them a
a little bit unique, I think, and kind of special is that they're shaped just like a
minifigure and their size. I tried to match it as best as I could one for one with a minifigure
and they started many, many years ago. What really started was I kind of got interested
in circuit board design. I wanted to see, "Hey, is this something I can do myself? Is
it possible? Can I teach myself how to do this?" And started searching and researching
about it and quickly figured out, yeah, I think I could probably do this. And it started
with very basic audio circuitry. I wanted to make like a headphone amplifier and started
digging into that and researching that and kind of quickly said, okay, I think I could
do that. Made a couple of things here and there. And then it moved over to, well, what
if I could do something a little bit more? And I had seen all these various boards out
there I think we all kind of at one point maybe started with an Arduino and I think I kind of
started with that. At the time Adafruit has some new boards coming out with you know some different
chips something you know into the 32-bit range and I thought oh that that looks kind of cool what if I
try something like that and you know the first board that I made was a basic rectangle shape
thing it was pretty much mimicking what else I saw but I thought you know that's kind of fun but
what else could I do? And I started to morph it into this, you know, I love Lego and grew up
playing with it and I thought that would be kind of neat. So it started to morph and the first few
rounds of design were more of a blob that kind of looked like a mini figure. And as I started
to explore the capabilities of really the PCB manufacturers, I could design anything in the
world, right? But whether it could be built or not was a different question. And I started learning,
yeah they can really start to do some of these finer details that I was wanting to put in there.
And so you know I think at first there was no gap between the legs and the arms just kind of
were stuck right at the side of the minifigure and that kind of thing. And I soon learned now I can
I can put these smaller details in here because it's all a hobby stuff I do in the you know my
free time. I just developed it more and more and more and it became more like an actual minifigure.
I think the first one that I would call a success was based on a Sandee 21 board by Atmel or Microchip, I guess now.
Made a bunch of those by hand.
I think I started sharing my results on like Twitter and in various places like that.
Hey, you know, this is kind of fun.
I and to my surprise, maybe I shouldn't have been.
But to my surprise, people were really loving these things.
And I started getting questions.
Hey, can I get one for me?
Can I get one for you?
And sure.
Yeah.
hold on, let me do this. And it was all assembled by hand at the time. You know, in my designs,
I kept trying to do that because I had no idea how to engage someone to go manufacture these for me.
So I just had to work with what I could possibly do. I think I bought myself a hot air gun. And
then I started thinking, okay, I guess I got to get templates for solder paste and, you know,
things of this nature as components started to get a little bit smaller because it is a very small
board to work with so the components had to be pretty small. Yeah I guess I you
know I just started making them by hand and then moved up saw an M4 chip the
SAMD51 and I thought ooh you know let's go to that one and see what else we can
do and so you know made a my mini SAM M4 was kind of the one that I'd made for a
while and I've made hundreds of those that was the one I started actually get
produced by someone for me because I just couldn't couldn't hand make them in
quantities people are wanting them. And that was several years ago. I think I had my last major
buy for that. Unfortunately, like a lot of people, the chip shortage hit me pretty hard and I couldn't
find those anymore. At the same time, Raspberry Pi Foundation came out with this RP2040 chip and
I thought that's a nice looking little chip. I started reading about it. Their documentation was
great. The support looked great. The chip itself was less than a dollar and I was paying several
dollars per chip for the for the microchip version. I thought, yeah, maybe it doesn't need something like the M4.
Maybe an RP2040 is more like what it really takes. And there were times when there might be several months between
development work or effort on it that, you know, life takes over, right? And I think in between all of this, I, my wife and I
had a daughter, she's six now, so that kind of dates how long I started all this many, you know, years before that. But
But eventually I finally picked it up again and the last couple months really been running
with it trying to finalize that RP2040 version of the chip which I named FigPi for semi-obvious
reasons.
Yeah, it's been again a pretty big hit I guess and I've got a few boards on hand that I had
assembled and I think there were about three or four iterations of prototyping before I
got it right but I'm getting a little bit better at it.
How did the two boards compare?
Were you able to add any new functionality to the FigPi?
Yes, a little bit.
I think one of the biggest issues that I had personally with the MiniSam M4 was the fact
that I just didn't have any good way of putting I/O on there.
So it currently has these 1.27 millimeter spaced holes and they're pretty small.
And it just honestly trying to actually work with it is pretty hard to do.
And so one of the goals with the FigPi was to make connecting to it a little bit easier.
So what I ended up doing with that one is on the back of it, I've got several...
They're JST...
I might get this wrong, but I think it's SH.
They're the one millimeter spaced connectors.
And most of them are four pin, which matches the Stemma QT or the Qwik style connectors.
And I did that on purpose for a couple of reasons.
Two of the ports are actual Stemma QT Qwik ports.
I2C based with the pins in the right order and everything.
So any of those boards that you find on Adafruit, the Stemic-QT boards, or any of the Qwik boards
you can find on SparkFun, and I think the Seed Studio Grove boards also have the same
kind of basic wiring setup, are all compatible and should just plug and play, and all the
wires and the connectors are available for a couple dollars here and there.
And that was intentional, because again, I wanted people to be able to connect to it,
I didn't want to have to design my own sensors and whatnot.
I wanted to have this great already developed ecosystem that I could just plug into.
So that's what I added there, and I think that's probably the thing I like the most.
The other addition that I kind of enjoyed doing was I added some additional RGB, I guess
you could call them NeoPixels basically.
The original, the SAM M4 has just a single one, which is more or less to support the
Circuit Python.
What's great about CircuitPython is it does give you feedback if you made a mistake here
or there through that RGB LED.
But with the 3x3 now, you can also use that to create other little things like I made
a heart or I made it count to 10 or stuff like that.
So that's kind of nice.
Speaking of CircuitPython, how has CircuitPython helped with designing the boards?
So I will say, without a doubt, without CircuitPython, without Adafruit supporting it, without all
the great people, many of whom you've interviewed, supporting it, there would be no way I would
be where I'm at today. I would have no idea how to write firmware. I'd have no idea how
to write the boot software for the SAM M4, which you have to do. It would have been just
me completely lost. Their support, again, has been invaluable. They've been excellent
at answering questions on Discord and places like that. If I run into an issue, I've just
posted real quick, "Hey, I can't get this to work." And I think a couple of times they've
piped up, "Hey, I think you've got the wrong size capacitor in there.
You really should probably put this one in there." Or, "Oh yeah,
you need to change your firmware or your board definition to say this and that,
and that'll get you what you're looking for." And so again,
it's just been invaluable. And then just without that community,
I don't know where I'd be. So yeah, love it.
That's great to hear. As a self-taught PCB designer,
what advice would you have for people just starting out designing their own
PCBs?
Do your research on the tool you want to use first.
There's a lot of good ones out there.
I started with EagleCAD back when it was,
you know, it was its own company.
I think Autodesk bought them.
I still used Eagle for a while
because I have a grandfathered in license.
And so it's kind of hard for me to give that up.
But I have, the FigPy actually was designed in KiCad.
And so I have moved over from Eagle to a KiCad setup.
And I like them all.
They're all very similar, just like any sort of CAD tool.
They all have the same type of thing as just learning
where each of those tools is.
And then once you kind of, once you find your tool,
just jump in, spend a little time, goof around.
I downloaded a lot of examples from other people
just to see how they did it.
And I think that helps a lot.
You know, it's just, it's like anything.
There's a learning curve to it, but anyone can do it.
It's possible.
- Are the minifig boards open source?
Do you share the design files as well?
- I do.
Everything I have is open source.
So I use GitHub or I'm kind of moving maybe
over to my own GitLab set up on my own server.
But yeah, I share everything out there.
I even have oshpark.com.
I don't know if you've ever used them,
but they're great for prototyping circuit boards.
They've been also very helpful.
and very supportive of me throughout the years as well.
And that's, I use them for all my prototyping
because they're fast, great quality, really helpful.
I have some of my boards already added to that.
So you can, if you don't even want to do the design aspect
and you just want to order a board,
I have links on my website to just click order a board
and you can get some boards sent to you,
the bombs available, stuff like that.
So yeah, everything's open source, ready to go.
- Well, that's great.
Last question I'd like to ask each guest.
You're about to start a new project.
Which microcontroller board do you reach for?
- Well, I would say my own, but the reality is,
yeah, I've got a lot of the Adafruit boards as well,
including the Circuit Python Express,
I think was what it was called,
the kind of the round one that has everything built into it.
It's a great board because it has so many peripherals
built in, so many things to try out and test and figure out.
And it's been a great tool to use as well,
But you know, sometimes I'll, whatever board happens to be
whatever's closest to my hand when I'm,
oh, I need something real quick,
and reach out and grab it,
and whatever's there is what I use.
But I think we all tend to have like that drawer
full of boards, right, that you open up,
and hmm, hmm, hmm, which one do I want today?
- Just full of boards in anti-static bags everywhere.
- Yep.
- And if people wanna learn more about the Mini Fig boards,
where should they go?
So minifigboards.com is what I'll say is the great place to start.
It has details about the boards there and like I said it has links there to my GitHub
repository to, links directly to order boards.
Again, if you don't want to have to open up a tool to look at the design or whatnot, then
you can go directly there to get a board.
You can also order boards through the website as well if you want to skip all of that and
and just order something already made and tested.
- Ben, thanks so much for being on the show.
- Yeah, I appreciate it.
This has been a lot of fun.
- Thank you for listening to the Circuit Python Show.
For show notes and transcripts,
visit circuitpythonshow.com.
Until next time, stay positive.
[Music]
(electronic music)