Arduino Yùn: what is under the hood?
Two years after its initial release, the Arduino Yùn board has not been explored in details: featuring a large metal shield on its top PCB side, I am surprised that no hacker already tried to remove this shield and see what is “under the hood”?
Wait no longer, I did it! It is actually rather easy, using a soldering iron and pliers, as it is only soldered at 2 opposite locations.
What would be the reason for doing this? Probably the most obvious is hacker curiosity… To be honest, I am surprised that it took me so long to do it!
Now what, you may ask: what is the point in looking at a bunch of chips on a PCB? Well, as you will soon discover, sometimes technical choices shed some light on more political changes.
Not everybody is a hardware specialist with embedded Linux and WiFi knowledge, so let me detail the parts that have been hidden for so long:
- the big square chip is an AR9331 WiFi SoC from Atheros (datasheet), a chip used in many pocket routers, the most common being the TP-Link TL-WR703N
- the “Winbond” rectangle left is a 512 Mbit (64MB) DDR2 SDRAM chip (datasheet)
- the small square chip with relatively large pins on the right is also a Winbond chip, a 128 Mbit (16MB) 104 MHz SPI Flash chip (datasheet)
- the small shiny rectangle above the AR9331 is a 25 MHz crystal
- the small 6-pin chip near the antenna connector is a power voltage supervisor chip, in charge of cleanly resetting the AR9331 CPU in case of a power voltage drop. BTW, the antenna connector IS NOT a standard U-FL (IPEX) connector, it is an RF switch only used during factory calibration, not good for connecting an external antenna!
- all other parts are uninteresting passive components: all the ones near the DDR2 SDRAM are used to connect the AR9331 and the SDRAM with a matched impedance. The ones between the AR9331 and the antenna make up the RF network
Well, from my knowledge acquired with the TP-Link TL-WR703N pocket router, this is simply an implementation of Atheros’s AP-121 reference design (schematic here, although it is supposed to be under NDA).
Wait, where are these parts in the Arduino Yùn schematics provided on the Arduino Yùn product page? Here is the problem: they can’t be found anywhere… Moreover, there are some noticeable differences between the provided design files (“gerber” files) and the board you actually get: see _pepe_ post in the Arduino forum.
Oops, digging further: this schematic doesn’t contain a meaningful version number (only Rev. 010 in the frame) and is dated “Friday, August 30, 2013”, this appears to be the same as the one provided on the Yùn product page.
However, the PDF containing the layout and the gerber files are consistent: they have the same date “2013-08-30” in their frames, additionally giving a hint on the board revision number with the layout file name “dogStick-01-V03.PCB”.
My guess is that these files are related to Arduino Yùn R3, but my Yùn board (which contains the same changes as yours) has “R4” silkscreened (EDIT: actually in the bottom copper layer) on the bottom side near the bottom right corner of the PCB, so it looks like revisions don’t match.
There is also a ZIP file on the Yùn product page containing what appears to be the Orcad design file “DOGSTICK-V05(20140224).DSN”, but I don’t have Orcad and I can’t import it in either Altium or PADS (f someone has Orcad and can generate a PDF out of it, thanks). So it looks like it is V05?!? Not so easy! The same file (zipped under a different name!) is available on the Linino Arduino Yùn product page with a label “Arduino Yun R4 (ORCAD)” in front of it!
Even better, on the same Linino Arduino Yùn page, there is a PDF file with the label “Arduino Yun R4 Schematic (pdf)”. Its frame contains a date “Friday, February 28, 2014”, so it looks like it is newer indeed and corresponds to the Arduino Yùn R4 design. On the same page, there is an item “Arduino Yun R4 Gerber (pdf)”, but no link to download, of course!
What a mess! And you can’t trust this schematic anyway, as my board has 3 buttons (“32U4 RST”, “YUN RST” and “WLAN RST”), but I only see 2 in the schematic (“32U4 Reset” and “USER BUTTON”)!
It is obvious that the board you get is not the same as the one described in the design files: the ones provided seem to refer to a revision R3 of the board, whereas only revision R4 has been shipped since the beginning Moreover, the design files do not detail all the components that are nevertheless soldered on the same main PCB.
After 2 years of existence, it is unbelievable that the Arduino Team has not found the time to update the design files on the Arduino Yùn product page (or anywhere else BTW), and there is no technical reason why they would not provide the schematics for the whole board. It is also easier to understand why my clarification request on the Arduino forum never got an official answer.
Besides some obvious commercial reasons (the Arduino Yùn is selling like hot cakes…), I strongly suspect that the problem lies in the decision of laying out the Atheros AP-121 reference design straight onto the main PCB: by looking at the design files, it looks like the initial choice was to have a WiFi module containing this AP-121 design soldered onto the main PCB, but this turned out to be replaced by manufacturing a single PCB with all components on the same board for cost reasons.
Unfortunately, the AP-121 reference design being under NDA (Non Disclosure Agreement), it cannot be publicly disclosed (at least without Atheros consent), and is thereby incompatible with the Creative Commons Attribution Share-Alike license used by the Arduino Team.
At the light of these discoveries, can we still consider the Arduino Yùn as an Open Hardware platform? The answer is clearly NO.
Sadly, the promises on the Arduino home page no longer apply, since it is now a lie:
The boards can be built by hand or purchased preassembled; the software can be downloaded for free. The hardware reference designs (CAD files) are available under an open-source license, you are free to adapt them to your needs.