Hacker News new | past | comments | ask | show | jobs | submit login
Raspberry Pi Compute Module (raspberrypi.org)
356 points by markhemmings on Apr 7, 2014 | hide | past | web | favorite | 113 comments

This is the answer to the question of how to move from prototyping to production with the Raspberry Pi. So far the answer had been to either deploy (and pay for) a bunch of peripherals you don't need (applications most certainly don't use everything on a board) or to move to a different/custom board.

With the compute module, that answer is now much more concrete. People will still build own boards, but most of the complexity will live on the SOM.

Very exciting times, can't wait to see if the gambit pays off.

I'll be interested to see how this progresses. With any luck, it'll open up a market of cheap, well-distributed SOMs, similar to the Pi opening up a market for cheap, well-distributed ARM/Linux Dev Boards.

The situation's surprisingly similar: Powerful ARM Dev boards existed before the Pi, but the price was steep, they couldn't be found in traditional distribution channels, and the OS/Driver support was poor at best. This is, more or less, the place we're at with embedded SOMs.

There are really great cheap SOC's out there, in ARM land, to play with.

Just look at these guys: http://www.acmesystems.it/aria

Look, the rPi started off as a play-thing for kids, and there is now a valid rPi generation. It is expanding as a platform. But: in the industrial world, the rPi is a small fish. You can get an rPi precisely because some other industry has already driven the demand/price/costs down for it to be affordable/profitable to build a new brand around what is, a common industry practice/device mind-set.

There are, but they aren't close in specs and price to this one. The AT91 series are completely different in terms of functionality vs the Broadcom. The AT91SAM9 series don't even have a floating point unit last time I checked. This chip can do full 1080p h264 encoding/decoding/and support that resolution for display output (HDMI and DSI). This also has flash storage and 2x more ram onboard.

This might be a close equivalent, but is more expensive, and will almost certainly require a large order to get those prices: http://www.variscite.com/products/system-on-module-som/corte...

If this brings down prices of the commercial SoM vendors that benefits all of us however.

You really see these being sold in Radio Shack?

With Pis, all the average person needed was a regular keyboard, mouse & monitor to plug in. That's why it worked. That's all been thrown out here.

I think you're gravely misunderstanding the intended goal and target user for this device. It's not "for consumers" but a path for hardware developers to prototype with a full Pi and then ship with a custom unit that's been configured as needed - without having to modify your code.

Right, but what I've said in other replies, why can the Pi do this any better than any of the existing SO-DIMM modules on the market?

Nope, I don't see these being sold in Radio Shack. The world of electronics distribution reaches way beyond Radio Shack.

