chumby One hardware docs

For those of you interested in the chumby One, the schematics and gerbers are now posted on chumby’s wiki in the hardware section. Hopefully, over time some of the hacks we’ve done will be documented on the wiki. Or, you could contribute and document your hacks there as well…it is a public wiki after all!

I think a short reminder is due about the hardware license attached to the schematics and gerbers. The topic of Open Source licensing is certainly one that has spawned many Holy Wars, with True Believers on all sides. Many accuse me of not being a “true” open source person, an opinion for which they are entitled to. I have always had my own opinion about open source that in some places run contrary to the popular opinion; for example, I find the GPL to be a bit burdensome at times, and the weight that comes with GPL code some times prevents me from using it or linking against it; instead, I have to find code that uses a “lighter”, less-restrictive license. However, I do firmly believe that both the company and the community are well served by sharing schematics for devices, and quite often these get out there regardless of the intentions of the maker. Oh and — in case it wasn’t clear, this blog is my personal, independent expression, so my opinions and views don’t necessarily reflect those of chumby Industries.

So, the first question many people ask is, why not GPL or CC? Originally, I thought I could attach any of the common, popular F/OSS licenses to these documents, but actually, they don’t apply, because hardware is a different beast than software. CC can’t protect functional works, and GPL is not a good match with hardware. The most important issue is that in hardware, patents are de rigueur, whereas software works are typically copyrighted. Patents are actually a fairly good match to hardware and they don’t have the same ridiculous shelf life that a copyright may have. As defined, patents grant limited rights to inventors of a “useful process, machine, article of manufacture, or composition of matter, or any new and useful improvement thereof” — a hardware-oriented legal mechanism drafted in a time before software existed.

Thus, the most important provision of the chumby HDK license is that in exchange for chumby sharing our technology with you, it requires you, under certain conditions, to share your technology with chumby. Simply put, it protects all of us from, for example, someone taking the chumby design, adding a GPS, patenting that combination, and thereby potentially preventing anyone else (including chumby) from creating a chumby with a GPS in it. I think this is a very reasonable provision, because essentially it creates a pool of cross-licensed patents within the chumby ecosystem. This pool is important because if a troll comes along and decides to threaten the ecosystem by asserting their patent rights to chumby or chumby-derivative products, then the entire pool of created patents are available to fight the troll.

That being said, it’s not a perfect license, so there’s a note in there asking you to reach out to us in case you need something different. In particular, there is an exclusion in there that prevents people from manufacturing chumby devices (you can modify and extend them, but not make them from scratch) based on these plans. Personally, I don’t like that exclusion — I’d love it if some university or non-profit felt free to use these plans to make cheap linux computers for teaching and/or bridging the digital divide — but I’m reminded by many people, both from the Open Source community and from the corporate interests of chumby, that there is a lot more to making a chumby than just the schematics. There are other issues, such as trademark, media licenses (such as MP3, On2 VP6, etc.), and code licenses (Adobe Flash) that need to be properly addressed to create a chumby product, and we haven’t figured out a good way to deal with all of the potential scenarios in a uniform fashion. So for now, it’s basically a friendly request to “contact us” and we’ll figure it out together.

And, now that I’ve made you suffer through reading that, the answer to the question that’s burning on the minds of almost one hundred submitters to the via-guessing contest:

The number of vias on that particular revision of the circuit board is 785 total. There are 298 8-mil vias, 350 10-mil vias, 8 12-mil vias, 14 13-mil vias, and 115 15-mil vias. A mil is 1/1000th of an inch, or 25.4 microns. The 8-mil vias are used selectively underneath the i.MX233 CPU, and I try to use them sparingly because they are the most difficult to manufacture (each via is individually drilled by a mechanical drill, one at a time, with a very tiny drill bit — the car-sized machine that does this is quite impressive, the whole floor trembles as it runs). The 350 10-mil vias are used elsewhere on the board for general signal routing. The 8 and 14 via counts are vias that are part of package layouts, such as QFN’s, that recommend specially-sized vias according to the manufacturer’s datasheets. And the 115 15-mil vias are primarily used to create the ring of vias around the PCB that form an EMI shield so that we can pass FCC without requiring an expensive metal shield over the PCB.

Some of you asked what a via is, and basically, it’s a vertical plug of metal that allows signals from one layer of a PCB to connect to signals of a another layer of a PCB. Below is a 3-D rendering of the chumby One PCB, cut-away, to reveal one layer of traces and the vias connected to it (click on the image for a larger version).

The region you are looking at is the back side of the CPU/memory region of the PCB, and the top-layer metal traces connected to them, as well as the vias that extend through the board. Five other metal layers are hidden from this view to emphasize the via locations.

