Iduino Yun Shield

From Geeetech Wiki
Jump to: navigation, search


Iduino_Yun_Shield, an extremely powerful development for Arduino board, is designed to solve the problems of connection and storage which exist in the Arduino board. Iduino_Yun_Shield runs Open Source OpenWrt System (Same system as runs in Arduino Yun) and it is fully compatible with Arduino IDE V1.5.4 or later versions. Yun Shield is an ideal choice for Arduino Projects which require various internet connections and more storage.

Actually, Iduino_Yun_Shield is equal to the official Arduino Yun, but Iduino_Yun_Shield is more flexible because it can work with other Arduino board such as Uno, Duemilanove, and Mega etc. Iduino_Yun_Shield uses external antenna which provides stable connection under various environments.

The Iduino Yun is the core module of Iduino_Yun_Shield. And it requires 200mA current when in full load, so it is powered by the Arduino VIN pins to avoid overheated in the Arduino onboard 5V LD0.


  • Open source Linux system (OpenWrt) inside
  • Low power consumption
  • Compatible with Arduino IDE 1.5.4 or later versions. Users can program, debug or upload Sketch to Arduino board
  • Managed by Web GUI, SSH via LAN or Wifi
  • Software upgradable via network
  • Support internet connection via LAN port, Wifi or 3G dongle
  • Support USB flash to provide storage for Arduino projects
  • Reliable design provides robust system
  • Compatible with Arduino Leonardo, Uno, Duemilanove, Diecimila and Mega

Overview and Hard ware Resources

Front iamge.png Back image.png

  1. Processor: 400MHz, 24 MIPS
  2. Flash: 16MB
  3. RAM: 64MB
  4. Power input: 4.75V~23V via Arduino Vin pin
  5. 1×10M/100M RJ45
  6. Connector 150M Wifi 802.11 b/g/n
  7. External antenna via I-Pex
  8. 1×USB port for USB storage or 3G connection
  9. 1×Reset button
  10. Compatible with 3.3V or 5V I/O Arduino
  11. Size: 70mm * 53mm*24mm
  12. Weight: 33.2g

Software Resource

Compiling environment: Arduino IDE 1.5.4 or later version


The Open Source hardware of Iduino_Yun_Shield:

The Open Source code of Iduino_Yun_Shield:

The official webpage of Arduino Yun Bridge:

The official forum of Arduino Yun


Interface layout

Interface layout.png Wireframe.png

Interface specifications

  • RJ45, Wifi, USB port and Failsafe are connected to the Iduino Yun module directly, and the Iduino Yun module uses SPI and UART to communicate with Arduino board
  • The SPI interface is used to upload the sketch coming from the Arduino IDE. SPI interface connects to Iduino Yun only in the upload time, so the Arduino SPI can still be used to connect to the other slave devices.
  • The pins of two sides are respectively connected to the corresponding pins of Arduino

How to set up Iduino_Yun_Shield

Getting IP address

There is a Wifi interface a LAN port on the Iduino_Yun_Shield. And they both have an IP address for network connecting and device management.

Factory IP of Wifi port


At the first boot of Iduino_Yun_Shield, an unsecure Wifi network called Iduino-xxxxxx will automatically generate. Users can use their laptop to connect to this Wifi network and the laptop will get an IP The default IP of Iduino_Yun_Shield is

FallBack IP


The LAN port of Iduino_Yun_Shield distributes a Fall Back IP

If the user’s laptop IP is

Then you can access Yun Shield by Fall Back IP.

Detect IP from Arduino IDE

If the Ethernet port of Iduino_Yun_Shield is connected to Uplink Router or Wifi Router, the PC in the same network can use Arduino IDE to detect the IP of Iduino_Yun_Shield.

Allocation pattern

The Iduino_Yun_Shield runs Open Source Linux System. If you have a PC which is in the same network with Iduino_Yun_Shield, you can access its system by Web or Secure Shell (SSH).

Webpage access

Use browser (recommend Firefox or Chrome) to set Iduino_Yun_Shield, and you will see login page after entering

webpage access

Default password for Iduino_Yun_Shield is ‘iduino’.

SSH Access

By SSH Access, users can enter Linux system directory and customize more functions as well as applications.

