Hacker News new | past | comments | ask | show | jobs | submit login
MirkoPC – a Raspberry Pi CM4-powered computer made in Poland (jeffgeerling.com)
199 points by geerlingguy on April 19, 2021 | hide | past | favorite | 72 comments



It's interesting to see how people have basically reinvented the standard motherboard, as people have been building PCs from in the DIY x86/x86-64 community for 30 years.

We've gone from what a raspberry pi was originally intended to be (a $25-35 computer) to something the same size, complexity and price as a standard Taiwanese mini-itx or micro-atx x86-64 motherboard and lower-end Intel or AMD CPU, with the same complement of I/O.

I had the feeling this was inevitable when I saw people putting active DC powered fans on heatsinks on the rpi CPU some years ago.

Sort of like how a modern Toyota Corolla has incrementally evolved to be a whole lot fatter, heavier, feature laden and costly than the same model name of car 20 years ago.


I really think the RPi has the potential to become the de-facto ARM desktop, very much like the IBM PC became the de-facto x86 machine. I really wish the boot procedure and all that wasn't so proprietary.

It's unfortunate that the RPi foundation doesn't acknowledge this potential more.

It feels like the RPi is stuck in the middle between being a low-cost board for GPIO tinkering and being a low-cost general-purpose computer, being not really that good at either task. Maybe they should create a coreboot-enabled board that is a little more pricey, starting at 60 or 80$ or something, for the "ARM-PC" (the RasPC!) market and separate that from the board for the tinkerers.


Like the '400' model built into a keyboard released fairly recently?


> Really think the RPi has the potential to become the de-facto ARM desktop

I'd say it already is yet still isn't particularly useful in this role.

As soon as it gets able to run YouTube without visible performance problems and adds some spare PCIe lanes so you won't have to sacrifice USB 3.0.


By the way I wonder why does my almost-decade-old smartphone run YouTube (in a browser as well as the app) perfectly while Raspbery Pi 4 seems having much harder time doing that.


> the RPi has the potential to become the de-facto ARM desktop, very much like the IBM PC became the de-facto x86 machine

Your use of "de facto" implies a significant presence in the retail marketplace such that consumers choose the product readily without seeking options.

The RPi is unlikely to ever achieve this in 2021 and beyond. However, the RPi 400 is a brilliant device. I recommend it over just about any other computing option except maybe a mid- to high-end Chromebook.

From the point of view of sustainability, the RPi 400 is a much better option than a Chromebook.



I think the de-facto ARM desktop is already here. It's the M1 Mac.


With its blackbox boot procedure and all of the security stuff you have to disable to even run a pared down kernel with limited support for basically everything since the system architecture is also a blackbox, I'd disagree. It's unlikely to be reversed engineered into a defacto standard like the IBM PC was.


RPi foundation has its goals and it follows them well. I hope they will not get distracted by "ideology".


The 400 model of Pi has a potential to start something comparable to microcomputer boom in the 80s and become first step into ARM desktops (again) I believe and also become the standard for machines used in education - if someone will play this out well. Smartphones and tablets dominate consumer market nowadays for sure but these are largely entertaining devices only not offering much when it comes to education; of course you can install apps but you're still limited by form factor.


The rabbit hole gets deeper still: there are at least three in-progress ITX or ATX motherboard designs based on the Compute Module 4: https://pipci.jeffgeerling.com/boards_cm


Many of them probably are unaware of these things: https://www.ebay.com/itm/265106510516 (random result sorted for low price, just search for "picopsu") Once paired with a fanless Mini-ITX board they make for a really compact system that can be supplied by a single 12V line.


There's been considerable movement to just get rid of the 3.3v and 5v lines from power supplies anyways. Newer motherboards are being built with the ability to just take 12v and convert it on board, essentially the circuitry on that miniPSU you linked.


That has an appeal, but it lacks the peripherals and support that comes with the raspberry pi.

The great things about the pi, if not the greatest, is the sheer amount of documentation for doing all sorts of things.

Trying to get access to the i2c on an intel board? yeah its possible, but its not easy.


There are small and cheap adapters to take a serial/USB line and transform it into a i2c one, but the i2c bus on most motherboards is already accessible and documented because it's what operating systems use to read various sensors on the board.

https://www.kernel.org/doc/html/v4.12/driver-api/i2c.html

If the i2c but is used for example to do r/w on gpios, then other products can be used, for example:

https://www.hardkernel.com/shop/usb-io-board/