The image above is generated by my PCB design tool, Altium Designer. Among other things, the tool unifies schematic, 2-D layout, and 3-D mechanical views in a single framework. It’s not a cheap piece of software, but in the context of a commercial project like this it easily pays for itself through the mistakes you avoid using the powerful analysis and visualization tools bundled into the package. Actually, in the spectrum of CAD tools, it’s quite reasonably priced; the really expensive tools are used for chip design, with licenses for a complete design kit costing upwards of $1 million/year (and trust me, for the price you’re paying, the software quality is utter crap). However, for people who are used to getting all their software for free, or at the price of a couple hundred bucks maximum, the idea of paying even a couple thousand dollars for a tool seems expensive, until you balance that off against the cost of a prototype run and a last-minute ticket to China to fix a mistake you didn’t catch at design time because you couldn’t visualize the problem adequately.

Below is an animation I had previously posted of a real PCB, as viewed in an X-ray machine. You can see the bobbin-shaped vias in the animation as the board rocks back and forth.

I wasn’t actually thinking anyone would try to count all the visible vias — kudos to those who put in that effort (omg follower I can’t believe you did that!) — but there are also many vias obscured by components on both sides of the PCB. I wanted to make sure there was some element of luck and chance involved, to give a bit of a disadvantage to people who happened to have access to AOI systems that can automatically count the number of vias using image-recognition algorithms.

The median guess was 463 vias, and the average guess was 495 vias. The closest guess was by “Clever_Screen_Name” at 781 vias (who, ironically, asked what a via was…just a lucky guess? or being ironic?), just an error of 4 vias from the actual count of 785. Congrats, email me to claim your chumby One!

Thanks to everyone else for playing the game — quite an overwhelming response, it took me a while to go through all the comments and tally the guesses. For those who didn’t win, you can still buy one at the chumby store. Remember, the launch promotion is ending soon, and the price will go up to $119 from $99.

Happy hacking!

