A20-OLinuXino-LIME2
A20-OLinuXino-LIME2 looks similar to both A20-OLinuXino-LIME and to A10-OLinuXino-LIME. The three major differences between A20-OLinuXino-LIME2 and A20-OLinuXino-LIME are:
- LIME2 has gigabit Ethernet (GbE), compared to the standard 100Mb Ethernet of the LIME
- LIME2 design provides double the RAM memory, compared to the LIME design (1024 vs 512)
- Much better routing of DDR3 memory.
- Increased the number of layers from 6 in LIME to 8 in LIME2
- Corrected pinout of the LCD connector
The A10 and the A20 processors are pin-to-pin compatible. Because of the processor, software-wise the board is closer to A20-OLinuXino-LIME than to the A10-OLinuXino-LIME. This resemblance to other designs definitely might speed the development on the board - a lot of software written for A20-OLinuXino-LIME might work out-of-the-box with A20-OLinuXino-LIME2. Additionally, pinout tables, GPIO maps, etc released for A20-OLinuXino-LIME would apply to A20-OLinuXino-LIME2 (except for the LCD display connector, which has a different layout compared to both A20-OLinuXino-LIME and A10-OLinuXino-LIME).
A20-OLinuXino-LIME2 features:
- A20 Cortex-A7 dual-core ARM Cortex-A7 CPU and dual-core Mali 400 GPU
- 1GB DDR3 RAM memory
- 1 gigabit native Ethernet
- optional 4GB NAND FLASH memory
- SATA connector with 5V SATA power jack
- HDMI FullHD 1080p
- 2x USB Low-Full-High-Speed hosts with power control and current limiter
- USB-OTG with power control and current limiter
- LiPo Battery connector with battery-charging capabilities
- LCD connector compatible with with 4.3", 7.0", 10.1" LCD modules from Olimex
- 160 GPIOs on three GPIO connectors
- MicroSD card connector
- DEBUG-UART connector for console debug with USB-SERIAL-CABLE-F
- status LED
- Battery charge status LED
- Power LED
- 2KB EEPROM for MAC address storage and more
- 2 BUTTONS with ANDROID functionality + RESET button
- 2 mount holes
- 5V input power supply, noise immune design
- PCB dimensions: 84 x 60 mm
Contents
- 1 Official Images from OLIMEX
- 2 Notable unofficial images
- 3 Documents
- 4 Hardware
- 5 Software
- 6 How To?
- 6.1 How to generate boot-able SD-card Debian Linux image for A20-OLinuXino-LIME2?
- 6.2 How to connect a display and adjust the output resolution?
- 6.3 Is it possible to boot Debian from NAND? Do you provide such image?
- 6.4 How to detect and enable the Ethernet controller (if it is disabled by default)?
- 6.5 How to download new Android image to the NAND memory of my A20 board?
- 6.6 How do I write the official Android image to a micro SD card for my A20 board?
- 6.7 I don't have neither serial cable, nor HDMI monitor. I also can't access the local Ethernet network. Can I somehow access the board anyway?
- 6.8 How to edit board configurations and definitions in the official Debian Linux?
- 6.9 How to add STK1160 video capture driver support in Kernel 3.4
Official Images from OLIMEX
Below you would find links to the official Debian and Android images. The images in this chapter were compiled by Olimex. They are recommended for beginners and first time users since they include full hardware support. If you are experienced Linux professional you might find bare-bone images and much more in the next chapter "Notable unofficial images".
The downloaded file xxxx.7z is an archive of xxx.img file. In order to write the image on SD card you have to unzip the xxx.7z file.
- For Windows: use 7zip and then use Win32DiskImager.exe (http://sourceforge.net/projects/win32diskimager/) to write the image
- For Linux: use p7zip package. If you don't have 7zip installed first install it
#apt-get install p7zip
Copy a20_Lime2_debian_second_release.7z file in your directory and unzip the archive with
#7za e a20_Lime2_debian_second_release.7z
where a20_Lime2_debian_second_release.7z The output should be a new 4GB file with extension img Put 4GB SD card in your card reader and type
# ls /dev/sd
Then press two times <TAB> you will see a list of your sd devices like sda sdb sdc note that some of these devices may be your hard disk so make sure you know which one is your sd card before you proceed as you can damage your HDD if you choose the wrong sd-device. You can do this by unplugging your sd card reader and identify which "sd" devices remove from the list. Once you know which device is your sdcard like sda use this text instead of the sdX name in the references below:
#dd if=a20_Lime2_debian_second_release.img of=/dev/sdX
Linux
Download methods and locations of the official Debian Linux might be found below:
Newest official release (recommended):
Torrent of Debian release 2: A20-OLinuXino-Lime2 Debian with kernel 3.4.90+ release 2
Build instructions and required files for the latest Debian images: instructions and files at the GitHub page
Older official releases (not recommended):
Torrent of Debian release 1: A20-OLinuXino-Lime2 Debian with kernel 3.4.90+ release 1
Note: the A20-Debian card which we have in our web store contains the same image on 4GB Class10 fast micro SDcard, if you want to use this image please use card of Class10 speed or the performance of Linux will be very slow.
Note: in the previous Debian releases the Ethernet was auto-detected and initialized during boot BUT this was causing big delays in the start-up of the board if you didn't want to use Ethernet or if there wasn't Ethernet cable connected.
You can enable it by following these two steps:
1. To check under what name the LAN is associated write "ifconfig –a"
2. If, for example, it is under eth0 name, then write: "dhclient eth0"
This should enable the Ethernet and then SSH would also be available.
Android
Torrents of official Android releases are below. Please read description of the image carefully.
Torrent of Android 4.2.2 release 1 for NAND memory (with HDMI and 7 inch 800x480 support): A20-OLinuXino-Lime2 Android for NAND with HDMI and 7 inch display support
Torrent of Android 4.2.2 release 2 for 8GB microSD card (with HDMI and 800x480 support): A20-OLinuXino-Lime2 Android for 8GB microSD card with HDMI and 7 inch display support
Torrent of Android 4.2.2 release 1 for 4GB microSD card (with HDMI and 800x480 support): A20-OLinuXino-Lime2 Android for 4GB microSD card with HDMI and 7 inch display support
Notable unofficial images
Below you would find locations to images released by the community. These are not officially supported by Olimex, however, some of these releases are pretty good and worth a try:
A number of very good and optimized A20-OLinuXino-LIME Debian images by Igor Pečovnik. There are also instructions for NAND installation of Debian: link to his web-site
Documents
A20-OLinuXino-LIME2 user's manual
A20 Brief
A20 Datasheet
A20 User Manual
Hardware
LIME shields
Eagle and KiCAD shield templates for LIME
GPIO description
A20-OLinuXino-LIME2 GPIO description
A template that might be used to create custom shields or own adapters might be downloaded for Eagle or KiCad at the GitHub here: shield template
Power supply and consumption
A20-OLinuXino-LIME2 requires 5V regulated power supply external source. regulated means that the power supply adapter should provide exactly 5V no matter loaded or unloaded (some cheap wallwart adapters are not regulated and under no load their power supply may be higher than 5V although marked as 5V power supply, please measure with voltmeter if your power supply provide 5V as if you connect more than 5V to LIME it will be damaged!!!)
The power jack is standard OLIMEX power jack.
A20-OLinuXino-LIME can be powered from three sources:
- +5VDC voltage applied PWR jack
- +3.7V from LiPo re-chargable battery connected to LiPo board connector
- +5V applied to USB-OTG connector
Power consumption is as follows:
- LiPo 3.7V power battery: 1.2W
- +5VDC input power: 1.3W
Comparison table of power consumption might be found at the following link.
LiPo battery allow backup power supply when main power is interrupted. A20-OLinuXino-LIME2 has power managment IC which charge the battery when main power is present, when power is interrupted the LiPo battery automatically provide backup power supply. Step-up converter prvide 5V for the USB peripherials too. For LiPo batteries we recommend these:
Board dimensions
A20-OLinuXino-LIME2 basic dimensions in mils: 3305.5 x 2347.0
Some additional measures might be seen in the image of A10-OLinuXino-LIME which has almost identical layout. It is available as .png here: link
CAD files
A20-OLinuXino-LIME2 is an Open Source Hardware, CAD files are available at GitHub
The CAD product used to design OLinuXino is Eagle and you can download evaluation free version from their web.
Board Layout
Software
Linux Commands
Linux-Commands Brief Linux Command reference
Python library for GPIO, I2C and SPI control
The Debian Linux Python package for A20-OLinuXino-LIME2 is called pyA20Lime2. It makes the access to GPIO, I2C and SPI considerably easier. It is installed in the default Debian image. More information and examples on how it can be used might be found here:
Link to pyA20Lime2 package at python.org
GPIO under Linux
GPIOs are located in /sys/class/gpio directory. Note that first you have to export GPIOs. For example:
add gpioPH2
root@A20:~# echo 20 > /sys/class/gpio/export
make PH2 output
root@A20:~# echo out > //sys/class/gpio/gpio20_ph2/direction
turn on onboard LED(connected to PH2)
root@A20:~# echo 1 > /sys/class/gpio/gpio20_ph2/value
turn off onboard LED(connected to PH2)
root@A20:~# echo 0 > /sys/class/gpio/gpio20_ph2/value
Full list with supported GPIOs is:
gpio21_ph7 gpio33_ph20 gpio45_pb12 gpio57_pi2 gpio69_pi14 gpio10_pg11 gpio22_ph9 gpio34_ph21 gpio46_pb13 gpio58_pi3 gpio6_pg5 gpio11_pc3 gpio23_ph10 gpio35_ph22 gpio47_pb14 gpio59_pi4 gpio70_pi15 gpio12_pc18 gpio24_ph11 gpio36_ph23 gpio48_pb15 gpio5_pg4 gpio71_pi16 gpio13_pc19 gpio25_ph12 gpio37_pb3 gpio49_pb16 gpio60_pi5 gpio72_pi17 gpio14_pc20 gpio26_ph13 gpio38_pb4 gpio4_pg3 gpio61_pi6 gpio73_pi18 gpio15_pc21 gpio27_ph14 gpio39_pb5 gpio50_pb17 gpio62_pi7 gpio74_pi19 gpio16_pc22 gpio28_ph15 gpio3_pg2 gpio51_ph24 gpio63_pi8 gpio75_pi20 gpio17_pc23 gpio29_ph16 gpio40_pb6 gpio52_ph25 gpio64_pi9 gpio7_pg6 gpio18_pc24 gpio2_pg1 gpio41_pb7 gpio53_ph26 gpio65_pi10 gpio8_pg7 gpio19_ph0 gpio30_ph17 gpio42_pb8 gpio54_ph27 gpio66_pi11 gpio9_pg8 gpio1_pg0 gpio31_ph18 gpio43_pb10 gpio55_pi0 gpio67_pi12 gpiochip1 gpio20_ph2 gpio32_ph19 gpio44_pb11 gpio56_pi1 gpio68_pi13
Add Voice to your OLinuXino project
Installation of Festival on OLinuXino
How To?
How to generate boot-able SD-card Debian Linux image for A20-OLinuXino-LIME2?
Build instructions and required files for the latest Debian images: instructions and files at the GitHub page
Note that Linux-Sunxi Kernel is a work-in-progress, this means you can try the current stage/sunxi-x.x branch but if something is broken and doesn't work just revert to the git tags we give in the blog and they would work for sure.
Sunxi u-boot loader The linux-sunxi git page contains a lot of sources for all Olimex Allwinner boards.
How to connect a display and adjust the output resolution?
There is a separate article on the subject: How_to_connect_display_to_a_Lime_board
Is it possible to boot Debian from NAND? Do you provide such image?
It is possible bu we don't provide such image. There are people who were successful in booting Debian from the NAND, however. Make sure to check on the forum. Make sure to check the number of very good and optimized A20-OLinuXino Debian images by Igor Pečovnik. There are also instructions for NAND installation of Debian: link to his web-site
How to detect and enable the Ethernet controller (if it is disabled by default)?
Note: in the previous Debian releases the Ethernet was auto-detected and initialized during boot BUT this was causing big delays in the start-up of the board if you didn't want to use Ethernet or if there wasn't Ethernet cable connected.
You can enable it by following these two steps:
1. To check under what name the LAN is associated write "ifconfig –a"
2. If, for example, it is under eth0 name, then write: "dhclient eth0"
This should enable the Ethernet and then SSH would also be available.
How to download new Android image to the NAND memory of my A20 board?
To repair the image on the NAND re-upload it following these steps:
- 1. Install and run PhoenixSuit (can be found here: download from google drive).
- 2. Go to firmware tab of the program and point to a valid Android image (the latest official one may also be downloaded above).
- 3. Disconnect the power supply and USB cable from the A20 board.
- 4. Press and hold RECOVERY button, apply power supply 5V, release RECOVERY button.
- 5. Connect USB cable to the mini USB connector.
- 6. You will be asked for drivers for the bootloader. Navigate to the folder where you extracted the PhoenixSuit and install the drivers from the respective executables (or manually point the installer to the drivers folder in the PhoenixSuit installation path).
- 7. PhoenixSuit will detect the board and would ask for the method of writing the image. Choose method of writing the image and confirm your wish to write the image.
- 8. Wait till upgrade succeeds
Note that it is not recommended to have your mini USB connected to an external USB hub. This might cause delays and might distort the signal levels. Always test with the USB connected straight to the USB ports of your computer.
How do I write the official Android image to a micro SD card for my A20 board?
There are two types of Android images for microSD card that we usually provide and each of them has to be downloaded to a microSD card using a different method. The image provided for microSD card is either the native Android image that can be downloaded to the card via a software tool like PhoenixSuit (through the board) or an image taken from an already prepared microSD card that requires to simply write the image (through a microSD card reader).
It is more likely that you have an image that requires a simple write. If that is the case you can follow the exact steps as for Linux (e.g. using "Win32 Disk Imager" or "dd" command).
If you however have original image you might need to use PhoenixSuit and write the card through the board as explained below. To write the images on the SD card you will need PhoenixSuit and to follow these steps:
• Install and run PhoenixSuit
• Go to the firmware tab of the program and point to a valid Android image (note that the images on Gdrive are compressed and you have to extract them to .img files to be able write them with PhoenixSuit)
• Disconnect the power supply and USB cable from the A20 board. Put an SD card in micro SD holder. We recommend either a 4GB or a 8GB class 10 card.
• Press and hold RECOVERY button, apply power supply 5V, release RECOVERY button.
• Connect USB cable to the mini USB connector.
• You will be asked for drivers for the boot-loader. Navigate to the folder where you extracted the PhoenixSuit and install the drivers from the respective executables (or manually point the installer to the drivers folder in the PhoenixSuit installation path).
• PhoenixSuit will detect the board and would ask for the method of writing the image. Choose method of writing the image and confirm your wish to write the image.
• Wait till upgrade succeeds
Note that it is not recommended to have your mini USB connected to an external USB hub. This might cause delays and might distort the signal levels. Always test with the USB connected straight to the USB ports of your computer.
Important: When Android runs for very first time it takes several minutes to initialize all files and buffers please do not cut the power supply during this process! Also when fresh image is installed fast boot may be disabled, which means that when you apply power supply after few seconds Android will go in sleep mode and you have to press POWER button to start it, you can change to fast boot when you power off there is dialog box asking you if you want next boot to be fast boot, you have to check this box before you power off. Also note that you must do touch screen calibration when you run Android for very first time which might require a mouse.
I don't have neither serial cable, nor HDMI monitor. I also can't access the local Ethernet network. Can I somehow access the board anyway?
The latest official Debian Linux image allows the use the USB_OTG connector for SSH connection without the need of a LAN cable or a serial cable. You can use a mini USB cable connected between your host PC and the on-board mini USB connector. For connection convenience there is a DHCP server running specifically for USB0 interface. The DHCP server should give IP address to the new USB0 interface of your host PC so you can make SSH connection from your PC to the default board IP address of the USB0 interface – 192.168.2.1.
You can connect to the board using a mini USB cable and an SSH client (for example “puTTY”) at address 192.168.2.1.
How to edit board configurations and definitions in the official Debian Linux?
Do you want a custom video resolution output? Do you need a different port definition? Do you need to change the hardware defitions of the board?
You would need to edit the board's script.bin/script.fex file. How to do it is described in another separate article: How_to_edit_board_configurations_and_definitions_in_the_official_Debian_Linux.