Is The Arduino Yun Open Hardware?

According to [Squonk42], nope. And we think he’s probably right.

The Yun is an Arduino Leonardo with an Atheros AR9331 WiFi SoC built in. It’s a great idea, pairing the Arduino with a tiny WiFi router that’s capable of running OpenWRT.  But how is this no longer Open Source Hardware? Try getting an editable board layout. You can’t.

Or at least [Squonk42] couldn’t. In Sept. 2013, [Squonk42] posted up on the Arduino forums requesting the schematics and editable design files for the Arduino Yun, and he still hasn’t received them or even a response.

Now this dude’s no slouch. He’s responsible for the most complete reverse-engineering of the TP-Link TL-WR703N pocket router, which is, not coincidentally, an Atheros AR9331-based reference design. And this is where the Arduini ran into trouble, [Squonk42] contends.

[Squonk42]’s hypothesis is that Arduino must have done what any “sane” engineer would do in this case when presented with a super-complex piece of hardware and a potentially tricky radio layout: just use the reference design (Atheros AP-121). That’s what everyone else in the industry did. And that’s smart, only the rest of the consumer electronics industry isn’t claiming to be Open Source Hardware while the reference design is protected by an NDA.

So it looks like Arduino’s hands are tied. They, or their partner Dog Hunter, either signed the NDA or downloaded the PDF of the reference design that’s floating around on the Interwebs. Either way, it’s going to be tough to publish the design files under a Creative Commons Attribution Share-Alike license.

Is this a change of strategy for the Arduino folks or did they just make a mistake? We won’t know until they respond, and that answer’s a year and a half in coming. Let’s see what we can do about that. And who knows, maybe Arduino can lean on Atheros to open up their reference design? It’s already an open secret at best.

But before you go out lighting up your righteous Open Source Hardware pitchforks and sharpening up your torches, read through [Squonk42]’s case and then dig through the primary sources that he’s linked to make up your own mind. You’ll make your case more eloquently if you’re making it yourself.

Good luck, [Squonk42]! We hope you at least get your answer. Even if you already know it.