21 Responses to “chumby One hardware docs”

  1. Adam says:

    nice writeup, i really enjoy reading your articles…

    “And the 115 15-mil vias are primarily used to create the ring of vias around the PCB that form an EMI shield so that we can pass FCC without requiring an expensive metal shield over the PCB.”

    care to expand on this any? why is it that a ring of vias creates an EMI shield? do the vias act as stub terminations for high frequency interference that might normally (w/o vias) be radiated? Im just guessing here…

    • cesarb says:

      Looking at the picture, they seem to behave like a faraday mesh, blocking the radiation where the wavelength is large enough that it cannot pass between the vias. But I wonder how do they prevent radiation from the top and bottom; does the radiation they want to block only come from the traces between the ground and power planes? What about the traces on the surface? Or is the radiation pattern predominantly in one direction?

    • bunnie says:

      There are several techniques used in this design to mitigate EMI. One of them is to use an isolated, “quiet” EMI ground that is poured over both the top and bottom layers in all the empty spaces. This suppresses the emissions of internal traces, at least. In order to decrease the impedance of these grounds and to also suppress lateral emissions (for example, when a high speed trace turns a corner near an edge, it can radiate noise laterally out of the board if there are no vias to interfere with the emission), a ring of vias connecting the top EMI plane to the bottom EMI plane is part of the design. This via ring uses a larger drill size to increase the manufacturability of the ring.

      Also, I’ve found that the internal power and ground planes themselves can be emissions culprits. At very high speeds, ground planes really aren’t ground planes, they can have local voltage variations. Due to the presence of discontinuities (like dense clusters of vias, or in the case of the power plane, cuts between voltage planes) these voltage variations are sources of emissions. If I were to simply extend the internal ground plane and pour it on the outer layers, I find that instead of suppressing noise, the plane pours actually act as antennas for these noise sources. This is another reason why I pour a “quiet” EMI ground over the board, to try and trap any emissions that may come out of the internal planes due to high speed return currents getting stuck and having no where to go but out.

      Low EMI design is basically voodoo, though, so all I have is a collection of best practices that don’t always apply, and don’t always work — taking an EMI test can be a more stressful experience than my PhD quals at MIT. It is interesting that I’ve never seen a course in a university on the topic of EMI. Understanding the root cause of EMI would be a great teaching subject, because it requires you to tie together several disciplines (electrodynamics, circuit theory, transmission lines, antenna design) with practical circuit design, and it also requires you to look at all your engineering approximations and models and understand where they break down and why.

      Of course, you can always take the approach of not worrying much about low EMI design and just shield the whole thing in a faraday cage, if you can afford that luxury.

  2. ben nguyen says:

    Anyone know if the chumby can act as a mini-vga monitor? 7″ monitors that take in vga are well upwards of $100.. it would be nice if the chumby1 can do this (and more) for only $119!!

  3. [...] Bunnie writes – For those of you interested in the chumby One, the schematics and gerbers are now posted on chumby’s wiki in the hardware section. Hopefully, over time some of the hacks we’ve done will be documented on the wiki. Or, you could contribute and document your hacks there as well…it is a public wiki after all! [...]

  4. J. Peterson says:

    Hi Bunnie,

    I’m curious as to the level of PCB design automation that higher-end tools like Altium Designer provides. For example, do you let it place any of the components for you, or is that still done by hand? Do you still manually route any of the traces or does it take care of all that? Does it provide estimates for EMI emissions?

    Cheers,
    jp

    • bunnie says:

      Altium Designer does have an auto-placer and auto-router built in, but even the state of the art placers and routers do an inferior job to hand route and place. Placement, in particular, is something that I’d never trust to a computer algorithm. A well-placed design will route easily enough that you can efficiently automate many of the routes; a poorly placed design is virtually impossible to route no matter how much effort you expend. All of the production chumby designs are hand placed and routed by me.

      That being said, the real value of Altium Designer is its semi-automation facilities that greatly accelerate the process of hand place and route. For placement, Altium has bidirectional click-to-select between schematic and PCB, so it’s easy to isolate groups of components and hierarchically place the board. There’s a ton of features in the placement engine, such as rooms, channels, and so forth that exist to accelerate repetitive tasks. For routing, Altium offers a flexible set of semi automatic routing facilities. This is where I think the tool really shines. The tool has push and hug-and-push routing modes, where you can plow tracks through existing routes and use single routes as templates for busses. This saves a lot of time, especially when the route gets really dense. It also understands how to route full busses and can extend, trim, and move groups of traces in an intelligent fashion. There’s a tool built in for equalizing net lengths and diff pair lengths as well. You can selectively auto-fan out and auto-route components, so that the tool can selectively take care of the “don’t care” nets that can be sloppily routed. There’s also a mode for automatically optimizing FPGA IOs to minimize routing crossovers. The feature list goes on…also, the design rule checker is also extremely powerful, reminiscent of the ones I’ve used for chip design. I have dozens of custom rules on my PCB DRC deck that I use in combination with these semi-automated tools to make effective use of the semi-automated routing, so when I get to the final checks I rarely have to re-route to clean up around the odd high speed routing design rule or so.

      The tool has a signal integrity analysis module, but I’ve never used it extensively, and I also don’t really trust it that much. However, I don’t even trust 3-D signal integrity solvers like Ansoft HFSS so consider me a picky customer; all these tools generally do is provide guidelines, but you have to sanity check the results with common sense or lab measurements anyways. So, no, it provides no estimates for EMI emissions.

  5. Mike says:

    Congrats to the winner! i think my via guess was around the 400′s… i was really hoping to at least be closer but oh well.

    Oh and Bunnie, i was very curious about the 2W mono speaker on the Chumby One. Why was the choice made to change the speaker from the Chumby Classic? and is it possible for one to switch out the speaker in the new one for a compatible 2W Stereo speaker?

    I personally have no experience modding and tweaking hardware, but i would be most interested in giving it a go if the process isnt too complicated.

    • bunnie says:

      One word: Cost. This product is extremely cost sensitive, and putting in stereo speakers would have added several dollars to the product’s cost, for a variety of reasons that aren’t easy to explain in ten words or less.

      The easiest way to add stereo sound to your chumby is to plug in a pair of powered stereo desktop speakers into the line output jack. I don’t mean to sound snarky, but I think it’s the truth. While you could try to cram two speakers into the housing, it wouldn’t be very pretty, and I think the net resulting sound would actually be *worse* than if you had one speaker (typical inexpensive speakers require a certain volume of air to really work well).

  6. John Mann says:

    I’m in Australia.
    The chumby store doesn’t have an option to ship to Australia.
    The Australian chumby Classic distributor has said that they _don’t_ plan to sell chumby One’s.
    Can anyone help me buy a chumby One (for Christmas)?

    Thanks,
    John

  7. follower says:

    Hey, at least I stopped short of writing something in OpenCV to semi-automate the count. :)

    You can check out more detail here: http://words.rancidbacon.com/no-chumby-for-me-yet-2009-12-03-20-50.html

    –Philip;

  8. Nathan Myers says:

    At least I got the median guess. That ought to be worth a chumby that doesn’t work. :-)

  9. Johnny Corvette says:

    It seems a fine line on the licensing requirements. Say I am evaluating the Freescale processor for a potential application then clearly the Chumby is a good way to see how it can potentially be used. if I end up using the i.MX233 CPU there will likely be similar features to the Chumby. If I use a different PCB layout and then add the GPS and eliminate some other features for example where does it cross the line?

  10. dogbert says:

    bunnie, my chumby one has just arrived – I feel like a kid on christmas day. Thanks to you and everyone and chumby industries!

  11. Sim says:

    i need to get a hold of the person who made the watermark scanner and i need him for a project. thank you

  12. Johnny Corvette says:

    Bunnie – is there a write up someplace that goes into your choiceof the Freescale CPU (say vs. something from Anolog, etc.). I would be interested to see what criteria was used in this decision. – thanks for the great blog and all the great open source information.

  13. Thanks very much for sharing.
    There is no doubt that the Christian louboutin is the best high heels in today’s fashion world.

  14. David says:

    Well Bunnie, that is one heck of a read – cheers,
    David.