70 comments

[ 3.4 ms ] story [ 144 ms ] thread
You know, if you feel the need to link to a post that is highly specific to a narrow field of technology, which uses a lot of unexplained terms, it would be polite to actually leave a comment to explain what the post is about.
In general HN topics should be information dense and aimed at an advanced audience.

Some use of a search engine is a good thing - it means I'm learning something new.

I'd be happy to provide a glossary, but I risk being fantastically patronising. What in particular was difficult with this post? I ask because I meed to improve the clarity of my communication. Perhaps it was the alphabet soup of different manufacturers and users and devices? Or perhaps it was the lack of a very short introductory paragraph? Or the lack of expansion ofter first use of an initialism?

As far as I can see, the only unexplained acronym is "SoC". The first result on Google for that term is the wikipedia article explaining "System on a Chip".

HN has always been for technical news. There is always some domain specific knowledge required in technical topics. Judging by the comments here though, it's obvious that the domain specific knowledge this article assumes (which isn't particularly great - not much more than a rudimental understanding of the components that make up a computer) overlaps with quite a number of HN readers.

If you read an article that you don't understand, use it as a learning opportunity. The resources are at your fingertips!

OK, following the comment below, the post is about the difficulties of sourcing a SoC (system-on-chip such as the ARM processors you find in most mobile devices out there) for a relatively small hardware project led by a small company. While we all get the impression that SoCs are so common that you can buy them from anywhere, the actual supply of these parts is an issue if you are not sourcing tons of them at the same time. And another intricacy is that the continuous supply of the very same chip is not a sure thing: suppliers move on to the next design year after year and it's another issue to resupply it over and over again over time.
Cheers, thanks for the explanation. :)
Sourcing is a better word than "securing" though the title is accurately quoted.

I thought it was going to be security related.

Agree, Sourcing may have been a better wording. Securing was used here in its other meaning.
Making a SoC secure is hard, too :-)
Woh-hold on now, I have a Pandora (though it got delivered too late for me to really use it) Getting parts has always been a rough time!

Parallela board, the Pandora, the iControlPad2 from kick starter failed because of parts not being sourced on time.

To be fair the Pandora still exists and is still produced (while you are right that it suffered huge delays in the first place linked to supply but also to manufacturing). As for the ICP2, I believe it was not just a supply issue but a lack a coordination (the design was still being discussed several months after funding).
Actually, the iCP2 died because of a total failure of its management to get things sorted out. The drama around Mr. Rothwell and his hijinks is bound to be a made-for-TV movie one of these days .. assuming that EvilDragon makes it with the Pyra, and gets some fame/fortune in the next project.

(Disclaimer: I'm an OP fan, a first-batch'er, and avid supporter of everything that EvilDragon and his motley crew are getting up to..)

Nice to meet you, I am as well. Craig is quite a character.

I think the failure also comes from changing the design mid process.

The situation for hobbyists getting SoCs is terrible - I've got a MiiPC at home that won't be getting much use because Marvell won't release any documentation on it without an NDA
NDAs are firmly integrated in the embedded industry. If you could get your hands on any other SoC, you would need to sign an NDA as well. For example Tegra documentation needs an NDA too.
Freescale and TI tend to be good about providing heaps of documentation without requiring any NDA.

Unfortunately, they're pretty alone in that regard.

I tend to think the only reason TI and Freescale have good documentation is because they've been in the market a lot longer than the others and have had time to mature the work. TI had early wins with Nokia and Freescale has been in the automotive market and had some early multimedia work like the Toshiba Gigabeat (aka Zune 1).

Providing a complete doc set for these chips runs well above 10,000 pages. I recently got to evaluate a Marvell chipset and...um...let's say it wasn't pretty.

Check out ACME systems - they're doing a good job of addressing this problem: http://www.acmesystems.it/
Nice but it's all ARM9 based, so nothing at the high end as far I could see in that page.
Which is why it drives me nuts when people refer to the Raspberry Pi as "open hardware". You can't get even close to the datasheet without an NDA.
It's open-er than say, the UDOO or Cubieboard. One of the things that the Pi has is an extremely large and active community - this helps with things like reverse engineering efforts.
I've heard from a friend that for Asian companies like MediaTek, "going through the front door" is the wrong way to approach them, unless you are a very large and well-established company.

http://www.bunniestudios.com/blog/?p=3040

So what is the recommended approach ? (sorry if the link you shared answers the question, i have not checked it yet)
The link, and indeed the whole blog, is worth reading. However, it doesn't directly answer the question. Bunnie suggests dealing with Chinese brokers who can source availability of 'cut tape', remnants from large production runs of the chip. It doesn't address consistency and reliable supply issues over a longer period of time but does allow for procurement of relatively small quantities of parts.