It shouldn’t be hard to use a PCIe GPIO card in a PC for bare metal programming or “in conjunction with third party OS such as MS-DOS(R) or Linux(tm)”, factory automation companies might still be doing exactly that. I think why those are not brought up often is cost.


If you really want to do something like that, you could always connect an Arduino or RPi (or similar) to a PC over serial/USB. Then you could use it as a kinda-gateway device. Taking commands from the primary PC and interfacing with low level peripherals over i2c, etc. But for the cost of this, it would probably make more sense to just wired the gateways up directly to Ethernet to allow one system to control all of the devices... which is how I imagine most factory automation is done. No need to have an extra PC to manage network control when an Arduino can do that by itself.

Aside from the hobby aspect, one reason why Arduino and RPi are so popular for these types of projects is that they are effectively cheap enough to devote to an individual project. You’d wouldn’t want to devote an entire PC just to manage a sensor or control a door, or... but an Arduino for $10 or RPi for $30, sure.


sure, why not, I guess? At least if people want a really low cost desktop, or something like a computer powering a kiosk, there's a plethora of low cost but functional mini-itx, microatx or atx sized steel cases. If you go to newegg and sort by price, for instance:

https://www.newegg.com/p/N82E16811147295R?quicklink=true

If you look further there's some much smaller slimline desktop mini-itx (170x170mm format) barebones cases that are probably about the same price.

vast economies of scale in standardized mounting formats and open standards, like the dimensions/mounting holes for a normal ATX power supply...


I'm also getting into this as well. Currently working on a PCB schematic for a compute module 4 with a full sized nvme, usb port and ethernet port for clustering.


I see a few appealing reasons to spring for the rpi variants:

- Lower power profile

- In theory no need for noisy fans

- Exploring ARM

Personally, I'm excited for a mobo that let me cluster N different CM4s with an array of SSDs. I like the idea of building a little Kubernetes cluster on a Pi array for the fun of it.


You can build a fanless x64 PC quite easily: 4-core Intel Silvermont/Goldmont or AMD Ryzen Embedded V and R series can be passively cooled. Many of those ITX boards come with a 19V DC-Jack power-in so you can use a laptop power brick and eliminate the PSU fan as well. Fujitsu used to have some nice designs, I think now it's owned by Kontron. Asrock also has a good selection for more retail-oriented products.

Of course you can also passively cool a full-fledged desktop CPU if you want but that's a different category in terms of price and performance so I am not talking about that.

As for power, I have Puma-based x64 4-core boards that idle at 5W and consume 12W at full load (measured at the wall). Goldmont should be similarly efficient. RPi4 is about 7W at load I think. Not a huge difference.


Yeah, you can even go back much further in time if you're not too worried about performance. I've been running a fanless Atom J1900 based mini-PC as a home server for ~8 years nonstop now. It's trivial to build such a system but at least back then the cost was literally 10x to 20x the price of a rPI today. I would guess that even though it's an 8-year old CPU it's probably about 2x as fast as an rPI 4B, and for something that's been chugging along for all this time the cost/depreciation over time vs. a much cheaper rPI isn't really an issue for me.


No doubt x86 can be passively cooled, but presumably that means giving up the competitive price point that the OP mentioned with respect to the chip and mobo?


That carrier board doesn't seem to have a price yet, but if you don't mind buying used (and saving some perfectly capable devices from becoming e-waste at the same time) you can usually get a second-hand thin client for the price of the RPi CM module alone.


Lenovo has ThinkEgde with passive cooling, not sure how price to performance compares there.


It's fun, but even with SSD is going to be slow. I built that for "fun" (without ssds) and an hour later put it to storage and then setup vmware on a spare PC, because it was so slow.


> - Lower power profile

RPi is many things, but the latest generation is anything but low power. It IDLES at 60 degrees celsius, which means it really burns quite a bit of power just sitting there doing nothing.


According to a quick Google search, the idle power for the 4B (not sure about the CM4) is 2.7W: https://www.pidramble.com/wiki/benchmarks/power-consumption. That seems quite low, no?


The IO pins are the big difference.

If you wanted to solder/connect some ICs to your PC, you were limited to using the parallel/serial ports.

We get a much more direct access to the CPU with these SBCs, which is what makes them so special.

It's more like they are a microcontroller on steroids, rather than a stripped down PC.


Absolutely - but in the context here of low-budget desktops, having GPIO is something relatively few users want? I personally tend to use an RPi Zero W instead of an Arduino/ESP* for little projects because I like having networking, cron, etc.


Not really "reinvented", since everyone knows what a motherboard is. A "normal" motherboard just isn't something you can easily design and make yourself.