73 thoughts on “Is The Arduino Yun Open Hardware?

    1. … Catching up with time zones!

      OK, but unless you slice your own silicium, wind up your own resistors and coils and layer your own caps, there is no such thing as absolute Open Hardware design. Even if you synthesize Verilog or VHDL on either ASIC or FPGA, you still rely on proprietary fabric and/or technology.

      I am OK with using some commercial parts and/or modules that can be purchased independently, but I feel betrayed when promises to get all design files and only have purposely outdated and/or incomplete schematics and layouts.

      1. The idea of open hardware classes makes a good bit of sense. A chip can be “open” in that all of its registers, timings, & microcode are known and well documented; without the manufacturer publishing it’s die files. As to passive components, general-purpose ICs, and even some of the more exotic Si/Ga devices: if an item is a commodity (ie: available from multiple sources/suppliers), I wouldn’t concern myself too terribly (the FTDI FT232 potentially excepted)(and yes, I may be making my own anti-case there). I suppose that there is a difference between a true commodity chip (the 555), and a commonly cloned “name brand” chip, but, you chose, at some level, where you want to draw the line. If you want to be a hard-core open hardware zealot/snob/bigot, have fun assembling analog circuits. There is nothing wrong with analog circuit design, and it is very useful.

        You have to decide just how open you are, and how much closed you are willing to accept. I will say that there are a lot of talented people, able to do a lot of interesting things with potentially “semi-open” hardware, that would never be able to do what they do if they had to build their own board. I will be the first to admit that I am one of those people (for the most part).

        Of everyone that has ever used a programmable development board, there are those who will never build a board, but can do many things with a stock Arduino, a subset that can cookbook a “custom” board, and an even smaller subset who can construct genuinely custom, one-of-a-kind PCBs.

  1. I think the Yún is the project of the Martino-led Arduino company now being sued by the Banzi-headed Arduino company. The latter one pushes for the open source idea while the former does not. Italian media are full of the story but for reasons unknown there’s still nothing in English on that. Here’s my German write-up: http://www.heise.de/make/meldung/Arduino-gegen-Arduino-Gruender-streiten-um-die-Firma-2549653.html

    1. Thank you for the link to your article, Philip – I hadn’t read of this split at all before (I should get back into the habit of reading the German news again). Given how popular Arduino is here in the United States, I’m very surprised that this hasn’t been mentioned in the English-language press yet.

    2. Thank you for the link!

      However, I remember some videos where Massimo Banzi was promoting the Yùn when launched:

      Unlike RPi which is clearly a Charity, both Arduino LLC and Arduino SRL are commercial business, and if it is public that the RPi sold to 5 millions, there is no figure for Arduino.

  2. In terms of software and hardware the platform is completely open. Yes, you may in fact:

    Add this piece of hardware to an 802.11s mesh.
    Compile your own OpenWRT image for it.
    Copy the software onto an MR3020, WNDR3700, WNDR3800, or other Atheros router and run the Bridge software. Change the upload script to have AVRDUDE upload to a different programmer on the USB.
    Use USBIP and have AVRDUDE program an Arduino that is not even attached to the router.
    Use a pair of cheap Bluetooth radios to do a wireless link for purposes of the Bridge software.
    Utilize the well known RFM12B and RFM69 radios to provide a wireless link for the Bridge software.
    Use other Arduino clones with all sorts of exotic bootloaders.

    Will you be able to exactly clone the compact form of the hardware? Maybe not.

    Will you be able to replicate this most any Atheros chip, do your own design, design your own board with ease, roll your own and solder it? Depending on your skill set you should be able to easily make your own.

    Essentially if you are looking to be lazy and copy the board verbatim you may be out of luck. If you want to clone the platform on compatible hardware or design your own then you are set.

    Bottom line is to not be lazy, exert yourselves a little, and learn how to build the hardware instead of complaining that it is not open source to copy at will. This is Hackaday not “copy it because it is neat” to profit.

    1. But that’s not what open source hardware (OSH) means. And Arduino prides itself in being part of the OSH movement. I think that is the point of the article and of [Squonk42]’s inquiry.
      cheers, HB

    2. If you can not clone the device from schematics, it is not open source hardware. Nothing to do with lazyness – but nice straw-man. You see, the open-ness have nothing to do with the user or what they do or why, but everything to do with the actual open-ness of the hardware design, which in this case is closed source (since the files are as of yet not available).

    3. It’s open because you can design your own?

      Ok.. then

      Windows is open because you can write your own OS.
      My car is open source because I could choose to design a car.
      Medicines are open source because you could design your own drugs.
      Roundup ready plants are open source because you could breed plants yourself.

      1. Yes, Windows is not closed because you can write apps for it, and GPLv3 is not open because it forces restrictions on users. Open-ness is not a boolean flag but a continuous value. Linux is probably more open than Windows, and Arduino was trying to go “even more” open.

    4. You cannot duplicate it. You need the Atheros Radio Test tool to calibrate the radio, which requires signing the NDA. You can copy the ART data from another device, but the radio performance will be very bad.

      1. Actually, you can find some ART (Atheros Radio Test) tools clones with all required calibration bench tools in China at a price where it s profitable for as low as a few 1,000 pieces.

        You may also find assembly factories providing this service to you, so you don’t have to sign any NDA or do anything illegal yourself. Of course, it is all up to you, since you can’t pretend to ignore what is going on there.

  3. I don’t get all this NDA mania with datasheets and other not really critical stuff. It’s a very different situation than for example semiconductor fabs, where customers could leak sensitive trade secrets.
    Oh, Atheros is now Qualcomm, that explains everything. Apparently all *com companies are assholes (videocore anyone?)

    1. It is to prevent some (e.g. Chinese) company makes a part that is pin & register level compatible to their part. They have control of that information as someone that has the legal authority for a company which is a large enough customer has to sign a legal document before they find out more beyond the 2 page glossy market summary. This also limits the designers that use the clone chip to not use the support materials.

      Seeing that functionally clone chips are very real, this shouldn’t be a surprised.

      1. no, it’s not to prevent clones

        it’s to prevent random people from putting their chips into products without their approval. they make you sign the NDA because they want to be in on your design process so they can make sure you do it right. they have a reputation to uphold, they don’t want it tarnished by random duffers who misuse their parts

      2. No, it is not against clones, this is just their business model: they sell a service including hardware design files, ready-made firmwares you can customize, calibration tools and of course, chips. They don’t want to bother with selling retails parts, or even distribute them through third-parties. They won’t even speak to you unless you engage for taking them millions of pieces per year.

        1. … and that’s the big issue. When one are required to buy/write a NDA, buy several millions chips, what’s the point of being a DIY EE?
          What’s the points of trying to develop a carrier, develop deep competance when one are drowned in all that crap?

          If I look back in these 15 years, the NDA stuff seems to have shorter lifelength than these with “open” documentary and are usually more expensive, and for what?

          I recommend to refuse to sign a NDA, it’s the only way to fight for our rights,
          when a company has a large order and refuses to sign a NDA (or finds alternatives) it’ll maybe turn it around, for it’s about compentence of people, it’s starting in the boy-/girl-room, when the young people start to explore into this wonderful world!
          It should be illegal to restrict knowledge or competance.

          Bunnie wrote somehting about that, the Chinese philosophy are way different than the Western. We can’t have like that anymore now, it’s time to move on, to give space to the small man.

  4. I thought it was odd that there hadn’t been any Chinese clones turning up in the usual bazaars, and I guess this explains it. Closest I’ve seen is a “Yun Shield” which appears to be the reference implementation that you can plug into your existing *duino, which tallies up with what is being suggested here.

  5. The definition of open hardware for me is the ability for anyone who wants to make their own version to take the design files, buy off-the-shelf parts/chips and spin as many as they’d like. If the Yun uses a proprietary board that you can’t source from third parties then it’s not open hardware. The software may be completely open, but that’s a different matter.

  6. I haven’t torn one apart, but under that tin box is probably a module. The advantage of using a module is that you don’t have to get FCC (or whatever authority regulates radio in your country) approval for your design, because the module already has it.
    If you build the circuitry yourself, on your own PCB, you need to pay to get the approval.

    So, if it is a module, then all the proprietary stuff is on the module, so there is no reason the main Arduino PCB design would not be releasable. The module footprint isn’t under NDA…at least none of the ones I have used have been.

    $72 is a bit steep for the Yun, though. These modules are usually $25 or so and the basic Arduino is another $25, so maybe the extra $22 is because it’s new and cool?

      1. I looked at Dragino and the Yun shield too. The thing I don’t like about those solutions is the missing (micro)SD Card socket. That frees up the USB port if you want to use a webcam or so but still allows you to put the OS in an overlay onto the SD Card. But otherwise the shield route would be the more flexible and cheaper option compared to the Yun.

    1. “The advantage of using a module is that you don’t have to get FCC (or whatever authority regulates radio in your country) approval for your design, because the module already has it.”

      No, not really. If you make a module then getting the module approved means you get to sell the module.
      If you place a module (even an FCC aproved one) into a product you still have to get the product aproved.

      RF is very finicky. As soon as you start attaching even so much as power wires there is a potential for something to change and things to radiate that shouldn’t. So.. it’s off to the certification labs you go…

      1. I thought I heard somewhere (Adafruit?) that you don’t need separate FCC approval if you use an approved module with the reference antenna design. But the rules are very strict about how much you can deviate before needing your own approval.

        1. I think the customized and approved portion must be phisically separate for that logic to apply, like a laptop wireless card or a XBee board. Depending on regulations a daughter board may be snap-fit, screwed on, or in some cases soldered onto main board, that sort of things. But Atheros chip area of Yun board looks integrated into a single PCB, so it should count as a new module without previous certification.

          1. Yeah, the FCC rules say that it has to be a seperate PCB in order to count as a module, and they specifically point out that this means that PCB designs that are intended to be integrated into a larger PCB don’t count as modules and cannot be certified seperately.

      2. If you use an approved module, you still have to get your product certified, but only as an *un*intentional radiator which is MUCH easier. The intentional radiator testing of the module is already done for you by the modules provider.

        1. Correct, I worked for a module maker that falls under the unintentional radiator umbrella. We got FCC cert on the modules using a reference design system to show qualification is possible. But since our reference system wasn’t useful as a product in itself, the customer was responsible for FCC cert on the final product.

          Occasionally a customer would come to us after failure and usually a 10 second look at their layout would show they used too few layers/insufficient ground planes and/or bad routing of critical signals.

    2. Should have put this in the writeup: It’s not a module. Arduino went the money-saving route and merged the ref design straight onto their board. They have the design files somewhere…

      Contrast other add-ons like the Yun shield and another -uino. For them, they can actually comply with open-source hardware guidelines if you accept that the module is a “part”. (And heck, I’m willing to grant that.)

    3. No, take a look at my linked post: under the shield is not a module, it is the Atheros AP-121 reference design laid out directly onto the main PCB. Problem is that this design is under NDA, that doesn’t coexist well with CC licence used by Arduino.

      And you are wrong regarding approvals, as others pointed out.

    1. While I can’t read the Orcad DSN file, folks say that there’s not a PCB layout there but just a schematic. Can you confirm or deny?

      Problem with highly-sensitive RF circuits is that the schematic without a layout isn’t worth much. And a PDF of a schematic is worth even less. You could not build anything with those files. Contrast the older Arduino eagle files that you could just about take straight into production. That’s open.

  7. The schematics for the Yun are long known and published. We can clone the functionality. 2012 is long gone. We know the functionalities of all the chips on the board, we can access all the functions, we can do whatever we like with it. That is indeed door wide open.

    It may be better to simply target the AT91 and AR7100 platforms and just make our own boards. With all the solder on Linux SoC solutions out there what is the point of this post?

    For all that it matters if you absolutely have to have a Yun compatible compile OpenWRT against the BCM280* platform, drop whatever kernel mods you could possibly want on board, and just use the GPIO to program with over the SPI interface to the uC.

    http://kevincuzner.com/2013/05/27/raspberry-pi-as-an-avr-programmer/

    All the Yun packages are on Github. You will need your favorite text editor (usually nano, vim, or vi), yun-scripts, avrdude, yun-config, cpu-mcu-bridge, possibly the luci-arduino-webpanel, and all the dependencies. Kernel mods for ext4, usb core, usb ohci, usb uhci, usb storage, usb serial, usb acm, usb serial ftdi, gpio custom, spi bitbang, and anything else you deem vital. Do not forget to add in your dmesg, block mount, or df/dd.

    Edit your feeds.default.conf after downloading the OpenWRT buildroot. Try using Barrier Breaker. (Use Chaos Calmer at your own risk. If you do use SVN and remember the revision number for later.) Add in the feeds from the Yun Github. Look for the file of the same name.

    ./scripts/feeds update -a
    ./scripts/feeds install -a -p //For installling all packages from a given feed. Makes it available in menuconfig later.
    ./scripts/feeds install //Install single package from all feeds downloaded. Script will automagically search for it.

    make menuconfig //Select all ingredients here. Take time. Resist temptation to select everything. Elsewise compile will fail OR your final image will be too big.

    After you are done:

    make IGNORE_ERRORS=m V=99 -j 7 //Quick and dirty compile on 8 core box.

    There is even a version of Bridge that works with the Teensy 3.1. We are not Atmel limited. PIC version of Bridge might be interesting. Sprite… Ian…?

    1. No, you don’t have the full schematics for thee Yùn, read my linked post, you cannot clone it. Try finding the AR9331 CPU somewhere in the schematics, there is none. And yes, 2012 is long gone, still not having the full stuff!

      1. I have a Yun clone running on a WRT610Nv2. The slave microcontroller is a AT90USB1286. It has all the functionality of the original platform. Bridge works as well as programming from the Arduino IDE. I beg to differ that the Yun is indeed open source.

        1. open HARDWARE, not /just/ open source (this is Hackaday…I think most readers here care as much if not more about hardware than software, or at least I still hope they do)

          No schematics = not open hardware. If I wanted to clone the device, using my own layout for my own application, I can’t refer to this design directly. The layouts aren’t published, and their provided schematics have a black box “MIPS 24K CPU.” I’d have to reverse engineer the device if I wanted to use it and redistribute it.

          There might be data out there (on the hardware), but I’m assuming (please correct me if I’m wrong; this has been the case for most of the other NDA-gated designs that have appeared on the Internet) that these are the usual leaked designs, which are as “free” or “open” to use as pirated software.

          The interesting gray zone is if they used a module that’s readily available but obviously has some closed source components. It looks like that was the original intent, and I would’ve been okay with that if that module were readily available; it means that if I wanted to use this open design, modify it to my own specification, and rebuild it, it would not require an excessive amount of work reverse engineering. In general the question of whether or not individual components are open hardware starts making a lot of things grayer, but ultimately my perspective usually focuses on the role of the Arduino in the hobbyist hardware community–it is basically what everyone refers a most beginner embedded electronics hardware hobbyists to. They have been supported by the community for many, many years, and I see it as their responsibility to uphold open hardware principles. If they wanted a WiFi board and wanted it to be open hardware, they should’ve spent the extra manufacturing cost/time to make the module separately.

  8. Well…you actually can’t even build and sell a 100% compatible Arduino UNO or Arduino Leonardo style board either. Since the USB-serial converter is another microcontroller with firmware on it and Arduino’s VID/PID, you can’t make something that Just Works with the Arduino IDE and the drivers it installs (at least on Windows). You’ll need to pay $5000 to get your own VID from the USB-IF, and you’ll need to make users install a new INF and create new board definitions for your hardware, even though it may be electrically identical to the Arduino UNO. Of course you could clone the VID/PID for personal use, but this is still a closed obstacle to allowing commercial re-use (much like having to get your own NDA for the Atheros chipset).

    1. [macegr] is correct. You can get the firmware from LUFA or whatever or roll your own, but to sell a USB compliant product, you’ll need to get the USB VID/PID (think of it as a MAC for USB) from the USB-IF.

      May be open source should include a business loan guarantee, sharktank endorsement, 4 years of engineering school plus work experiences, FCC certifications and paid licenses for all the CAD software?

      1. False
        to call it “USB” or to ad the usb logo you do
        As long as you do neither, you are free to do as you please
        USB SIG’s enforcement is trademark based
        you are free to use usb plugs, protocol, and stacks all you want with any VID/PID your heart desires
        just don’t say USB or use the three-prong USB logo

      2. Note that I did state: “to sell a USB compliant product”
        So if you are just selling something that happens to have a connector, you can do whatever you want but that’s not what I said.

        http://www.usb.org/developers/compliance/

        >To complement the specification and enable measurement of compliance in real products, the USB-IF has instituted a Compliance Program that provides reasonable measures of acceptability. Products that pass this level of acceptability are added to the Integrators List and have the right to license the USB-IF Logo.

        1. “compliant”, adj
          1. inclined to agree with others or obey rules, especially to an excessive degree; acquiescent.

          in other words:
          follow all the software rules so that your stack works with usb devices and you’re compliant. Kissing the SIG’s behind is not a requirement

        2. The parent of this thread talks about 100% compatibility product not a hacked solution. By your own words you cannot claim USB functionality or even mention that at all. Not sure the end users would not want some assurances.

          If you insist on making up or using someone else’s VIP/PID, then it is no longer complaint. It becomes a hack that might fail if the users happen to have the same VID/PID combo on the system with an incompatible driver. The owner of the VID/PID might be pissed off decided to screw with your product by making incompatible updates (see FTDI) or sue you.

          Do whatever definition you want, as that’s not what I used when I typed that.

        3. BTW in *engineering*, compliance means more than its casual English definition. Usually you have to pass a suite of established compliance tests before you can claim compliance.

          That word is not taken likely if you are an engineer. I would have use the lose term “compatible” if I mean that it would sort of work like the other product. Second guessing or changing the meaning of someone’s word is a bad form. I know exactly what I meant for that word and no one else can change my mind.

          1. I agree with Dimitry. USB has been done on things as small as the ATTiny10. I own the device, have the code, and as long as it is for my own consumption I will do as I please with my systems. The only time I would change my mind is if someone had a legitimate complaint; in essence RF interference or something that stopped another from pursuing their dream.

  9. So you’re trying to tell us that someone was dumb enough to sign an NDA regarding a reference design?… and that someone trying to sell a product required a NDA be signed to view a reference design for said product!?

    This stinks of miss-information.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s