Bunnie also suggests learning enough Chinese to participate in what he terms the "gongkai" (公开), the quasi-open but legally murky design and production ecosystem producing much of our electronics, where documentation and specs are apparently available about as freely as torrented episodes of Game of Thrones.

Apparently you are right on the account that learning Chinese surely helps (ED from the article mentioned that there was a lack for proper English documentation for some chips considered).
A major risk in dealing with unofficial brokers instead of going through distributors is a good chance of getting devices that were scrapped in production test due to malfunction or failing on performance parameters.

We have had several customers with issues sourcing this way and not realizing their devices are malfunctioning.

The idea is to "feed off the leftovers" until you grow to the point where you can order above the MOQ directly. It's a very different growth model.
Brokers are very common in electronic production.

You need to be careful when asking for quotes. If Bob has stock of product, and you ask 3 different brokers for quotes, you've just driven cost of that product up.

That's especially frustrating when three or four sub contractors are requesting quotes for the same part to be used for the same potential job being inquired about by the end customer.

If the front door is not an option, then obviously you try the side or the back... ;)

More seriously, you get to know people who can get you the information/components you need --- often on various Chinese forums. The "guanxi" mentality ( http://en.wikipedia.org/wiki/Guanxi ) is very strong in Asia; to get to the company directly takes a lot of incremental "relationship-building".

High end SoC vendors generally don't care about you until you're buying millions of devices. If you can't find it on Digikey/Mouser/etc you're probably not going to get your hands on these parts without an in with one of the big name suppliers or the SoC vendor itself. However, in the case where you are shopping for millions of devices - say you're looking for the centerpiece of a new smartphone, its not unusual for them to fly a team of applications engineers to you to facilitate getting the part into your system.

Of course, merely procuring the part itself is just the beginning. The early revisions of a SoC (and in many cases even small microcontrollers) can have fairly extensive errata sheets (basically a list of known hardware bugs). If you aren't a first class customer (usually based on order volumes), this is a world where you can spend weeks to months wondering why your code doesn't work only to find out that it legitimately was a hardware problem in the silicon.

Trying to source displays is also a nightmare for relatively low volume (<100K) designs.

That's not always the case. It depends how hungry they are. I was involved in a project that was clearly not going to require millions of devices. We were a small startup (though with some big partners). Texas Instruments really wanted to get their SoC into this segment though and we got a lot of their attention + pre-production samples + technical support. If this is an SoC looking for customers (like this was) and you can get the ear of the marketing team and/or have the right partners things will work out.

There are a lot of other electronic parts that are like that. If you get to talk and have a relationship with the right people you can get samples and support. Otherwise it can be virtually un-obtainium if it's not in Digikey's inventory. It's always been like that...

Yes, Texas Instruments does that, I had the same experience (were we involved in the same project?). They do it if they are strategically interested in a certain market segment. Your project might look like a demo to them — worth investing some time and effort into.

Unfortunately, I'd say they are the exception. Good luck even getting someone at Broadcom or Qualcomm to speak to you. If your projected volumes are not (convincingly) into at least hundreds of thousands, you will get a simple "no", if you even manage to get an answer at all.

Engineer at Qualcomm here - I did check with our biz dev folks and we have mechanisms in place to supply in smaller quantities (a few hundreds..)
Interesting! Things might have changed, then. But to confirm: do you mean I can simply start developing a product based on Qualcomm chips (with projected volumes into hundreds or low thousands), and I'll get access to all the necessary documentation (datasheets, reference designs, etc)?
@jwr: Sorry for the delayed reply, was down with a fever. (Posted the info below in a separate comment, in case anyone stumbles across the thread later). 1. http://www.intrinsyc.com/products/qualcomm/dragonboard-devel... Intrinsyc is one of two partners who offers "Dragonboards" with the latest (so far, that will change soon) SoCs (APQ8064 and contemporaries). AFAIK, these boards can be ordered in any quantity from 1 to 100s, so they should be a good start for a development kit. Intrinsyc offers a Linux distribution for the 8074 SoM. Not too sure about the maturity of Linux support, but I am expecting updates in the near future, and will post them here. For those who need to eventually build their own boards using Qualcomm SoCs, Intrinsyc's FAQ here should be useful: http://www.intrinsyc.com/products/qualcomm/dragonboard-faq.a... 2. Inforce computing also offers a cute board with the APQ8064. http://www.inforcecomputing.com/product/qualcomm.html

Not sure if these offer the level of detail/support that folks here are looking for, but they seem like a good start.

I work for Qualcomm and am surprised that the blog post author didn't consider our SoCs - it would meet all the requirements and I believe its not too much hassle to source from us.
Thanks for the feedback! I believe ED (the one who shared his experiences from the article) did contact Qualcomm but had difficulty securing small quantities as well from them. He probably forgot to mention it this time. However, if you think that it would still be possible and if you have commercial contacts within Qualcomm, I'd be happy to put you in touch with him.
Yes, would be happy to talk with your colleague and point him to the right contacts. I am at the San Diego headquarters.
If you don't mind, contact me through the form on Pandoralive (http://pandoralive.info/?page_id=2) and I'll get in touch with you personally. Not sure if it's not too late for this particular device, but it's for sure not the last project of that kind so it wouldn't hurt to start establishing a relationship. :)
I also have a need (and am also an avid OpenPandora groupie) for a SoC vendor - any chance I could get your contact info as well? I'd be very happy to consider Qualcomm for my project..
How do I reach you? Not too happy sharing a company/personal email address here and my name is too complicated to describe my ID in a email-address-extractor-safe way.
boyikor@postalmail.biz is a tempmail I set up for the purpose ..
I actually am in the SoC market too, and would love a contact in sales/pre-sales. SFBA.
Emailed you at your cryptoseal address.
I too would be interested in sourcing Qualcomm SoCs in small quantities. If you don't mind, please drop a note Attn:Pete at http://sensoray.com/support/receiveinfo.htm
Is there anyway to reach you? The form throws an error when I hit submit (I think you did receive my form,just that the 'thanks' page url is messed up)
What SOC would you believe to fit the project?
I am not familiar with the categories/collections of games Open Pandora caters to, to answer that. I would definitely recommend a high-end chipset (SnapDragon800/600)for someone building a gaming box. On the other hand,I see on wiki that Pandora intends to support older games through console emulators, so an older/cheaper GPU should be fine if those are the bulk of the targets.
I would never have known they were difficult to obtain.
This is, I believe, the only thing that has kept Intel in the game. Had someone had some foresight to go "all in" with the open source bit they could retake the old IBM PC spot (I'm talking about the one the PC in 1981 took away from CP/M machines, not the current spot). People who build appliances won't care but people who build computers will.
I get what you mean but selling 1000 units is hardly a game changer :p
If you can't even get your foot in the door there's no way you're going to get in.

That's why most chips are priced out of reach of small companies. Even if they have something revolutionary they may never get the chance to get started without a huge risk.

You both correct and very very wrong at the same time. What history has shown in the technology world is that the person making "1000 units" is changing the game, just the game doesn't know it yet.

The folks who embrace selling in small quantities to the individual developers see a huge diversity in designs that are built with their tech, that trains up the tech provider on the strong and weak points of the technology and often helps them produce easier to implement solutions. The diversity of designs trains the consumers on possibilities which they may not be considering. When they connect, as they did with putting a microprocessor into a "home" computer, the results can be stunning.

So you don't sell 1000 units because you think this guy is going change the world, you sell them in 1000 unit quantities to a bunch of guys and gals because one of them may change the world in a way you haven't foreseen, and if they do, you will benefit hugely from being the tech they used.

I also have the feeling that the same thing would happen if Intel decided to open up the details on their Atom SoC platforms. They're a bit like a neutered PC from what I understand, so it's a lot easier to port existing OSs to them, but without technical docs it's still hard.
What technical details are missing? I was under the impression that Intel has the most open SoCs around. The only thing I can think of is the PowerVR GPUs in some of their older chips, but those aren't theirs to open, and they stopped using them in recent SoCs in favor of their own GPUs.
Could anyone familiar with the project reveal what kind of volumes are we talking about? E.g. nvidia's web page says that the minimum is 100,000 units.

It kinda makes sense not to sell these in small quantities because the SoC manufacturer would either end up getting lots of support requests or they would get a bad reputation for ignoring support. The reason is that unlike in the x86 world where there's some kind of a "standard" (derived from the IBM PC), ARM SoCs don't have any kind of consistent ecosystem where the motherboard components, firmware, etc would be specified. Every ARM SoC boots in a different manner, they might have separate bootloaders and there's a whole lot of SoC specific code in the Linux kernel.

Of course, the SoC manufacturer might be able to release documentation about the chip, but that kind of documentation might not exist (in a neat package that can actually be released and not e.g. an intranet wiki), it might contain sensitive IP (lawyers would have to get involved) or it might be written in a foreign language (and translating technical documentation from Chinese or Korean is not cheap either).

For the industry to mature and move forward, a common standard for SoCs would be a very welcome development.

Disclosure: I work as a SW engineer in a SoC company but I have no connection to the sales department and don't really know how this works in practice.

This is a small project, and the first production runs would probably only be in the thousands of units.
Let me revise my statement: actually in the 10ks of units.
I've been a backer/supporter/follower of the Pandora project since the very early days. What I have to say is not official - but to answer your question the impression that I have is that the volume is literally in the 10k - 20k. The reason is of course economy - this is a hardware startup, and the funding is not nearly at the levels to support 100k quantities.

This is a real shame in the SoC market right now - so many great products could be being made if only the chip mfr's were paying attention to the little guys. Its why companies like ACME Systems (http://www.acmesystems.it/) are working hard on providing SoC's and SoM's to the little guys - for a fair price - but its also why they have a fixed-price policy (no matter what quantity: the same price.) This has the advantage (for the hardware developers) of having access to the chips in small quantities, but it eats the margins when the quantities get larger (>10k), because the price will be the same.

This is an area where a new startup could really come along and eat everyones' lunch. Ignoring the little guys is going to hurt the Samsung and Nvidia's of this market, but I suppose they know that already and its why they price/set policy that will exclude newcomers to the scene ..

My personal opinion is that the SoC business is stuck in a chicken and egg scenario where there will be no sense to sell to small players because there's no common ecosystem to leverage (and thus SoC sales will come with heavy support costs) but there's no incentive to create a PC-like standard since it is not a commodity market like x86 chips and motherboards are.

Currently selling a small batch of chips (even individual ones) to someone makes no sense because the customer would be unable to do anything with the chip simply because they wouldn't know how it works without support or documentation (which costs money to create and maintain). The small players market (all of them, combined) is not worth enough money to put the effort in. We can argue about the PR value (among geeks) but that's not deemed valuable by management at this point.

It's certainly not about ignoring or setting price points to exclude little guys, it's about running a business for profit.

If and when we get some kind of a standard for SoCs and it becomes viable that you can build a motherboard and put any ARM SoC in it, it will also become sensible to sell them like commodity products but the industry as a whole is not at that stage.

As there is very fierce competition among the individual SoC manufacturers and very little co-operation takes place, I think that ARMH is pretty much the only ones in the position to make any such development.

I don't like the way the industry works at the moment but that's just the way it is. Maybe it will some day mature and stabilize.

All sorts of parts can be surprisingly hard to find. I've been working on a radio product where the 16-way channel selector switch had to be specially ordered from China, while everything else came from Digikey.
This doesn't even include all the other pieces that go obsolete 2 months after you start production and then turn into unobtanium with no replacement. Oh and the manufacturers and your sources told you for months that there are no plans to stop production. The logistics of building hardware is fucking brutal.
a SoC question, in Steve Jobs era before he cofounded Apple he was sourcing cpus an chips in small batches by forging through junkyards,etc.

Would not these small hardware firms benefit form forming a legal co-op that ordered the SoC in batches of 100,000 and than those batches would be shred among all co-op members?

Because it may be difficult for those hardware firms to agree on using the very same chip, if they have different needs/markets/consumers/pricing and so on.
This is true and has been true for everything non-Intel forever. I really thought open source operating systems would be a game changer for MIPS, Alpha, PowerPC, and others but it was a challenge getting hardware just to port stuff to. Literally, it took heroic efforts within those companies just get hardware to like a Linus or something.

It's a little different with some of the raspberry pi like platforms on arm but you have some work to do if you want a specific late model processor. Sort of seems like an opportunity of Someone to build arm atx and miniitx like hardware but I don't know anybody doing it. It's all custom application specific stuff anyways...

For anyone watching this thread, here's what I know about Qualcomm's offerings (through our embedded program partners) - 1. http://www.intrinsyc.com/products/qualcomm/dragonboard-devel... Intrinsyc is one of the partners who offers "Dragonboards" with the latest (so far, that will change soon) SoCs (APQ8064 and contemporaries). AFAIK, these boards can be ordered in any quantity from 1 to 100s, so they should be a good start for a development kit. Intrinsyc offers a Linux distribution for the 8074 SoM. Not too sure about the maturity of Linux support, but I am expecting updates in the near future, and will post them here. For those who need to eventually build their own boards using Qualcomm SoCs, Intrinsyc's FAQ here should be useful: http://www.intrinsyc.com/products/qualcomm/dragonboard-faq.a... 2. Inforce computing also offers a cute board with the APQ8064. http://www.inforcecomputing.com/product/qualcomm.html

Hope this helps!