While the Pi is in many ways not the "best" basis for such projects, its the one that is the most initially accessible, or at least appears to be, compared to other SOMs. Hence you see more small projects based around it.


What I personally don’t understand is why most ARM alternatives (odroid, raspberry, banana pi, beagleboard etc) always think in such small dimensions.

I mean, a 128 core ARM with 1TB of RAM would crush any x86_64 alternative easily. ARM has no limits in parallelization, why is there nobody using that advantage?


This looks great, but for a new form-factor, why put the USB-C PD power port on another side than the other USB/Ethernet side?

The Raspberry Pi is a great device at any price point, but the biggest fault, in my opinion, is that there are critical ports on all four sides, which means cables snaking out of it on three of the four sides, and SD card access on the fourth. Moving the power to the same side as the USB/Network would improve packaging considerably.


I have seen a number of different rackmount case designs intended to vertically mount a number of raspberry pi 3b/4 boards in something like a shallow depth, 3U enclosure. One of the design problems has been that the power jack is on the other side from the networking. Some people have solved it by additional DC-DC circuitry as a hat to power them from 802.3af. And the microsd card is accessed from the other side.

But some model of rpi with all of its external connections along one side of the PCB would be very helpful for doing this with less third-party hacked up solutions involved.


Having all ports on one side is one of many reasons I like the Argon ONE case. It uses an add-on board to redirect the A/V and power ports, which also converts the HDMI ports to full sized versions.

https://www.argon40.com/argon-one-v-2-case-for-raspberry-pi-...


I feel like someone should basically build the Pi 400, but use a Compute Module 4 at the heart... like I wish the Pi Foundation would've done, for upgradeability.


the compute modules rarely (if ever) support backwards compatibility. At least not that I've ever seen.


Up until the CM4, every generation of CM (original CM, CM3, CM3+) worked in the exact same slot on the same hardware.

I know this because I tested a mixed cluster with all three on a Turing Pi board :)

Additionally, upgrading from a 1 GB Lite module to an 8 GB 32 GB eMMC module could also be possible if they were swappable.


I broadly agree with moving ports together, but in this case I'm not sure there's room without making the board bigger or stacking ports (which I assume would significantly complicate things).


This is an amazing board because among other things it lets you add an NVMe drive making the Pi4 a perfectly reasonable computer for day-to-day tasks that don't push the graphics too hard.


The Pi will still struggle for youtube videos though.


Yes, and heavy sites like facebook. The Pi is just not quite there yet for seamless day to day use.


I'm struggling to see the point of getting a CM4 and adding this MirkoPC board to it over just getting a Model B and a case that supports adding an M.2 flash card.

As far as Pi as a desktop goes? Sluggish is being generous. Even with 8GB Ram, you're hobbled by the weak GPU. Coudn't even stream Twitch without encountering system wide lag. The Pi needs much more than faster storage if it's going to be replacing desktops at any meaningful rate.


The GPU has supported 1080p hardware h264 decoding since the first Raspberry Pi. If you're having issues with video streams, you're not using the hardware decoder and probably using software decoding on the CPU.


Then that means Raspberry Pi's own OS images are not using the hardware decoders for in Browser streaming.


V4L2’s h264 stateful video decoder is enabled in official OS images, and works great in practice on Pi4: https://github.com/Const-me/Vrmac/tree/master/VrmacVideo VLC player shipped in these OS images uses that one as well.

If it doesn’t work for you in Twitch, the likely issue is the web browser. Try to upgrade it to latest version, and/or configure it somehow.


Chromium support for hardware decode on the Pi was only added very recently (in the last month or two, I think).


hmmm. This could be root of the problem I described above. We were using the latest release of Chromium, but AFAIK the configuration screens claimed to be using the hardware decode.

Good to know for the future. The project already shipped with an Intel PC for the video display.


Yes, browser support for hardware decoding video on Linux is generally lacking even on x86. Firefox barely added support for it last year with Chrome having no support at all, requiring custom build flags and browser settings in Chromium.

https://bugzilla.mozilla.org/show_bug.cgi?id=1619523


Try it in a video player. They generally play video a lot better than a browser. mpv + youtube-dl can handle Twitch.


For twitch you can patch the worker javascript and intercept hls/.m3u8 links directly, no need for external parsers.


We tried the pi4 for a project where we had to playback 4-6 videos simultaneously. As far as I could tell, it was properly configured for hardware decoding. It bogged down noticeably after 3 videos and was barely capable of doing 4. On paper it looked great; in real life not so much.