I mean: Before the Raspberry Pi, there were Linux-capable ARM Dev Boards, but the vast majority of them were niche items, over $150, and you had to call up the manufacturer and convince them to sell you one. (oh, and don't you dare use this in production without securing a larger purchase agreement!) Now, there's a proliferation of sub-$100 Linux-capable boards being sold by all the distribution houses, in large quantities, with no or limited restrictions on use in production.

I hope this move from the Raspberry Pi foundation does the same thing for OEM SOMs. Right now, there are only a handful of SOMs on Digikey/Mouser, most with fewer than 100 units in stock, all (that I can find) over $100, with zero community of support. Most of the companies with strong reputations in the market require a phone call before they'll even agree to sell you units for sampling.

"Before the Raspberry Pi, there were Linux-capable ARM Dev Boards, but the vast majority of them were niche items, over $150... Now, there's a proliferation of sub-$100 Linux-capable boards..."

If anything started this it was the BeagleBoard released by TI well before the Pi. You can get a feel for how much influence it had from the fact that half the boards released these days are named *Board in a similar way. MinnowBoard, CubieBoard, DragonBoard, OwlBoard, MarsBoard, Arndale Board, PandaBoard, CosmicBoard... I could go on...

I'm no Raspberry Pi hater, but let's just not go all history-revisionism here.

Here in Austria, at least, any Conrad's has a "raspberry pi accessory" shelf. Sure, its Conrads .. but then again its Conrads. That is about as Big Mac Consumer as you are going to get.

I know of at least a few other places, here in Vienna, where you can get an rPi pretty much any time of day by vending machine. wtf, you're still using Radio Shack, lol.. ")

My local Radio Shack carries both Arduinos and various Propeller microcontrollers, along with sundry components for them (LCDs, wifi, bluetooth, etc). It also sells various breadboards and some really cool individual integrated circuits (hex and other logic gates), MOSFETs, CMOSs, and bunches of other cool stuff. And I'm not in a huge city or in California.

If you're into hobby electronics, it's worth checking out Radio Shack if you've not been in one for a while. They carry much more than just electronic kits for kids.

But I agree that the target market for these is more professional engineers looking to take a prototype into smalltime production, or an early protype into something more refined.

The normal RaspberryPi is available at Radio Shack. http://www.radioshack.com/product/index.jsp?productId=289254...

The price is getting better but it's still in the "I used my pi for the project" vs the "I used a pi..." range.

Things get interesting when a general purpose Linux computer reaches disposable pricing where you just pull a new one from the bin for each project. This feels like about $20usd or less to me.

So what happens to all that e-waste when you throw out an old computer board because you don't feel like wiping it?

No, it stays in your project because you don't have to rip apart your previous work to salvage the expensive magic bit for the next great idea. You start building different kinds of projects because you know this and create many more awesome things that continue to make your life better after they are done.

The parts of projects that were left behind after pulling your expensive SBC are no longer junked so waste comes out a wash. In any case, a few makers experimenting in any fashion isn't even a rounding error compared to the mobile phone apocalypse thats hitting landfills now.

Patiently waiting in a trash field for a future entrepreneur genius who would devise a way to extract on the cheap anything and everything useful from it.

Unfortunately, we have that already and it looks like this:


Well with this system on memory footprint, if my application doesn't need Ethernet I won't add one to the board, and if I don't add one to the board then the jack and chip won't be wasted or e-wasted.

You're making project-specific one-off PCBs, and you think this is less wasteful/more efficient than "wasting" an ethernet transceiver?

Not to mention the physical waste...

This is very interesting in regards to a having cheap Linux SoM (system on module) for businesses to use in their products as well, by far the cheapest I know of with these specs. Doing routing and verification for a chip like that is no easy task.

I'm really curious to see if the foundation will commit to a product lifespan / availability for commercial use. If so this could become pretty big. Obviously if you are selling a product in 100,000s+ you will probably roll your own, but for a small business to produce a niche product that's going to be sold in the high hundreds, or product a proof of concept this is awesome.

EDIT: rereading the blog post, this is aimed at commercial use, definitely great in regards to pricing, however, I wouldn't want to base a product on it without a guarantee of availability / compatibility from them. The Beaglebone black specifically says that they don't guarantee compatibility between revisions for this reason.

The SODIMM form factor is interesting. I know in this case they are just using it because the connectors are easy to come by, but are there any examples of a computer designed to fit in a RAM socket and do processing rather than just statically storing the memory information?

This is a somewhat common form factor for embedded processor development boards. Critical Link has a whole line of products like this: http://www.criticallink.com/product-cats/system-on-modules/ .

Plenty. Read LinuxGizmos http://linuxgizmos.com (nee LinuxDevices) to keep abreast of them.

I recall one processor upgrade for a 1990-era Mac that slotted into the L2 cache slot, back when L2 cache was on the motherboard and used a similar DIMM format.

It was extremely unusual, but apparently worked.

I had one of those... it was installed on a IICI, I think it was manufactured by sonnet tech and it was marketed as a PPC upgrade card for the motorolla 68040

Here is a list of all of the sonnect upgrade cards and how they connected http://www.everymac.com/upgrade_cards/sonnettech/

Edit: Added link

Yeah, that was the one. I had a hard time tracking down the proper link, but it's on the page you linked: http://www.everymac.com/upgrade_cards/sonnettech/crescendo_g...

It's clever and insane at the same time. Most processor upgrades physically replace the processor, but this one just bypassed it.

Wow - SODIMM form factor is a game changer.

A few years back I built a bunch of robots with the main processing unit a SIMM Java processing module - http://www.systronix.com/tini/tini_simm.htm. Having a standard (and super compact) form-factor for processing was a game changer. It meant I could quickly prototype the main robot board and add in processing module really easily. I wish I had this available then.

So for many distributed computations in my field (pretty much anything that isn't embarrassingly parallel [0]), the limiting factor is often network communication -- how quickly nodes can send messages to each other.

Even as just a toy, putting an affordable arm chip with a serious interconnect would be a really big deal. This is a great step closer.

[0] http://en.wikipedia.org/wiki/Embarrassingly_parallel

This is quite badly named and isn't intended for number-crunching. It's for when you want to use a RPi in a project, but want it smaller or better integrated into your other electronics. Think about a kiosk, or digital signage.

The Calxeda ECX-1000/2000 would have been ideal for you then - 4x10GbE interconnects with a quad core A9/A15.

Shame they went under - but there are alternatives from Marvell, Applied Micro and others. Look for ARM server chipsets and you'll usually find a good fabric attached.

You will also find a large price tag. And probably inability to actually buy one alas.

You can get the Mirabox based on the Marvell Armada 370 for about £150, one-off. Includes dual 1GbE.

Eg http://www.newit.co.uk/shop/All-MiraBox/MiraBox

That's not really server class, more a consumer product.

Looks really cool but I'm slightly disappointed to see that when buying these Compute Modules in bulk they still each cost about the same as a single full Raspberry Pi (Version A). The Compute Modules do have 4gb of built in flash that the Version A doesn't have though.

It looks like the module plus the I/O board costs $30 in large quantities. So aren't you really getting pretty much the same deal? I'm sure the modules alone will be cheaper.

No, from the article it appears the module by itself will be $30. With the I/O board the price will be higher:

"...the Compute Module will be available to buy separately, with a unit cost of around $30 in batches of 100"

And an additional 256MB (512MB versus 256MB for the Model A).

I thought all Pi models were 512MB now since the 256MB CPU part was discontinued by the vendor.

No - the Model A is still 256MB.

I could see this being a really interesting way of having a slim and upgradable raspberry-pi-powered tablet.

Year after year, you could upgrade the SoC and memory while keeping your case+screen+screeniopcb+batterypcb+battery.

You might be interested in EOMA-68 project. They have similar ideas, albeit using proper HW instead of RPi

Isn't the Pi incredibly underpowered for use as a compute node?

That's entirely dependent on what you're trying to achieve.

Sure, if you're trying to mine bitcoins, this hardware alone probably won't be much use.

But if you just want to learn about distributed systems, and how to manage a cluster of hosts and distribute tasks between them, this is a great place to start, eg: http://coen.boisestate.edu/ece/raspberry-pi/

Right, so, playing around.

(In my experience, "learning about how to manage distributed systems..." and etcetera isn't much fun and is something you can do fairly well emulating as many systems as you'd like in software.)

Yes, pretty much. This is coming as someone who has helped build ARM clusters. You'll spend a lot of time getting all the parts mounted in a decent way, wiring them up, getting power done properly, writing dozens of SD cards for the operating systems, and then you realize you have a cluster of 700MHz nodes with 100Mbit interconnects. You'd be better off spinning up a bunch of VMs if you want to "learn about distributed systems"

Hilarious - i was just thinking it was overpowered!

It depends on your use case. If you are thinking of this for industrial controls, its overpowered. If you are thinking of this for mining bitcoins, it is underpowered.

(FYI mining Bitcoin can only be reasonably done using custom ASIC hardware these days)

The funny thing is those ASICs more often than not are hooked up to a RaspberryPi running cgminer or equivalent.

So use one of the many existing SO-DIMM sized ARM boards.

It depends what you want to use it for. I'm imagining this being used in small embedded projects where the physical size of the current Pi is undesirable.

But there are plenty of SODIMM-sized ARM embedded modules with much more compute power than the Pi already.

And they are also probably a lot more expensive than $30.

I wouldn't say a lot.

How do they rate against Videocore IV? AFAIK, ARM core represents only about 2-5% of total computing power in RPi. And can you provide some links, please?

"Total computing power" is massively load-dependent. And I don't think The VideoCore IV is massively outstanding in the field of embedded GPUs.

Links? This is turning into a let-me-google-that-for-you, but they appear very regularly on http://linuxgizmos.com

I see it more like a SIMD processor than a GPU. It's not massively outstanding, but there's a lot of value of it having an open documentation, a known instruction set.

For standard 'computing', yes.

However, I have several that I use for single-purpose tasks and it excels at this. I have one Pi in my office that runs tmux/mutt/irssi, so I can easily access email and our internal chat server from any computer in the building.

I have another hooked up to a TV that acts as digital signage, showing uptimes and other system info.

Pretty neat stuff, but it's painfully slow for GUI tasks

Great, but what's that got do with one being released as a system-on-module?

As a system-on-module, it's aimed more at embedded engineers than first time hobbyists, and embedded engineers already have many much better solutions like this.

Yes, but the graphics part is pretty good (especially compared to the raw 'CPU' part). I'm seeing this as just the same Raspberry Pi without the specific form factor of the original.

I'd like to think that someone can make something that looks like a smartphone with this.

Why could they not do that with any of the existing SODIMM-based ARM boards?


I'm a little disappointed that this isn't a compute-addon for the rPi that gives it some serious calculation power. Ah well .. guess I'll stick to the IMX platform for that ..

Well, the existing RPi's GPU has 24 GFLOP capability, which is roughly the same as the GPU on the baseline i.MX6 (the Vivante GC2000).

Now, a lot of that capability has historically been unavailable to RPi users, but they're slowly responding to pressure and opening up the GPU.

But I also saw the headline and was hoping for some nice little GPU compute add-on the RPi. Oh well. I still think this is a very promising form factor for the RPi.

It's pretty nuts that a tiny little thing like this has gigaflops of compute power.

I agree -- I know it's silly but I still marvel at the fact that the $10 microcontroller I'm working on has almost the processing power of the laptop I used in college in the 90s (and in the case of the RPi, vastly more).

Does the compute module have the GPU on it? Or is it on the connector board?

The GPU is part of the SoC, which is exactly the same on the Pi and on the compute module.

Thanks! I didnt know this.

I actually just received my first RPi's on friday...

That was the first thing that came to my mind too.

What kind of hardware specifically were you expecting and what kind of acceleration hardware there is generally available for these kinds of applications?

Well, in the case of the rPi, a swarm of CPU's with large RAM would be nice. Something 'unique' to plug the rPi into, which gives it a bit more oomph.

Well, I suppose this play to put the rPi "platform" everywhere, is to be expected. But I don't really see the appeal in this when there are already multi-core ARM DIMM's to be played with. This is clearly a brand play by the rPi folks, and after all .. why not..

Yay, they are putting onboard flash! That's going to make the Pi way more reliable.

But boo, no more clock or memory. Lots of apps bump gracelessly into the 512M limit (libre office, IDEs, OpenElec+plugins, ...) 1G should give all of them enough breathing room that they don't need babying them all the time.

A little more grunt to the CPU would have been nice but that's minor. Overclocking the Pi seems mostly futile -- it just lets the CPU spend even more time waiting on I/O and cache.

>Lots of apps bump gracelessly into the 512M limit (libre office, IDEs, OpenElec+plugins, ...)

The compute unit isn't meant to be used as a desktop, but as an embedded system.

Can other computer-on-modules in a SODIMM package be used in the Compute Module IO Board they are developing?

I've searched online, and I think the boards that the SODIMM modules are plugged-in to are called "base-boards" or "carrier-boards". In general, are these kinds of boards generic in nature, so that you can mix-and-match modules with different carrier-boards, as long as they all use the SODIMM package?

No, usually each manufacturer has a custom pinout for the SODIMM connector, they are not interchangeable.

For that you may want to look at the Qseven standard: http://www.qseven-standard.org/

This also gives you a bump in processing power as well, with the ability to use ARM or x86 processors. (of course it is a lot more expensive...)

I wonder if they're working on a RPi II; in the two years since its introduction I'd hope you could get a lot more for the same price.

I wonder what type of applications will come out of this.

For example, I want to build security cameras with Raspberry Pis, but I don't need audio output, USB, HDMI, etc...but I would need WiFi, camera unit, and power. But I doubt we'd see custom IO boards for specific applications such as this, and I don't think it'd be any cheaper than just buying a regular Pi.

Well, just custom-build a PCB. Either laserprinter-etch it yourself or use one of the maker services. If you're just after USB (for the wifi) + camera + power, you don't need that many pins so you can solder the SMD SODIMM socket even by hand.

None of these ideas or practices are true, but indeed RPi is selling these used-to-be-EE-only to the public, which is great!

First impression: Improv has still all those bulky connectors on it. Second impression: It costs twice as much as the RPi module.

I think those connectors are on the detachable baseboard, not the processor board.

It seems you are right. In that case it is more comparable to this RPi module. The price difference stands though, if you can't get the processor board separately significantly cheaper somewhere.

Very interesting. Definitely makes integrating the Pi into projects a lot easier. The form fact will help with making things smaller and reducing a lot of external connections (gpio breakout, Gertboard,...). I'm interested and ready to buy!

It kind of bothers me that the Raspberry Pi Foundation is supposed to an educational charity, yet they are devoting resources towards developing products aimed business and industrial users. It doesn't seem aligned with their stated mission.

From the announcement:

"We are also aware that there are a very significant number of users out there who are embedding the Raspberry Pi into systems and even commercial products. We think there needs to be a better way to allow people to get their hands on this great technology in a more flexible form factor, but still keep things at a sensible price."

"The Raspberry Pi Foundation is a charity, and as with everything we make here, all profits are pushed straight back into educating kids in computing."

In other words, they found a need, they're filling it, and all the profits from filling that need will be plowed back into their primary mission. More money = more kids educated in computing = Good.

Beside high-end SMP, is there a system where you can buy computing modules to extend the, well, compute power of your 'machine' ? cpu as daughter boards, like the rpi compute module.

It's about time they put some FLASH on-board. SD card has proven time and time again an unreliable medium. You never know if the device would boot up after a "dirty shutdown"

Personally, I liked the SD Card method. It allowed me to keep a few cards with different OS images on them, and quickly swap them out when I wanted to change what the device was used for.

It might be a bit more difficult with the built in storage, but I suppose it's nothing that can't be managed.

Yes but say I need to run a rails application with a DB on a Lan (less than 15 users), perfomance is not an issue (nginx + postgresql + puma uses less than 115 MB of RAM!) The only thing stopping you is SDCard's reliability!

A friend of mine had two unrecoverably broken Kingston class 10 SDCards on the same RPi in 6 months. Bad luck maybe, but still I'd love to have something more solid to run applications without fear of data loss.

You can setup the SD card to run read only, and use a external usb hard drive when you need to write.

Correct me if I am wrong but it is my understanding that you can still have read problems on an RO SD card. In fact I was recently reading a Micron Application note that explained that the mere act of reading it could cause bit-flips.

Do you have a link to that?

Isn't the eMMC card basically an "SD" card as a chip? Thus this machine should having the same problems with unreliable shutdown and wear-leveling as the normal Pi, with the added culprit that you cannot swap the card for a new one.

A lot of the unreliability comes from the connector, and a lot more comes from crappy counterfeit SD cards.

If you still want an SD card (I don't -- network and USB are so much faster), I expect you could buy an IO board with one or more. I don't see one on the Pi Foundation's board right now but it should be easy to add.

My understanding is eMMC flash memory is an SD card soldered onto a board, so if anything that problem could be worse without the advantage of a removable card

It's very similar but often faster. The Odroid U2 uses removable EMMC storage which has an SD card adaptor, which I feel is a very good middle ground (most of the advantages of both with the disadvantage that the connector on the board is non-standard).

SD cards have different classes- without seeing specs, I'd be willing to bet that a Class 10 SDhc card is on par with this EMMC storage.

Correct, plus the cheap SD connectors are a source of a lot of noise and unreliability. Just doing away with them will be a huge benefit.

You are correct. I jumped the gun. This in fact will probably be worse that having a removable SD card.

I wonder how much an RPi compute + the dev board, will be compared to an RPi Gertboard to get at all the interesting bits of the processor.

Kind of like a modern swyft card, eh? http://hackaday.com/2014/04/06/vcf-east-the-swyft-card/

No, not at all. The swyft card war more or less just a ROM cartridge for the Apple II

is this now viable for cluster? I mean simple backbone for 20+ for these with combined network and power unit? is there still any point at all?

It would make a nice cross between a dedicated server and a virtual server. You could rent out 20+ "nodes" where each node is a dedicated computer with low performance.

Any ideas for a cheap source of SODIMM sockets?

RS/Farnell i guess?

Can this be plugged into a DDR2 DIMM and allow host<->Pi communication (with an appropriate kernel driver)?

The article says:

> But don’t go plugging the Compute Module into your laptop – the pins assignments aren’t even remotely the same!

So the answer is "no."

Sounds like doing this will let out the magic smoke in a hurry.

Do you think they've fused it so it doesn't short out and trash any board you put it into by mistake?

Seems unlikely. Fuses, MOVs, and clamp diodes cause signal integrity issues (especially at 3.3V and under). And, for 200 lines, the cost might be impressive.

That said, if the Pi foundation can arrange for all the I/O to come out of reset in a hi-Z state, then there's a chance they could arrange the rest of the pins to avoid damage.

But would it be worth the effort? Given how hard it is to access most sodimm sockets, mistakes seem rather unlikely.

It's like how people used to mistakenly plug their modem phone cord into a PBX jack and fry their modem because the voltages were way higher.

Having it show up as an unrecognized DIMM would be clever, but perhaps not worth the trouble.


There's pretty much zero chance of that.

Registration is open for Startup School 2019. Classes start July 22nd.

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