SSH access

SSH Access:

IP address: IP address of Iduino_Yun_Shield
Port: 22
User Name: root
Password: iduino (default)

Webpage Setting

General setting

After login, the GUI will show the WIFI/ETH status.

General setting1.png

Click the SYSTEM button, and you can set the device password and parameter.

General setting2.png

Settings of Iduino

Click SENSORS button and enter the settings relate to Iduino

Settings of iduino.png

Arduino board Type: Define the setting of bootloader/mcu type/fuse during Sketch uploading

Operation Mode: Make sure the mode is Arduino Bridge mode so that the Bridge class can work


You can repair bug, upgrade system, and add new function by upgrading Iduino_Yun_Shield firmware through GUI. Turn to page of GUI→Upgrade and choose correct firmware. The firmware used for webpage upgrade should be Sysupgrade Type, and you can decide to save setting or not after upgrade.



Usually, it takes 2 minutes to upgrade firmware. The Iduino_Yun_Shield will restart automatically and all the LEDs will blink together.

Use with Arduino Board

The Iduino_Yun_Shield uses SPI for uploading sketch and uses UART port for Bridge class to talk to the AVR. While connecting Iduino_Yun_Shield to Arduino board, below points should be checked:

  1. Whether the Arduino board is powered by DC jack;
  2. If the board type setting is correct in the Iduino_Yun_Shield;
  3. If the board type setting is correct in the Arduino IDE;
  4. Whether the Arduino SPI and UART is not influenced by other hardware
  5. Make sure the UART mode is in Arduino Bridge.

Connect to Arduino Board

Connect to Leonardo

As is shown in the follow figure, simply plug the Iduino_Yun_Shield on the top of Leonardo, and power the Leonardo via DC jack

Connect to leonardo.png

In Arduino IDE, the board type selected should be Arduino Yun.

Connect to Arduino Uno

1) In Uno, the UART connection between mega328P and mega16u2 will influence the Bridge feature with Iduino_Yun_Shield. So we have to disconnect it by setting the mege16u2 into reset mode, as below:

connect to arduino uno

Note: USB upgrade/debug won’t work after this change. User must upgrade/debug via Arduino IDE via Wifi.

2) Add board type in the file: Arduino\hardware\arduino\avr\board.txt, as below, and reopen the Arduino IDE: Uno --Iduino Yún

Connect to Arduino Duemilanove/Diecimila

1) The mega avr interface on the Duemilanove/Diecimila is connected to the FTDI chip, and we must disconnect them as the below figure:

connect to Arduino Duemilanove/Diecimila

2) Add a “Duemilanove” board type in the file: Arduino\hardware\arduino\avr\board.txt. User can use the Uno Yun board type if there is mega328P. For mega328/mega168/mega168P, they can modify the upload.maximum_data/upload.maximum_size and build.mcu accordingly.

3) Plug the Iduino_Yun_Shield on the Duemilanove and power it via DC jack.

Connect to Arduino Mega2560

1) In Mega2560, the UART between mega2560 and mega16u2 will influence the Bridge feature with Iduino_Yun_Shield. So we have to disconnect it by setting mega16u2 into reset mode, as below figure:

connect to mega2560

2) Add a “Mega2560 Yun” board type in the file: Arduino\hardware\arduino\avr\board.txt, as below, and reopen the Arduino IDE: Mega 2560 -- Iduino Yún

3) Plug the Iduino_Yun_Shield on the Mega2560 and power it via DC jack.

Detect Iduino_Yun_Shield

Make sure your laptop and Iduino_Yun_Shield are in the same network. The Iduino_Yun_Shield will broadcast data in this network and Arduino IDE will show Iduino_Yun_Shield in Tools>Port after receiving this data.

detect Iduino_Yun_Shield

Upload Sketch

1) In the Arduino IDE, choose correct board type for AVR module.

2) In the Arduino IDE, choose correct port (may be the address of Arduino Yun).

3) In the Iduino_Yun_Shield GUI>Sensor page, choose correct board type for uploading.

4) Compile and upload sketch to Arduino board. During uploading, the Iduino_Yun_Shield will ask you to input the password, which is “iduino” by default.