Ended up going with a NUC for that part of the project and it worked great. The other aspects of the project that didn't need video (we had close to a dozen total displays), the pi did just fine.


1080p videos? I'm using an older Raspberry Pi 2 displaying 4 RTSP h264 720p videos as a security camera monitor running 24/7 fine with

https://github.com/Anonymousdog/displaycameras

The issue trackers mentions a few attempts at getting 1080p streams running, but there definitely seems to be a limitation of some sort with more than 3 higher resolution videos.


We started out trying to do 4k and when that didn't work, dropped back to 1080P. Looked good with just one or two, but above that it got "stuttery." 6 videos on the screen was absolutely not possible with the pi.


You do know that the Model B does not have the PCIE lane connected so there's no such thing as case adding M2 flash support, right?


Who said the M2 had to be connected to PCIe lanes?

https://smile.amazon.com/gp/product/B08MHYWJCP

| About this item

| M.2 SATA SSD Compatibility | The SSD Case accepts any size of M.2 SATA SSD with B-Key or B+M Key

Hence why I said "getting a Model B and a case that supports adding an M.2 flash card."


Not GP, but presumably the point is that must be using USB, so the only point is convenience of form factor/you already have the card/whatever - it can't be faster (if anything the converter's going to slow it down) than using a USB storage device.


It uses a USB3 to USB3 bridge. Still faster than MicroSD.


You're converting from PCIe to USB 3.0 and then back to SATA. Isn't that extremely wasteful?


Honey, *everything* gets converted somewhere, somehow. That's what all those components inside our computers do.

MicroSD gets converted from SDIO. USB flash drives get converted from their proprietary NAND/Microcontroller config. Might as well be saying "you're converting from electricity to bits, isn't that extremely wasteful?"

Just ran a benchmark in Gnome Disks. 362MB/sec read, 313MB/sec write.

But given that there is absolutely no other way for me to connect this flash drive to my Pi4 without defeating the point (replacing both the entire Pi4 and Case), I would say it seems to be doing fine. Especially compared to something with generally equivalent durability like, say, a hard drive over USB 3.


I'm quite excited by the CM4 RPis. There are quite a few variants but all retain the same form factor and connector pinout.

These little boards are fostering a lot of new break-out ideas for all sorts of purposes, from Routers to NAS with a lot of specialised equipment in between (great for industrial and automation).

The great thing is that the core component remains the same, with known software that (generally) works well.

You could make special boards with a few CM4 on them, all interconnected and ready for parallel computing.

you could already do these things with the CM3 but the new versions have better and faster interfaces that make high bandwidth applications possible.


It took me a while to read CM4 compute module 4 instead of cortex-m4


Is there some kind of publicly accessible Roadmap for future Broadcom chips which the Raspberry Pi might be using in one or two years?

I love these boards so much, but the PCIe-restriction is such a huge bottleneck, that I'd love to know when this will be resolved.


Does anyone know how hard it’s going to be for the Raspberry Pi Foundation to add some extra PCIe lanes to a future model?

These boards are really exciting but at the moment all they’re doing is trading off uses for the single PCIe x1 interface. In this case, losing the USB 3.0 ports in favor of an M.2 interface.


What a great selection of boards!

I’m very interested in the Pi router shown in the list that has 4 lan ports.

But I have heard that the Pi doesn’t have good throughput for routing.

Anyone know if that is true?

I don’t have any problems with my Pihole but that isn’t really the same as a full network router


Why are those rPI carrier boards so expensive? PC motherboards are larger, have more layers, controlled impedance, a lot more components, ENIG finish and cost less than half as much.


PC motherboards are manufactured in the thousands (at minimum) by large companies who benefit from economies of scale.

Small boards are more 'boutique', often being produced in the tens or hundreds (though there are exceptions), and components are also way harder to come by.

For some of the little chips I've seen people use on these boards, lead times can be months (or even years now), and the pricing is astronomical (e.g. a chip that was $0.80 a couple years ago is a few dollars or more today—if it's available).

And some manufacturers won't even pick up the phone unless you're ordering in the thousands.


Because they make thousands in a batch (at best! most probably much less) not hundreds of thousands.


Low volume.


How much does it cost?


Right now the board designer has only made a small batch of prototype boards. He's thinking about a refreshed design and might take it to some sort of other funding platform, but as with all hardware projects, hard to tell what would happen or final price if it does happen.

Look up the TOFU, by Oratek in Switzerland, for something relatively comparable.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: