Jeff Duntemann's Contrapositive Diary Rotating Header Image

raspberry pi

The Raspberry Pi Pico…and a Tiny Plug-In Pi

Yesterday the Raspberry Pi Foundation announced the Raspberry Pi Pico, at the boggling temporary low price of…$4US. It’s definitely a microcontroller on the order of an Arduino rather than the high-end 8GB RPi that might stand in for a complete desktop mobo. And that’s ok by me. The chip at its heart is new: the RP2040, a single-chip microcontroller designed to interface with mainstream Raspberry Pi boards, and lots of other things.


Now, what caught my attention in the page linked above was the list of partner products made by other firms using the same RP2040 chip. Scroll down to the description of the SparkFun MicroMod RP2040 proccesor board. It’s still on preorder, but look close and see what’s there: an edge connector…on a board the size of a quarter! That’s not precisely what I was wishing for in my previous entry, but it’s certainly the right idea.


As I understand it, SparkFun is turning the RPi-wearing-a-hat on its ear, into a hat-wearing-an-RPi. The M.2 interface used in the product is actually a standard developed some years back for use in connecting SSDs to tiny slots on mobos. I knew about M.2, but wouldn’t have assumed you could mount a CPU-add-in board using it. Well, shazam! Done deal.

The RP2040 chip is a little sparse for my tastes. I want something I can run FreePascal/Lazarus on, over a real OS. I don’t see anything in the M.2 spec that would prevent a much more powerful processor board talking to a device (like a keyboard, TV or monitor) across M.2. The big problem with building a high-end RPi into things is keeeping it cool. The Foundation is aware of this, and did a very good job in the $100US Raspberry Pi 400 Pi-in-a-keyboard. (This teardown and review is worth a look if you’re interested in the platform at all. The author of the teardown goosed the board to 2.147 GHz and it didn’t cook itself.)

I fully intend to get an RPi 400, though I’ve been waiting awhile to see if there will soon be an RPi 800 keyboard combo with an 8GB board instead of 4GB. Given the price, well hell, I might as well get the 4GB unit until an 8GB unit appears.

So consider my previous post overruled. It’s already been done. And I for one am going to watch this part of the RPi aftermarket very carefully!

Proposal: A New Standard for Encloseable Small Computers

Monitors are getting big. Computers are getting small. I think I’ve mentioned this idea before: a cavity in a monitor big enough to hold a Raspberry Pi, with the monitor providing power, video display, and a couple of USB ports for connecting peripherals like mice, keyboards, and thumb drives. Several of my Dell monitors have a coaxial power jack intended for speaker bars, and a USB hub as well. I’ve opened up a couple of those monitors to replace bad electrolytics, and as with most computer hardware, a lot of that internal volume is dead space.

The idea of a display with an internal computer has long been realized in TVs, many of which come with Android computers inside. That said, I’ve found them more a nuisance than useful, especially since I can’t inspect and don’t control the software. These days I outsource TV computing to a Windows 10 Intel NUC sitting on the TV cabinet behind the TV.

The top model of the Raspberry Pi 4, with 8 GB RAM, is basically as powerful as a lot of intermediate desktops, with more than enough crunch for typical office work; Web, word processing, spreadsheets, etc. With the Debian-based Raspberry Pi OS (formerly Raspbian) and its suite of open-source applications, you’ve got a desktop PC. More recently, the company has released the Raspberry Pi 400, which is a custom 4GB RPi 4 built into a keyboard, with I/O brought out the back edge. (In truth, I’d rather have it built into a display, as I am extremely fussy about my keyboards.) Computers within keyboards have a long history, going back to (I think) the now-forgotten Sol-20 or perhaps the Exidy Sorcerer. (Both appeared in 1978.)

What I want is breadth, which means the ability to install any of the modern small single-board computers, like the Beaglebone and its many peers. Breadth requires standardization, both in the monitor and in the computer. And if a standard existed, it could be implemented in monitors, keyboards, printers, standalone cases, robot chassis, and anything else that might be useful with a tiny computer in its tummy.

A standard would require both physical and electrical elements. Electrical design would be necessary to bring video, networking, and USB outside the enclosure, whatever the enclosure is. (I reject the bottom-feeder option of just leaving a hole in the back of the enclosure to bring out conventional cables.) This means the boards themselves would have to be designed to mate with the enclosure. What I’m envisioning is something with a card slot in it, and a slot spec for video, network, i2s, and USB connections. (GPIO might not be available through the slot.) The boards themselves would have slot connectors along one edge, designed to the standard. The redesigned boards could be smaller and thinner (and cheaper) without the need for conventional video, network, audio, and USB jacks. (Network connectors are increasingly unnecessary now that many boards have on-board WiFi and Bluetooth antennas.) Picture something like the Raspberry Pi Zero with edge connectors for I/O.

Defining such a standard would be a minor exercise in electrical engineering. The big challenge would be getting a standards body like ANSI interested in adopting it. The Raspberry Pi Foundation has the engineering chops, obviously, and once a standard has been created and proven out, groups like IEEE or ANSI might be more inclined to adopt it and make it “official.”

I understand that this might “fork” the small-board computing market between GPIO boards and non-GPIO boards. Leaving the GPIO pads on the opposite edge of the board is of course possible, and would allow the board to be enclosed or out in the open, or inside some other sort of enclosure that leaves room for GPIO connections. A big part of the draw of the small boards is the ability to add hardware functionality in a “hat” that plugs into the GPIO bus, and I don’t want to minimize that. I think that there’s a market for non-GPIO boards that vanish inside some larger device or enclosure that provides jacks for connections to the outside world. The Raspberry Pi 400 is an excellent example of this, with GPIO header access as well. What I’m proposing is a standard that would allow a single enclosure device to be available to any board designed to the standard.

Ok, it would be hard–for small values of hard. That doesn’t mean it wouldn’t be well worth doing.

Odd Lots