Unix On Your Breadboard

As smartphones continue to get bigger and bigger, the race to have the smallest chip running Unix (or Linux, as the case may be) is still on. A new contender in this arena is [Serge] who has crammed RetroBSD on a Fubarino microcontroller for a powerful breadboard-friendly device.

The device uses a PIC32MX795 processor to run version 2.11BSD Unix for microcontrollers. It uses only 128 kbytes of RAM which is great for the limited space available, but it doesn’t skimp on software. It has a C compiler, assembler, and a whole host of other utilities that you’d expect to find in something much more powerful. All of this comes in a package that has breadboard-compatible pins so you can interface your Unix with the real world.

There’s a video below that shows the device in action, and a whole host of instructions that’ll get you up and running in no time if you have the hardware available. [Serge] mentioned that this would run on other architectures but is looking for others to join the project to port it to those processors. This isn’t the first time we’ve seen *nix installed on a microcontroller, but it is one of the more useful ones!

If man had taken that attitude since time began nothing would have ever been achieved. Why climb a mountain? “Because it’s there!”. Where’s your sense of adventure, man!? You don’t realise what an achievement it is to squeeze an entire multi-tasking operating system into such a small chip. It’s not so much a case of “because you can”, but more “because they said you can’t, but I’m going to set out to prove them wrong!”

Looking at the size of the Fubarino I wonder whether it wouldn’t have been easier to just solder the header pins in the other way around (or just turn the board over) and skip the breadboard alltogether instead of heaving just one free row crammed at each side.

A lot of boards like this have that sort of layout; I’ve been using an MBed for a uni project, and that only leaves about a row clear on a breadboard. The thing to keep in mind, though, is A; this is a smaller than usual breadboard, so normally there’d still be space at the other end of the breadboard to put other components, and it’s easier to go breadboard-to-breadboard with connections than jumpering over to a loose board, and B; While they are covered by the board, the rows underneath the fubarino can still be used; you’ve just got to plan out your connections before you put the board in, as they’ll be a little tricky to tweak afterwards. I did that with a lot of the connections on my uni project; kept it all nice and neat.

The Fubarino comes with the headers detached. You can put them either side, or use right-angled headers if you choose, or even female headers to poke wires directly in. Or even no headers at all and solder the wires in directly. It’s flexible – unlike some of the attitudes I see on these comments ;)

module width is a bit on the ‘too wide’ side. can’t it be made thinner? the 40pin (etc) dip socket style is a preferred form factor.

I do use lots of arduinos and I started with the 328 skinnydip chip. I used lots of those and designed and shipped product using it. then I became aware of the nano v3 style form factor, years later. those are cheap as chips (lol) and they cost me a bit more width than the skinny-dip spacing, but they also brought along enough useful stuff to justify it, sometimes. but I do dislike the width that I gave up (board space sometimes matters). for this unix-on-a-chip, it seems that I’m being asked, as a builder, to give up at least 1 more row of pcb real estate. its hard to keep asking for a row and a row ;) and so, I would ask: what, on the -module-, could be changed or given up so that they take the hit on the chip size rather than the users, on their baseboard size. do you -really- need to be that wide, in a nutshell.

I installed this on the Fubarino I got as a Hackaday prize and had a lot of fun playing with it. However, I did have to overwrite the Fubarino default bootloader with the Microchip HID bootloader in order to get the RetroBSD image to load (though this may have changed since then).

RetroBSD definitely is fun!
All my Duinomites are “retrobsd”ed…
What else would you run on Duinomite?
DMBASIC is terribly outdated, MMBASIC is not free enough (at least for me), the TRS80- and CP/M-emulators are nice to see but more like archaeoligic stuff…