upload sketch


Say hello to Linux

Introduction: This example is a Hello test between Arduino and Iduino_Yun_Shield, which can be found at Arduino IDE--> File --> Examples --> Bridge --> ConsoleRead. The course of this example can be checked at The code and notes will be shown as below:


#include <Console.h>//use Console class for Arduino IDE debug over Wifi, similarto Serial class,
String name;
voidsetup() {
// Initialize Console and wait for port to open:
// Wait for Console port to connect
while (!Console);
Console.println("Hi, what's your name?");//Data flow: Arduino --> Yun Shield --> Arduino IDE
void loop() {
if (Console.available() > 0) {
char c =; //read the next char received, data flow: IDE --> Yun Shield--> Arduino
// look for the newline character, this is the last character in the string
if (c == '\n') {
//print text with the name received
Console.print("Hi ");
Console.println("! Nice to meet you!");
// Ask again for name and clear the old name
Console.println("Hi, what's your name?");
name = "";  // clear the name string
Else {  // if the buffer is empty returns -1
name += c; // append the read char from Console to the name string

Test Interface:

test interface


The advantages of Iduino_Yun_Shield compared to official Arduino Yun

In Hardware Aspect

Both Arduino Yun and Iduino_Yun_Shield have the same CPU, Memory size, and RAM size for the Linux system. The Arduino Yun is an integrated of Linux part and MCU part. Iduino_Yun_Shield is designed as a shield which can be used with existing Arduino boards.

Basically, Iduino_Yun_Shield + Arduino Leonardo equal to an Arduino Yun, but Iduino_Yun_Shield is more flexible because it can be used with other Arduino boards such as Arduino Uno, Duemilanove, and Diecimila etc.

Iduino_Yun_Shield is replicable and reproducible: The design of Iduino_Yun_Shield is open and the most complicated and difficult parts are in the Dragino HE module. User can purchase the Dragino HE module separately to customize their projects and release variant Yun Solution.

Stable and flexible Wifi performance: Arduino Yun uses chip-like antenna design. If there is a shield on the top of Arduino Yun, the Wifi will be greatly shielded and lead to a poor Wifi performance. Instead, Iduino_Yun_Shield uses external antenna design. User can connect different type of antennas to the I-pex connector of Iduino_Yun_Shield and that makes the installation more flexible and the signal can transferred several kilometers.

In Software Aspect

Iduino_Yun_Shield has repaired some bugs and adds more functions as well as supports more board types.

Is Iduino_Yun_Shield compatible with different Arduino boards?

If the Arduino board is different from the supported boards, you can check the following list to check the compatibility:

1.The voltage of Vin pin to power the Iduino_Yun_Shield is 7~15V;

2.The variant has same definition and position of SPI in the ICSP header as the official board;

3.The variant has same definition and position of D0 and D1 pins as the official board

4.Check whether there are ICs connected to the AVR and the UART of SPI, and evaluate if they will influence the communication between Yun Shield and AVR.

The system structure section of Iduino_Yun_Shield well explains the working principle of it. If you are still not sure if Iduino_Yun_Shield is compatible with their boards or having trouble in the compatibility, then you can send the board info to, and our team will review and check it.

How to set up /www/sd and mnt/sd?

The way to use /www/sd and /mnt/sd is as the same as Arduino Yun. User can prepare a USB flash and create directory /arduino and /arduino/www at the root of USB flash. Then input the USB flash into the Iduino_Yun_Shield and it will automatically create directory /www/sd and /mnt/sd, which link to /arduino and /arduino/www.

What if Arduino IDE doesn’t detect Iduino_Yun_Shield?

You can check the below issues:

  1. Whether the Arduino version is 1.5.4 or later;
  2. Whether you PC is in the same network with the Iduino_Yun_Shield;
  3. If the Iduino_Yun_Shield boots in advance than Arduino IDE, this situation may happen. So try to reboot the Iduino_Yun_Shield and check again.

Where can you find the source code of the Iduino_Yun_Shield?

The source code can be found at

How to upload, download or edit the files in Iduino_Yun_Shield?

Iduino_Yun_Shield has a built-in Linux system and supports SCP protocol. You can download or edit the Linux files using SCP tools. In Windows OS, the SCP tool is winscp. Install it and log into SCP as below:

Host name: The IP address of Iduino_Yun_Shield
User name: root
Password: iduino (default)
Protocol: SCP

How6.6 1.jpg

There will be 2 warnings during login and just ignore it. After login, a management panel will appear.

The left part of this panel is your PC’s directories and the right part is the directories of Iduino_Yun_Shield. You can upload/download files by dragging, or double click the file to edit its content.

How6.6 2.jpg

How to reset Iduino_Yun_Shield?

Iduino_Yun_Shield has a toggle button which can be used for reset. You can press the toggle button to reset the running Iduino_Yun_Shield.

  1. If pressing the toggle button and release after 5 seconds, it will reset the Wifi setting and other settings will be kept.
  2. If pressing the toggle button and release after 30 seconds, it will reset all the settings to factory default.

How to recover the Iduino_Yun_Shield in case firmware crash?

There are some cases that the Iduino_Yun_Shield fails to boot. For example, upgrade an improper firmware or lost power during upgrade. But you are still able to recover the Iduino_Yun_Shield by using the U-boot of Iduino_Yun_Shield. An instruction in Windows is shown as below:

1.Turn of Windows firewall

2.Set IP address as "", Subnet mask:

3. You need firmwares called "kernel" and "root-squash", put the firmwares and "tftpd32.exe" in same folder.

4.Connect Iduino Yun Shield to computer via cable. Power Iduino Yun Shield with 9V of DC.
5.Set TPFP service:

(1)Open "tftpd32.exe", Choose "" in "Service interfaces".




(3)Choose file "kernel" in "Local File".


6.Open "hercules_3-2-8.exe", set the following parameters in UDP board:

Module IP:
Port: 6666
Local Port: 6666

Click "Listen":

7.Back to tftpd32, click "Put":

8.After clicking "Put", you can see "kernel" displayed in "Received data" on Hercule.

9.Access "Failsafe" mode: Disconnect the power supply for Iduino Yun Shield, keep pressing button "Failsafe". Then power Iduino Yun Shield again, you will see the LEDs of LAN,WLAN and SYS blinking at the same time. When these LEDs stop blinking, release "Failsafe".

10.Send printenv<CR> command on Hercules. "Received data" will display some information from Iduino Yun Shield as follow, if not, re-send printenv<CR>

11.Send the following commands in order, to upgrade kernel:

tftpboot 0x81000000 dragino2-yun-geeetech-v2.0.2-kernel.bin<CR>


erase 0x9fea0000 +0x140000<CR>


cp.b 0x81000000 0x9fea0000 $$filesize<CR>


12.Disconnect the power supply for Iduino Yun Shield, and back to tftpd32, click "Break":

13.Change "Local File"

14.Choose root-squashfs file

15.Click "Put" to send file to Hercules.

16. Keep pressing "Failsafe" button on Iduino Yun Shield, power Iduino Yun Shield again, you will see LEDs of LAN,WLAN and SYS blinking at the same time. When they stop blinking, release "Failsafe" button. Iduino Yun Shield is in Failsafe mode now.

17.Send printenv<CR> command on Hercules. "Received data" will display some information from Iduino Yun Shield as follow, if not, re-send printenv<CR>

18.Send the following commands to upgrade rootfs:

tftpboot 0x81000000 dragino2-yun-geeetech-v2.0.2-rootfs-squashfs.bin<CR>


erase 0x9f050000 +0xe50000<CR>


cp.b 0x81000000 0x9f050000 $$filesize<CR>


19.Send the following command to reset Iduino Yun Shield.



Relevant file:

Warning: User should use correct address in the erase and cp.b. Wrong address may destroy the boot-loader of Iduino_Yun_Shield and the device won’t boot anymore, or destroy the radio data leading to a poor Wifi performance or incorrect MAC address.

Recover in Linux is similar with Windows. The different is that the tool used in Linux is nc, namely nc-kul6666. The figure below shows that the Iduino_Yun_Shield has been in Failsafe mode and detected by nc.

[[File:Reset firmware.png|reset firmware]

How to get it

Click here to buy: iduino Yun Shield