chumby One hardware docs

November 25th, 2009

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!

Winner, Name that Ware November 2009

November 25th, 2009

The Ware for November 2009 is the Openmoko Wikireader! It’s a very tidy device; well designed and well manufactured.

The winner for Name that Ware November 2009 is cesarb, since jacob did not post his plaintext by judging time. My normal judging rules consider factors other than who was the first to make the correct guess, but this was a lightning round. Although, to be fair I think that cesarb showed good intuition in his explanation, and intuition is an important part of reverse engineering.

Congrats, email me to claim your chumby One!

chumby One

November 13th, 2009

The chumby One is finally released. You can buy it now for a $99 “chumby insider” pre-order price; once we start shipping, the price will go up to $119.



While I’ve been working on several new hardware platforms for chumby, this is the first of the crop to hit the market. This one made it out before the Christmas season because it is an evolution of the original chumby design, now called the “chumby classic”, as opposed to a completely new form factor for the device.

The key goal of the chumby One platform was cost reduction: my first sketches for the device were drawn on the back of a napkin about a year ago, back when the stock market was in a free-fall and losing several hundred points a day. Unfortunately, the chumby classic hit full-stride launch in the middle of the worst economic downturn since the Great Depression, and its cute cuddly form factor comes at a fair bit of a price tag that many couldn’t stomach. So, I did what any entrepreneur would do in a recession, I suppose … scale back, and take a good hard look at everything and try to build a product that is cheaper, faster, and better for the market, to try and win new customers, and to retain the loyalties of our existing customer base.

Fortunately, around that time, a Freescale apps engineer contacted me about a new CPU (the i.MX233) they were going to launch in 2009 that could hit a remarkably low price point. So, I drew up some strawman renderings and did some cost scenarios, and in CES 2009, we circulated the idea around with a few potential customers to get feedback on the features and pricing. The idea sort of slow-rolled through the first few months of 2009, and after chinese new years, I taped out the first prototype board in late March. Around May we contracted an industrial designer to do some sketches, and by June we had a near-final ID; our first 3D printed prototypes were made around then (we couldn’t afford a mechanical engineering contractor I had to learn Solidworks and do the mechanical integration for the 3D prototype myself — since I enjoy learning new things, this was quite a rewarding experience). In July, we inked a PO for steel tooling and by August we had first-shot plastics. September was spent refining and debugging the design, and October was spent doing more testing, refining, and ramping up mass production. And, here we are now, in November. When I wrote this, the first shipment of chumby Ones were somewhere 35,000 feet above the Pacific Ocean en route to LAX. As for the i.MX233, I believe we are one of the first devices on the market to use it…I even got a quote in their launch press release last August, although I couldn’t refer to the chumby One by name at that time.

Just to give you an idea of what the final assembly line for the chumby One looks like, below is a video of a part of the assembly line:


