Arduino is an open-source physical computing platform based on a simple i/o board and a development environment that implements the Processing/Wiring language. Arduino can be used to develop stand-alone interactive objects or can be connected to software on your computer (e.g. Flash, Processing, MaxMSP). The open-source IDE can be downloaded for free (currently for Mac OS X, Windows, and Linux).
Arduino Yun is the first member of a new groundbreaking line of WiFi products combining the power Linux with ease of use of Arduino. The first Arduino Yun is the combination of a classic Arduino Leonardo (based on the Atmega32U4 processor) with a WiFi system-ona-chip running Linino (a MIPS GNU/Linux based on OpenWRT). Arduino embedded the Linux machine directly on the PCB of the Arduino Leonardo and connected the two so that from Arduino it’s very easy to run commands on the Linux side and use it as an Ethernet and WiFi interface.
The board has built-in Ethernet and WiFi support, a USB-A port, micro-SD card slot, 20 digital input/output pins (of which 7 can be used as PWM outputs and 12 as analog inputs), a 16 MHz crystal oscillator, a micro USB connection, an ICSP header, and a 3 reset buttons.
Not sure which Arduino or Arduino-compatible board is right for you? Check out our Arduino Buying Guide!
Note: The Arduino PoE module will not work with this board. A YUN-specific module will be coming out. In the meantime, just leave this unpopulated.
One of our more ingenuitive customers managed to figure out how to port Phant over to run on the Arduino Yun. This method outlines the process that he used to setup his own private data logging sever and stream to it using different devices. Thanks John!
1) Get the latest OS. First I tried this procedure https://gist.github.com/cvarta/894c5d40bf7391c97853 but this version of opkg accesses an out-of-date version of nodejs. This procedure https://www.arduino.cc/en/Tutorial/YunSysupgrade seems to give you the same OS but now opkg accesses a newer version of nodejs. Go figure.
2) The Yun doesn't have enough native memory to install nodejs so you have to create root space on the SD card. This is done using the ExpandingYunDiskSpace sketch. I found two versions of this sketch, one older by a few months and which doesn't work. Use the newer one. Reboot and type "df" and you should see that rootfs has a ton of room on it. Here is a "regular" Yun, which few MB on rootfs and a bunch of room on sda1.
root@Well:~# df Filesystem 1K-blocks Used Available Use% Mounted on rootfs 5952 1160 4792 19% / /dev/root 8704 8704 0 100% /rom tmpfs 30728 104 30624 0% /tmp tmpfs 512 0 512 0% /dev /dev/mtdblock3 5952 1160 4792 19% /overlay overlayfs:/overlay 5952 1160 4792 19% / /dev/sda1 3862528 37312 3825216 1% /mnt/sda1
Here is a Yun reconfigured as above. It has way more room in rootfs, which is the only reason there's enough room to install nodejs.
root@SPO2:~# df Filesystem 1K-blocks Used Available Use% Mounted on rootfs 1321980 150484 1105244 12% / /dev/root 7680 7680 0 100% /rom tmpfs 30560 136 30424 0% /tmp tmpfs 512 0 512 0% /dev /dev/sda3 1321980 150484 1105244 12% /overlay overlayfs:/overlay 1321980 150484 1105244 12% / /dev/sda1 12275984 24 12275960 0% /mnt/sda1
3) Now install node and phant.
opkg update opkg install node opkg install node-ws opkg install node-serialport
npm -g install phant
4) If you telnet into the Yun you can set up a phant stream just like you do on data.sparkfun.com
[Johns-MacPro:~] john% telnet spo2.local 8081
Trying 10.0.1.7...
Connected to spo2.local.
Escape character is '^]'.
.-.._
__ /'.
.-'
/ ( a \
/ ( \,_ \
/| '---|\ =|
\ /.-/ / | |
| / / \ \ \ _\ jgs
||| ||__\
welcome to phant.
Type 'help' for a list of available commands
phant> help
list list public streams create create a new stream delete remove a stream help display this dialog quit close the connection
If you need help getting started, visit http://phant.io/docs.
phant> create Enter a title> Hive Enter a description> hive weight Enter fields (comma separated)> upTime,temp,Vbat,weight Enter tags (comma separated)>
Stream created! PUBLIC KEY: aK…..Pd6a PRIVATE KEY: Pn5…..QqzE DELETE KEY: lBb……ZNk
If you need help getting started, visit http://phant.io/docs.
phant>
The ESP8266 board driving the beehive logs to spo2.local just fine. Make sure you ESP8266 has const int httpPort = 8080;
The antenna connector on the Yun, Tian and Yun Industrial boards are a Murata SWF connector. We don't currently have a source for an adapter for these unfortunately. More information can be found on this Murata page.
Can't log into a Yun? Arduino has two different default passwords. Try 'arduino' and if that doesn't work, try 'doghunter'. If you get a return where someone has already created a password, you can reset the Yun back to default by pressing and holding the WLAN RST button for more than 30 seconds.
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Rookie - You may be required to know a bit more about the component, such as orientation, or how to hook it up, in addition to power requirements. You will need to understand polarized components.
See all skill levels
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
Based on 14 ratings:
2 of 2 found this helpful:
I am no Linux expert. Most of my experience with Unix comes via the Mac OS X Terminal. Firing up the Yun for the first time made me a bit nervous that I'd be way out of my league. I have to say it was super easy to set up and get it working on my local wifi network. Thanks to the Arduino Yun wiki knowledgebase and other various forums and whatnot I was able to breadboard a button that trigger a python script to run on the Yun in an afternoon. Not too shabby! After a few more days my prototyped idea is waiting for a case to properly house my homemade Sonos controller device.
Now that I have this project nearly done it has sparked (no pun intended) many an idea on how I could make use of the Yun for other applications. Highly recommended.
1 of 1 found this helpful:
This is possibly the most useful Arduino board when it comes to it. You get the functionality of a linux/python environment right from an Arduino library! How cool is that? If you thought the possibilities were endless before, then you may have been wrong. A great buy!
1 of 1 found this helpful:
The I2C pins are mis-labeled on this device. The headers have them listed as the 2 pins closest to the RJ45 jack, but they don't work. After pulling my hair out for a few hours, I read the documentation and learned that they are actually on digital 2 and 3. Had to reshuffle my pin usage to make it all work.
I'm a bit rusty with Linux so there was a bit of a learning curve to work with OpenWRT. Once I refreshed my Linux skills, I found this to be a VERY powerful platform. The bridge concept is really excellent. The Arduino documentation is very good and helped to accelerate the process. I also LOVE the fact that I can push sketches via WiFi - not as fast as USB, but very convenient. I also had to teach myself Python which is opening doors for me on other platforms.
2 of 2 found this helpful:
This Arduino is very good for many IoT projects, specially because of the embedded Linux and WiFi that doesn't require cables to connect to Internet.
The variety of devices/products are great. I would like to see some Microchip products too. Thank you
It was really fun while it lasted. Accidentally bricked it somehow (my fault) and I haven't had the time to attempt fixing it.
The Yun adds a lot of power and flexibility to my Arduino projects. Wifi, Linux, and microSD card really give me a lot of options.
Currently using Yun to monitor small solar power installation... DC current, DC voltage and temperature at my roll-off roof observatory. Mango M2M scada server on linux desktop + home WiFi uses HTTP Retriever to grab data from Yun and store/display/process this data. Happy to share details with anyone interested.
If you're already comfortable with command-line Unix this board's for you. The Arduino microcontroller archives data to the SD card without tying up a single I/O pin so you can use this board in some complicated projects. The Linux chip handles internet the way only Linux can - ssh, cron, scripting, public/private key access, the works - also without tying up a single I/O pin. I can access the data or update the arduino code remotely from my desktop computer. I installed mutt on the Linux chip, a totally painless process, and now the Yun sends email to my computer and/or texts to my phone when panic conditions are met (suppose the home heating quits during a cold snap).
I have a Yun in my circuit breaker panel monitoring 6 circuits (I'm using 6 analog inductive pickups). Wifi won't work from inside the panel, but the the ethernet connection saves the day. I have a power line ethernet adapter at my router and another in the panel with the Yun. A short ethernet cable from the Yun to the adapter and I'm back on line. I actually have two other Yuns on my property running projects that are out of wifi range.
Seriously, this is the most useful board in the suite.
I am trying to use the wifi capabilities of the YUN with a 2 axis accelerometer. I only need to be able to plot and store the data via wifi. I am a mechanical engineering major and this is my first time using Arduino. I would really appreciate the help.
Some hangs and resetings till now but it is working as expected.
The arduino Yun is so easy to use, and is very powerful for such a small device!!
I have used the Mega, Uno, Due, Pro Mini and the Yun. Let me tell you I love the Yun. It makes connecting to the outside world so easy and with an SD card your web page can be as complex as you like without effecting storage on the Arduino. I have an AJAX page driving 300 Neopixels and it works great.
The response time of the web page and the Arduinos reaction time is not as instantaneous as it is with an Arduino alone but in my case the timing is not critical and it is fast enough. For example, when I click the button on my web page, the change in the Neopixels takes up to half a second or so. this could be my code as well.
I bought one from the Arduino official website. But I got the Linux side (something they call it u-boot) bricked. I'm so sad and I need to buy a new one.
I wonder if bare metal code would work with the linux processor. For real-time stuff?
TYPO in description: "combining the power Linux with ease of use of Arduino"
Add "of" between "power" and "Linux"
Hello,
The description states 12 ADC, but when I view images of this board or check the schematics I only see A0 to A5 pins which means total of 6 Analog inputs. What am I missing here? or does the 12 include all pins such as Vin...etc.?
Many of the pins on the ATMega32U4 pull double duty. We don't have graphical datasheet for this board, but feel to check out the datasheet for the Qduino which lists all the pin functions on the ATMega32U4 (well the pins it uses anyway). It lists which pins have analog capabilities as well as digital capabilities.
Finally these are back in stock. I hope more of this style of Arduino board are developed. Start with a "real" Arduino that is compatible with all the sketches and shields out there to take care of the raw hardware interfacing and realtime issues. Then attach that to a "real" processor that can do heavy lifting for computing and access to the real world via Ethernet/Wifi/USB. Sure, it's possible for the ATMEGA to be networked, but it's clear to me that it's way more work than its worth for all but the most basic things.
I just attempted to do something with a Nano + Ethernet/SD setup, and damn was it painful. By the time you load Ethernet + SD libraries you have almost nothing left for program and data space. The W5100 is a toaster it gets so hot---heat sinks are on order in case I find something else to do with it. The Ethernet's DHCP support blocks the entire sketch while it's doing its thing. For this project I needed to be able to continually service the CDC port and can't afford it to go dark for 60 seconds while DHCP times out. Oh, and you get the unique joy of managing your own MAC Addressing.
Contrast that to the Yun, where all of these problems are taken care of, yet doesn't cost much more than a traditional Arduino plus Ether/SD. What was a very long, program/SRAM-busting sketch that took hours to work-almost-right becomes doable in a short shell script. So now that these are available again, I'm writing off the time on this particular project and just running it on a small network of Yuns. Can't complain too much, I learned a lot, both in how the Arduino works and what it's like to bump into its limits.
I'm not knocking the Arduino---I've just discovered them and am having a blast. There's a ton of problems that fit within the Arduino's capabilities. But coming from a long career in software (everything from apps to drivers to networks), my patience for doing things the hard way is thin at this point. Pairing the Arduino with a larger processor extends the reach of these things by an order of magnitude, and lets you solve the problem at hand in much less time.
Bought one of these to try out but returned it. The linux side is a really pitiful. RPI is a much better choice. The link between the arduino is in theory great, but not really that useful. It is just a serial link and they used up the only hardware serial line. Seriously the UNO is obsolete. Coupling it to a linex machine is useless. Get a 32bit teeensy 3.1 and serial to RPI. Now you can do anything ! Three extra hardware serial lines I2C I2S and two SPI.
Okay, I rarely get impressed by new boards. I was not impressed with the Due for my needs as the 5V support was an issue. So for certain projects I used the Uno32. Plenty of speed for my app. Now I needed a more generic set of tools for a sensor platform I am building. I wanted Linux and generic 5V IO. So I ordered this board. Wow! Not only are they nicely integrated on board they are nicely integrated in software. This combination is a serious win for my engineering needs. All I need to provide is power to platform and everything else goes over wifi. There is a serious focus on using Python internally and web technologies. Both of these are used a lot in our company.
So if you need a mobile platform for sensors this is a good piece of that system. I used the Yun combined with the Rover (https://www.sparkfun.com/products/10336) and it driver board (https://www.sparkfun.com/products/11593). I am using a couple of the 9 DOF boards for some inertial sensor testing. Putting these together has been relatively simplistic and mainly just deciphering datasheets. The Yun has been the least of the learning curve. That is how you know a device is designed well. You spend little time making it work.
Run into any problems at all or any downsides? Thinkiing of getting a few of these boards myself.
So now that the Intel Edison has been out for a few months, how about a shootout-style comparison?
Compare this board to a pcDuino from LinkSprite and you will see that the YUN is inferior in all ways. Pick your criteria, price, HDMI graphics out, RAM, Flash, Ubuntu release stability, USB ports, Wifi etc... Don't buy this board until you do the comparison. I'm using pcDuinos in a product I sell. Its better than RPI too as it has an arduino shield socket.
The Yun has a lot of potential but I regret purchasing it. I've spent far more time fighting with things that should work out of the box than actually using it.
Two examples:
The wifi is shaky. There are a variety of threads about this on the web but no definitive fixes that work for everyone. For me, it usually forgets it has wifi after 20 minutes to 3 hours and requires reset(s) before it can be used again.
Most recently, they changed the serial (usb) baud rate to 250,000. The latest version of the Arduino software that supports the Yun still goes up only to 115,200. As an aside, you have to use a Beta version of the software - the Yun still isn't supported in the official version unless it was added very recently. Anyway, I did find a thread pointing out how to change the baud rate programmatically, but also a warning that it should be consistent between the ROM and the library. To change the library I believe I have to download and build it, which really shouldn't be necessary on Windows. To change the ROM... well, I don't know that I CAN change the ROM. In any case, this is way more of a science project than I signed up for.
If it worked out of the box and let you program using the Linux-based wifi-supporting SOC and was well integrated with the ATMEGA chip, it would be great. Perhaps some use it in such a way that they don't hit the nasty problems I've hit (see 2 representative samples above). For me, it's been a an unstable piece of junk with many known problems that don't seem to get addressed.
If you're into science projects and have a lot of free time (or feel lucky), this may be the board for you. If you actually have projects in mind that require a stable platform, this probably isn't it.
Just a heads up for anyone looking to buy a Yun to use with a shield: you should probably take a good look at a side view of the board. The vertical USB-A -connector and the Ethernet socket are both WAY taller than the USB-B -connector on for example an Uno (which is conveniently about exactly the height of the female headers on the arduino plus the height plastic spacers on the male headers on the shield).
Most shields will not fit on a Yun, despite the Arduino website claiming that the board is "compatible with the most shields designed for Arduino".
Personally I've used the old retired Screwshield wings as an adaptor (even then, I had to adjust the screwshield wings on the USB host side to make them fit). Another option would be to find the really really long stackable headers found on an official Wi-Fi shield, and resolder those on to old shields.
The Arduino Yun product page says the Linux processor has 16 MB Flash. You say 32 MB. Who's right?
http://arduino.cc/en/Main/ArduinoBoardYun
Ah, it is 16MB! Thanks for the heads up!
Does this board come with the PoE module preassembled on the board?
There is no PoE module on this board. At this moment I don't believe there is a PoE module available for this board either.
The Arduino Yun product page does state however that it supports PoE. Hmmm Anyone tried to get this to work?
What are the specs for the Micro-SD recommended to use? Such as max size allowed, class, min recommended size, etc. I dug thru the manual a little and didn't see this (but could have missed it). I want to get started programming but want to order a micro sd card first
Can you run NodeJS on this thing? if so, I want!
Yes you can. You'll have to install it from the package manager (opkg) though or compile from source.
Hmm. Tough call. You can get an actual real Raspberry Pi and the Alamode pi Shield which then puts a full arduino on top of the pi...and you have the best of both worlds for actually a little less.
RaspberryPi $35 : https://www.sparkfun.com/products/11546 Alamode $35: http://www.seeedstudio.com/depot/alamode-arduino-compatible-raspberry-pi-plate-p-1285.html
And its still cheaper than this.
If they really wanted this to take off they would have made it cheaper than actually buying the same thing seperately. At $50 I might be a buyer of this. At $77, I am a buyer of a real pi + an arduino bridge shield like the Alamode.
True - but, how is your Pi going to talk to the Alamode? Bit-banging serial? Well, now you have to define and implement a serial command system in two languages. Doable, but a major headache if you just want to send "pin on; pin off" messages based on network or web events.
How is your Pi going to get on your wifi network? Setting up a Pi requires an S-video or HDMI display, a keyboard, and editing etc/network/interfaces.
Yun's Bridge and Console libraries - the first exposes a key/value database in both the Linux and Arduino spaces, and the second provides Telnet access to the 32u4's Serial interface - are well worth the price, imo. The astonishingly easy network setup is just the icing on the sweet, sweet cake. All in a standard Arduino footprint. I don't think I'll ever bother with Pi + Arduino again, Yun just makes it so easy. I'd rather spend the $20 than lose the weekend.
An hour of engineering time dwarfs the cost of both. So an integrated solution can give you more time to actually solve the problem you intended to solve. The Pi is very capable as is the Yun. If I needed a user interface that connects to an HDMI monitor the Pi is a shoe in. For an embedded wifi capable robot I would reach for the Yun. It depends upon application and needs. Cost is not a factor in some cases. In my case time was way more important than device costs.
Now that I have some time on the Yun I think paying the extra for the integration is well worth it. Even if a Pi could do the same task equally well.
And don't forget the PCDuino, Beagle Bone Black, and every other microcontroller or single board computer. Honestly there is probably always something out there that means your specific need. the question is do you want to learn a new board every time you have a new need. Each of these boards have their advantages and disadvantages. Often the advantage is "I kind of know my way around this board already".
Everyone forgots about the SD / Mirco SD cards and there cost. Generally an SD card will cost you another $10 bucks. That makes it a total of $80 that is $20 more then the Yun costs right now. We are not going to count the micro SD for the Yun or the Shield since if you need the storage you will need it for both.
Why pay for this when you can buy a beaglebone black for about the same price?
BBB is actually about $25 cheaper, but...
With BBB you get the fun of writing your own kernel driver if you want any hope of decent latency on DIO ADC etc. Even just using the (slow) userspace IO interface on the BBB is largely undocumented, obsolete-documented, and generally a huge pain compared to Arduino.
That said, I'm not sure I'll abandon my chosen solution of Arduino + BBW where needed just yet. I'm curious how stable the Lineno is and wonder how easy it is to upgrade software on it?
Because it interfaces a Linux-capable system with an Arduino on a single small form-factor board and is largely compatible with existing Arduino shields?
If neither of those are of any interest, then I agree there's more appropriate alternatives :)
Will it support https?
Looks like the answer is YES: arduino.cc: Yún and SSL (Somebody specifically asks about https to verify)
I'm looking for a platform to access a large e-ink display, but the combination for timing AND image size has been problematic, any chance that this would work well?
Couldn't get the schematic link to work; found this on the net: http://arduino.cc/en/uploads/Main/arduino-Yun-schematic.pdf
Should be working now, sorry about that.
In the light of "there's always something missing" in the Arduino flavor that you want, why oh why don't these things have an on-board regulator?
Sure, that may not be a problem for a lot of people, but for my application I need the USB port free as a communications input, not an always-connected power source.
Oh well, a solvable problem, just wish it wasn't a problem to begin with.
Otherwise a very exciting board!
Yeah, I was dismayed at this too. I went and picked up a USB micro cable that came with a vehicle 12V to 5V dc to dc converter. Repacked the converter to connect to wires to run off of 12V. Shortened the USB micro cable to a few inches and mounted everything in my chassis. Not perfect, not pretty. Runs well enough. The brand is "Just Wireless Dual USB Car Phone Charger". It comes with cable to charger adapter. $20 at Walmart.
I am guessing there will be more than one Yun shield for power. Are you using the Wifi programming of the 32u4? The Yun supports programming the 32u4 over wifi. Which makes the cable not needed for me. YMMV.
No onboard regulator - now that's sparkfunny.
You could use PoE to power your board, if you can get an ethernet cable to it?
Yes, but for what I'm doing, that's a bigger sledgehammer than just providing regulated 5V.
So this one can be programmed as same as the arduino uno?
You can find some code snippets at http://sourceforge.net/projects/arduinoynsnippets/ and you can add content there, too.
Yes, if I'm reading the Arduino website correctly. The setup is a bit more complicated, akin to configuring a linux device, but once it's setup it can be programmed in a way very similar to the Uno.
Thank you!!!
You can, for all intents and purposes, treat it as an Leonardo* if you so desire -- ignoring the linux box.
However, even if all you do is set it up to get on your WiFi, you get to upload code wirelessly. Which, I at least, really like.
*There are a few differences, because the Leonardo does away with the separate USB-serial. http://www.doctormonk.com/2012/10/arduino-leonardo-vs-arduino-uno.html
Thanks for the reply
Crazy, man, so much in one package. I feel conflicted about whether this even fits the Arduino stereotype.