[flashvideo file=http://www.bunniestudios.com/blog/images/c1mp_line.flv /]

In addition to being about half the price of the original chumby, the new device added some features: it has an FM radio, and it has support for a rechargeable lithium ion battery (although it’s not included with the device, you have to buy one and install it yourself). There’s also a knob so you can easily/quickly adjust the volume. But I don’t think those are really the significant new features. What really gets me excited about this one is that it’s much more hackable. The most significant improvement is that the firmware is stored on a microSD card.

The microSD card isn’t replaceable from the outside — this is to prevent non-hackers from pulling it out and wondering why the device isn’t booting anymore — but if you take the back panel off (screws this time, no glue seals), it’s fairly easy to access. The key here is that no longer do you have to worry about bricking your chumby device: if you screw up the firmware, you just pull it out, mount it on your dev box, and dd a new image onto it. Also, microSD is a “managed” NAND device, unlike our previous generation device which used a raw NAND device. This means that we don’t have to rely on a MTD layer for the filesystem, and instead we can directly drop ext3 onto the device. While we still mount the root partition as read-only to harden the device against accidental damage, unlike our original cramfs implementation, you can trivially remount it as read/write and modify the linux on the device. Also, our OS image takes up only a small portion of the total device capacity, so there’s actually over a gigabyte of extra space on there for you to load extra applications and libraries.

Significantly, what’s good for the hackers is also good for the developers. Because of this additional flexibility, we could add a ton of great features into the OS. For example, the chumby one supports certain 3G modems, and will serve wifi as an access point through the 3G modem (it can also serve as an access point for an ethernet connection provided via a USB-to-ethernet dongle as well). This is really slick, because that makes it basically a 3G to wifi router; it is enormously useful when I’m traveling and I need to create a wifi hotspot for other devices to use. Of course, this feature isn’t exposed yet at the mainstream user level, but if it turns out to be a popular application it’s something we could wrap a GUI around and make it more friendly to use. There are also other little refinements, such as if you plug a USB keyboard into a chumby One, it will automatically pop up a console shell that you can type into; very handy for times when you can’t ssh in, like when you are debugging network scripts. It also has high-speed USB2.0 support, so unlike our previous generation device, you can plug a USB camera into this one and grab images at a decent speed. And yes, we’ve booted Android on the chumby One. Android runs on linux after all, so why not? Eventually we’ll get these hacks documented on the chumby wiki (heck, maybe even compile them into a book), but right now we’re a little pre-occupied with making sure the product launch goes smoothly. Actually, to give credit where it’s due, most of these cool hacks were implemented by xobs (remember him? he ported quake on the chumby classic), not me — I’m just the hardware guy, xobs is the software guru.

Below are some annotated photos of the chumby One mainboard. Schematics and gerbers are forthcoming, should be up in about a week or two; the GPL source code is already up.

This is actually a pre-production pilot board. The mass production board is basically identical to this, with some minor tweaks to enhance compatibility with the SMT machines we use in China. There’s a couple of noteworthy points about the board. First, the footprints are available on the board for you to populate some parts to break out a composite video signal (NTSC or PAL). We’ve actually wired this up and confirmed that it works, and it’s pretty neat for presentations where you want to plug into a projector and show a crowd of people some widgets. There’s also a pair of test points on the board labeled “SETEC ASTRONOMY” that you can use to bypass the write protect on our authentication ROM, in case you want to wipe out the keys we use to authenticate your chumby. I can’t think of a real reason why you’d want to do that, but I added them on the principle that hardware you own shouldn’t hold secrets from you, so if you don’t like it you can nuke the encrypted access codes we put into each device (of course, it means you no longer have the codes to fetch widgets from our servers, but hey, it’s your hardware, void the warranty and do what you want with it). The security system is actually a bit convoluted on this device, but it uses basically the same, published protocol we employed on the chumby classic with some enhancements to leverage the internal AES engine on the i.MX233 to save the cost of an external cryptoprocessor unit.

One other really cool thing about the motherboard that I’d like to point out is that the power regulators are embedded inside the CPU. And they aren’t just linear regulators, they are switching regulators. And they just aren’t any switching regulators — this switching regulator derives three voltages using just a single inductor. How cool is that? Mad props to the guy who designed that system. The insanely high level of analog integration on this CPU — it pulls in the audio codec, power regulators, speaker amplifier, USB PHY, video DAC, battery charger and more — is one of the key things that has allowed me to create a system that you can buy at an affordable price.

If you’ve seen any of the chumby classic boards, you’ll instantly recognize that there are also mounting holes and features so this board can be retrofitted back into a chumby classic. That’s very intentional, although chumby doesn’t currently have a schedule to put this into a chumby classic; the classic line costs a lot to produce for more reasons than the PCB (think hand-stitched Italian leather). There’s also a couple of technical issues with integration, the most significant being the brutal thermal environment inside the chumby classic: the CPU contains the battery charging circuitry, and unlike the main supply, the charger circuit is a linear regulator so when charging it puts out a lot of heat. This is why we added a heatsink to the CPU, so we could charge the battery at maximum rate without having to throttle the CPU’s activity. I’m not quite sure how I would solve this problem if I were to put the board into a chumby classic, since there are no cooling holes in the device. I also get the sense that there wouldn’t be very much interest in a chumby classic that was a little bit cheaper, but still lacking the much-requested rechargeable battery: I am stuck between a rock and a hard place. However, the initial reactions to the battery in the chumby One are an interesting study in consumer psychology. For some reason, even though the chumby One is smaller and lighter than the chumby classic, and does largely exactly the same things, people don’t feel like it should have a rechargeable battery; they have no intrinsic desire to pick up the chumby One and carry it around. Just goes to show how much form influences a consumer’s perception of function. Also, as a very important note to intrepid hackers who want to try to retrofit one of these boards into their chumby classic: even though the footprint is identical, the chumbilical is absolutely not compatible with the chumby classic. For one thing, the chumby classic gets 12V from the chumbilical, and this device expects 5V. So if you were to just solder on a header and plug it into a chumby classic housing, you would get quite a cloud of smoke out of the device!

Also, as a little game for the readers, I will award a chumby One as a prize to the first person who can most accurately guess the number of vias on the chumby One circuit board based on the photos in this post. It’s a bit like one of those competitions where if you can guess the number of jellybeans in a jar you get the jar of jellybeans. This is vias not counting through-hole pads. Since the gerbers aren’t posted yet, you can’t cheat and use a CAD program to count the number of vias. :-) I’ll end the contest once the gerbers are posted, in about a week or so.

Name that Ware November 2009

November 12th, 2009

The ware for November 2009 is shown below. Click on the image for a much larger version.

This is from a brilliant little device that I’m thoroughly enjoying right now. Well-designed, and surprisingly addictive. First person to guess this correctly gets a chumby One as a prize.

As a reminder, if you want to enter a tentative guess without letting everyone else know, you can post an md5sum or a sha1sum of your guess string, and then post the source text for your hash in about a week — but remember to do that, because if you just leave a hash and fail to post your source text, I can’t judge your entry and the prize might go to someone else!

Winner, Name That Ware October 2009

November 12th, 2009

The winner for October 2009’s ware is insidetronics. All I can say is, dang, I don’t know how people managed to figure out where this one came from, but the web links you posted to photos of the assembled boards convinced me. If you do get a chance, please share with us how you knew or discovered the answer.

Very impressive! congrats, email to claim your prize!