Difference between revisions of "A20-OLinuXino-LIME"

(Android images)
 
(87 intermediate revisions by the same user not shown)
Line 27: Line 27:
  
  
== Official Images from OLIMEX ==
+
== Official images from OLIMEX ==
  
The file for download xxxx.7z is an archive of xxx.img file.
+
'''The recommended image for most of Olimex-made Linux boards is Olimage Linux, you can find information about it in the document here:'''
So in order to write the image on SD card you have to unzip xxx.7z file and:
 
  
*For Windows:  
+
https://github.com/OLIMEX/OLINUXINO/blob/master/DOCUMENTS/OLIMAGE/Olimage-guide.pdf
Use 7zip and then use Win32DiskImager.exe (http://sourceforge.net/projects/win32diskimager/) for image writing
+
 
 +
'''Notice this wiki article refers to outdated images and practices, if using Olimage Linux, use the information only as a reference (do not take it literally)!'''
 +
 
 +
Below you will find links to download files containing the 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 is usually an archive of the image file. Make sure to first extract the 7z or zip archive. In order to be able to download the image to a SD card you can use software like Etcher or Win32DiskImager. Under Linux you can use dd command.
 +
 
 +
*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 <br><br>
  
*For Linux
 
Use p7zip package. If you have no installed 7zip then type
 
 
     #apt-get install p7zip
 
     #apt-get install p7zip
Copy a10_Lime_debian_second_release.7z file in your directory and unzip it with  
+
Copy a20_Lime_debian_second_release.7z file in your directory and unzip the archive with  
     #7za e a10_Lime_debian_second_release.7z
+
     #7za e a20_Lime_debian_second_release.7z
The output should be a new 4GB file named a10_Lime_debian_second_release.img
+
where a20_Lime_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
 
Put 4GB SD card in your card reader and type
 
     # ls /dev/sd
 
     # 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.
 
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:
 
Once you know which device is your sdcard like sda use this text instead of the sdX name in the references below:
     #dd if=a10_Lime_debian_second_release.img of=/dev/sdX
+
     #dd if=a20_Lim2_debian_second_release.img of=/dev/sdX
  
 +
The file system can be extended to suit a bigger card. Use the following three commands to execute a script that would use all the free space of your card:
  
=== Linux ===
+
  sudo su
 +
  resize_sd.sh /dev/mmcblk0 2
 +
  reboot
  
[https://drive.google.com/file/d/0B-bAEPML8fwlV0RsenB6cXBqSWM/edit?usp=sharing A20-OLinuXino-LIME Debian image with Kernel 3.4.90+]
 
  
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.
+
=== Linux images ===
 +
 
 +
These official Debian images should be downloaded to a microSD card. They are availalbe at our FTP server. You can install the Debian to the NAND or the eMMC of your board (if it comes with one). Information on booting Debian from the NAND might be found in these wiki articles: [[how to install Debian to NAND]]; [[how to install Debian to eMMC]]. Download locations for the official images might be found below:
 +
 
 +
'''ALWAYS FIRST TEST WITH LATEST OFFICIAL IMAGE, NEWER HARDWARE REVISIONS OF THE BOARD MIGHT NOT WORK WITH OLDER IMAGES!!!'''
 +
 
 +
----
 +
 
 +
'''Latest stable official images - Debian 8 (Jessie):'''
 +
 
 +
FTP location official Debian Jessie release #7, suitable for boards with no extra flash memory or with extra NAND memory (not suitable for boards with eMMC memory): [https://ftp.olimex.com/Allwinner_Images/A20-OLinuXino-LIME/Debian/sd/a20_Lime_debian_3.4.103_Jessie_2G_release_7.img.7z A20-OLinuXino-LIME Debian Jessie with kernel 3.4.103+ release 7]
 +
 
 +
FTP download location of official Debian Jessie release #9, suitable for boards with no extra flash memory or with extra eMMC flash memory (not suitable for boards with NAND flash memory): [https://ftp.olimex.com/Allwinner_Images/A20-OLinuXino-LIME/Debian/sd/a20_Lime_debian_3.4.103_Jessie_2G_eMMC_release_9.zip A20 lime mainline uboot sunxi kernel 3.4.103 jessie eMMC rel 9]
 +
 
 +
Image description and typical interfacing: [https://github.com/OLIMEX/OLINUXINO/blob/master/SOFTWARE/A20/A20-build-3.4.103-release-7/USAGE-AND-COMMON-PRACTICEs-A20-Olimex_kernel_3.4.103%2B_Jessie_rel_3.txt description and basic usage of different peripherals at at the GitHub page]
 +
 
 +
Image build instructions and required files for latest Debian Jessie release might be found here: [https://github.com/OLIMEX/OLINUXINO/blob/master/SOFTWARE/A20/A20-build-3.4.103-release-8/BUILD_DESCRIPTION_A20_Olimex_kernel_3.4.103%2B_Jessie_rel_8.txt build instructions and required files at the GitHub page]
 +
 
 +
You can find some older releases and older build instructions (older image revisions might be used as a reference, for testing purposes, or if you own old hardware revision of the board) at the following article: [[A20-OLinuXino-LIME-older-releases|older releases and older build instructions]]
 +
 
 +
----
 +
 
 +
Note: the A20-LIME-DEBIAN-SD card which we have in our web store contains the same image on 8GB 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.
 
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.
Line 64: Line 95:
 
This should enable the Ethernet and then SSH would also be available.
 
This should enable the Ethernet and then SSH would also be available.
  
=== Android ===
+
=== Android images ===
 +
 
 +
FTP location of official Android releases are below. Please read description of the image carefully.
 +
 
 +
FTP location of Android 4.2.2 release 1 for NAND memory (with HDMI and 800x480 support): [https://ftp.olimex.com/Allwinner_Images/A20-OLinuXino-LIME/Android/nand/a20_Lime_android_4.22_nand_LCD_800x480_release1.img A20-OLinuXino-Lime Android for NAND with HDMI and 7 inch display support]
  
[https://drive.google.com/file/d/0B-bAEPML8fwldzMwSW84WjhsSmc/edit?usp=sharing NAND Flash image for Android 4.2.2 with 7″ LCD 800×600 pixels]
+
FTP location of Android 4.2.2 release 1 for NAND memory (with HDMI and 1024x600 support): [https://ftp.olimex.com/Allwinner_Images/A20-OLinuXino-LIME/Android/nand/a20_Lime_android_4.22_nand_LCD_1024x600_release1.img A20-OLinuXino-Lime Android for NAND with HDMI and 10 inch display support]
  
 +
Build instructions and source files for the official Android images for A20 boards in this repository: https://github.com/hehopmajieh/olinuxino_configs
  
[https://drive.google.com/file/d/0B-bAEPML8fwlQ3gwS0Z3NVNRTEE/edit?usp=sharing NAND Flash image for Android 4.2.2 with 10″ LCD 1024×600 pixels]
+
FTP location of Android 4.2.2 release 1 for microSD card (with HDMI and 800x480 support): [https://ftp.olimex.com/Allwinner_Images/A20-OLinuXino-LIME/Android/sd/A20_Lime_android_422_SD_LCD_800x480_HDMI_release_1.7z A20-OLinuXino-Lime Android for microSD card with HDMI and 7 inch display support]
  
 +
FTP location of Android 4.2.2 release 1 for microSD card (with HDMI and 1024x600 support): [https://ftp.olimex.com/Allwinner_Images/A20-OLinuXino-LIME/Android/sd/A20_Lime_android_422_SD_LCD_1024x600_HDMI_release_1.7z A20-OLinuXino-Lime Android for microSD card with HDMI and 10 inch display support]
  
[https://drive.google.com/file/d/0B-bAEPML8fwlYVc0dUN1V0IzcTQ/edit?usp=sharing 4GB SD-card image for Android 4.2.2 with 7″ LCD 800×600 pixels]
+
== 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 Armbian images: [https://www.armbian.com/olimex-lime/ link to LIME article at Armbian's web-site]
 +
 
 +
*A20-OLinuXino-LIME is supported by openSUSE Factory, installation instructions might be found here: [https://en.opensuse.org/HCL:A10-OLinuXino-LIME openSUSE wiki link]
 +
<br>
  
 
== Documents ==
 
== Documents ==
Line 137: Line 181:
 
===CAD files===
 
===CAD files===
  
 
+
A20-OLinuXino-LIME is Open Source Hardware, CAD files are available at [https://github.com/OLIMEX/OLINUXINO/tree/master/HARDWARE/A20-OLinuXino-LIME GitHub]
A10-OLinuXino-LIME is Open Source Hardware, CAD files are available at [https://github.com/OLIMEX/OLINUXINO/tree/master/HARDWARE/A10-OLinuXino-LIME GitHub]
 
  
  
 
The CAD product used to design OLinuXino is Eagle and you can download evaluation free version from their [http://www.cadsoftusa.com/ web].
 
The CAD product used to design OLinuXino is Eagle and you can download evaluation free version from their [http://www.cadsoftusa.com/ web].
 
  
 
===Board Layout===
 
===Board Layout===
Line 155: Line 197:
  
 
===Linux Commands===
 
===Linux Commands===
 
  
 
[[Linux-Commands]] Brief Linux Command reference
 
[[Linux-Commands]] Brief Linux Command reference
 
  
 
===Python===
 
===Python===
  
 +
pyA20Lime is Python library for the GPIOs, I2C and SPI use of suitable A20-OLinuXino-LIME's pins. It makes the access to GPIO, I2C and SPI considerably easier.
  
[pyA10 is Python library for access to A10-OLinuXino-LIME GPIOs, I2C, SPI]
+
Full information might be found [https://pypi.python.org/pypi/pyA20Lime at this web address]
 
 
Use:
 
 
 
    #!/usr/bin/env python
 
   
 
    import A10_GPIO as GPIO
 
   
 
    #init module
 
    GPIO.init()
 
   
 
    #configure module
 
    GPIO.setcfg(GPIO.PIN#, GPIO.OUTPUT)
 
    GPIO.setcfg(GPIO.PIN#, GPIO.INPUT)
 
   
 
    #read the current GPIO configuration
 
    config = GPIO.getcfg(GPIO.PIN#)
 
   
 
    #set GPIO high
 
    GPIO.output(GPIO.PIN#, GPIO.HIGH)
 
   
 
    #set GPIO low
 
    GPIO.output(GPIO.PIN#, GPIO.LOW)
 
   
 
    #read input
 
    state = GPIO.input(GPIO.PIN#)
 
   
 
    #cleanup
 
    GPIO.cleanup()
 
 
 
  
 
===GPIO under Linux===
 
===GPIO under Linux===
Line 229: Line 241:
 
     gpio1_pg0    gpio31_ph18  gpio43_pb10  gpio55_pi0  gpio67_pi12  gpiochip1
 
     gpio1_pg0    gpio31_ph18  gpio43_pb10  gpio55_pi0  gpio67_pi12  gpiochip1
 
     gpio20_ph2  gpio32_ph19  gpio44_pb11  gpio56_pi1  gpio68_pi13  
 
     gpio20_ph2  gpio32_ph19  gpio44_pb11  gpio56_pi1  gpio68_pi13  
 
===How to edit board configurations and definitions in the official Debian Linux? ===
 
 
It is described in this wiki article: [[How_to_edit_board_configurations_and_definitions_in_the_official_Debian_Linux]].
 
  
 
===Add Voice to your OLinuXino project===
 
===Add Voice to your OLinuXino project===
Line 241: Line 249:
 
===How to generate boot-able SD-card Debian Linux image for A20-OLinuXino-LIME? ===
 
===How to generate boot-able SD-card Debian Linux image for A20-OLinuXino-LIME? ===
  
To be added
+
Build instructions and required files for the latest Debian images: [https://github.com/OLIMEX/OLINUXINO/tree/master/SOFTWARE/A20/A20-build 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 should work for sure
+
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.
  
 
[https://github.com/linux-sunxi/u-boot-sunxi/wiki Sunxi u-boot loader] The linux-sunxi git page contains a lot of sources for all Olimex Allwinner boards.
 
[https://github.com/linux-sunxi/u-boot-sunxi/wiki Sunxi u-boot loader] The linux-sunxi git page contains a lot of sources for all Olimex Allwinner boards.
  
===How to change HDMI, VGA and LCD resolutions?===
+
===How to connect a display and adjust the video output resolution?===
 
+
There is a separate article on the subject: [[How_to_connect_display_to_a_Lime_board]]
 
+
<br>
The default SD card setup is made with settings for HDMI 720p/60Hz. If you want to change to some other LCD, VGA or HDMI resolution then you have to start change_display.sh script file in /root directory.
 
  
Type:
+
=== Is it possible to boot Debian from NAND? Do you provide such image?===
 +
Yes, it is possible. Use the latest Debian Jessie image and write "nandinstall". More information can be found in this wiki article: [[How_to_install_Debian_to_NAND| installing Debian Jessie to the NAND flash memory]]
  
    ./change_display*
+
If after installation to the NAND you have problems with the Ethernet, check the value of address 0x01c20164 in the memory, if it is 0x0 then change the value to 0x1006. Do the following:
or
 
    ./change_display_a20_lime.sh
 
  
and press "Enter".
+
Check the value with:
  
Then choose the resolution and the interface(LCD, HDMI). Note that the selection of a specific resolution is done by navigating with the arrow keys and pressing "space" button. Make sure the asterisk marks your selection properly.
+
devmem 0x01c20164
  
The supported resolutions are:
+
Change the value with:
  
'''For LCD:'''
+
devmem 0x01c20164 w 0x1006
  
*1. 4.3" (480x272)
+
There are other people who are also successful in booting Debian from the NAND. 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 his instructions for NAND installation of Debian: [http://www.armbian.com/download/ link to his web-site]
*2. 7" (800x480)
 
*3. 10" (1024x600)
 
*4. 15.6" (1366x768)
 
 
 
Important: initially the boards are calibrated for a specific display. If you re-write the image (no matter whether the SD card or the NAND memory) you would need to use a mouse to calibrate the display initially. It might be impossible to calibrate it via touching the display.
 
 
 
'''For HDMI:'''
 
 
 
*0. 480i
 
*1. 576i
 
*2. 480p
 
*3. 576p
 
*4. 720p50
 
*5. 720p60
 
*6. 1080i50
 
*7. 1080i60
 
*8. 1080p24
 
*9. 1080p50
 
*10. 1080p60
 
 
 
'''For VGA:''' (note that the VGA signals are routed to custom 6 pin connector and you need from adapter to standard VGA connector)
 
 
 
*0. 1680x1050
 
*1. 1440x900
 
*2. 1360x768
 
*3. 1280x1024
 
*4. 1024x768
 
*5. 800x600
 
*6. 640x480
 
*7. 1920x1080
 
*8. 1280x720
 
<br>
 
  
 
===How to detect and enable the Ethernet controller (if it is disabled by default)? ===
 
===How to detect and enable the Ethernet controller (if it is disabled by default)? ===
Line 311: Line 285:
  
 
This should enable the Ethernet and then SSH would also be available.
 
This should enable the Ethernet and then SSH would also be available.
 +
 +
===How to generate Arch Linux image?===
 +
 +
Recent forum post by user progmetalbg here: [https://www.olimex.com/forum/index.php?topic=4261.0| at Olimex forums]
 +
 +
[http://alarma20.wordpress.com/2013/09/13/howto-build-arch-linux-arm-for-a20-olinuxino-micro/ Older step by step instructions on how to build Arch Linux image for another A20 board]
  
 
===How to download new Android image to the NAND memory of my A20 board?===
 
===How to download new Android image to the NAND memory of my A20 board?===
Line 317: Line 297:
 
To repair the image on the NAND re-upload it following these steps:
 
To repair the image on the NAND re-upload it following these steps:
  
*1. Install and run PhoenixSuit (can be found here: [https://docs.google.com/file/d/0B7WHuNCASY8caWRNUy00VUszbDg/edit?usp=sharing download from google drive]).
+
*1. Install and run PhoenixSuit (can be found here: [https://drive.google.com/file/d/0BwplT87k9SCgaTFTZnVST05ONzA/view?usp=sharing 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).
 
*2. Go to firmware tab of the program and point to a valid Android image (the latest official one may also be downloaded above).
Line 335: Line 315:
  
 
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.
 
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?===
 +
A: First download one of the official Android images, which might be found in the Android section above.
 +
 +
Make sure that the download link you visit clearly indicates that the image is suitable for the microSD card since there are images suitable for NAND memory also. The images suitable for the microSD memory and those suitable for NAND card are different. However, the upload method is almost identical – using PhoenixSuit.
 +
 +
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 Android image that requires a simple copy to a card. If that is the case you can follow the exact steps as for Linux (e.g. using "Win32 Disk Imager" or "dd" command).'''
 +
 +
In order to prepare a microSD card with a native Android you will need a software tool called PhoenixSuit and then:
 +
 +
• Install and run PhoenixSuit (can be found here: [https://drive.google.com/file/d/0BwplT87k9SCgaTFTZnVST05ONzA/view?usp=sharing download from google drive])
 +
 +
• Go to the firmware tab of the program and point to a valid Android image (note that the
 +
imagesare 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 4GB 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 executable (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 (if you use Windows you might use "puTTY", for example) at address 192.168.2.1.
 +
 +
For Windows operating system - upon connection, the board should show up in "Windows Device Manager" as "RNDIS Ethernet Gadget". You might be asked to install a driver. The drivers can be found online as "RNDIS driver" (Remote Network Driver Interface Specification).  The drivers are provided by Microsoft and they should be available for every Windows distribution - refer to the respective files and articles provided by Microsoft on how to install the required drivers.
 +
 +
===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]].
  
 
===How to add STK1160 video capture driver support in Kernel 3.4===
 
===How to add STK1160 video capture driver support in Kernel 3.4===
  
 
[https://www.olimex.com/wiki/STK1160-howto-linux-sunxi-3_4 STK1160] driver backport by Dimitar Tomov
 
[https://www.olimex.com/wiki/STK1160-howto-linux-sunxi-3_4 STK1160] driver backport by Dimitar Tomov
 +
 
[[Main_Page]]
 
[[Main_Page]]

Latest revision as of 06:24, 16 March 2023

A20-OLinuXino-LIME.jpeg

A20-OLinuXino-LIME looks identical to A10-OLinuXino-LIME, except for the more powerful A20 processor. The A10 and the A20 processors are pin-to-pin compatible. Because of the processor, software-wise the board is closer to A20-OLinuXino-MICRO 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-MICRO might work out-of-the-box with A20-OLinuXino-LIME. Additionally, pinout tables, GPIO maps, etc released for A10-OLinuXino-LIME would apply to A20-OLinuXino-LIME

A20-OLinuXino-LIME features:

  • A20 Cortex-A7 dual-core ARM Cortex-A7 CPU and dual-core Mali 400 GPU
  • 512MB DDR3 RAM memory
  • 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
  • 100MBit native Ethernet
  • 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


Official images from OLIMEX

The recommended image for most of Olimex-made Linux boards is Olimage Linux, you can find information about it in the document here:

https://github.com/OLIMEX/OLINUXINO/blob/master/DOCUMENTS/OLIMAGE/Olimage-guide.pdf

Notice this wiki article refers to outdated images and practices, if using Olimage Linux, use the information only as a reference (do not take it literally)!

Below you will find links to download files containing the 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 is usually an archive of the image file. Make sure to first extract the 7z or zip archive. In order to be able to download the image to a SD card you can use software like Etcher or Win32DiskImager. Under Linux you can use dd command.

  • For Linux: use p7zip package. If you don't have 7zip installed first install it

   #apt-get install p7zip

Copy a20_Lime_debian_second_release.7z file in your directory and unzip the archive with

   #7za e a20_Lime_debian_second_release.7z

where a20_Lime_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_Lim2_debian_second_release.img of=/dev/sdX

The file system can be extended to suit a bigger card. Use the following three commands to execute a script that would use all the free space of your card:

  sudo su
  resize_sd.sh /dev/mmcblk0 2
  reboot


Linux images

These official Debian images should be downloaded to a microSD card. They are availalbe at our FTP server. You can install the Debian to the NAND or the eMMC of your board (if it comes with one). Information on booting Debian from the NAND might be found in these wiki articles: how to install Debian to NAND; how to install Debian to eMMC. Download locations for the official images might be found below:

ALWAYS FIRST TEST WITH LATEST OFFICIAL IMAGE, NEWER HARDWARE REVISIONS OF THE BOARD MIGHT NOT WORK WITH OLDER IMAGES!!!


Latest stable official images - Debian 8 (Jessie):

FTP location official Debian Jessie release #7, suitable for boards with no extra flash memory or with extra NAND memory (not suitable for boards with eMMC memory): A20-OLinuXino-LIME Debian Jessie with kernel 3.4.103+ release 7

FTP download location of official Debian Jessie release #9, suitable for boards with no extra flash memory or with extra eMMC flash memory (not suitable for boards with NAND flash memory): A20 lime mainline uboot sunxi kernel 3.4.103 jessie eMMC rel 9

Image description and typical interfacing: description and basic usage of different peripherals at at the GitHub page

Image build instructions and required files for latest Debian Jessie release might be found here: build instructions and required files at the GitHub page

You can find some older releases and older build instructions (older image revisions might be used as a reference, for testing purposes, or if you own old hardware revision of the board) at the following article: older releases and older build instructions


Note: the A20-LIME-DEBIAN-SD card which we have in our web store contains the same image on 8GB 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 images

FTP location of official Android releases are below. Please read description of the image carefully.

FTP location of Android 4.2.2 release 1 for NAND memory (with HDMI and 800x480 support): A20-OLinuXino-Lime Android for NAND with HDMI and 7 inch display support

FTP location of Android 4.2.2 release 1 for NAND memory (with HDMI and 1024x600 support): A20-OLinuXino-Lime Android for NAND with HDMI and 10 inch display support

Build instructions and source files for the official Android images for A20 boards in this repository: https://github.com/hehopmajieh/olinuxino_configs

FTP location of Android 4.2.2 release 1 for microSD card (with HDMI and 800x480 support): A20-OLinuXino-Lime Android for microSD card with HDMI and 7 inch display support

FTP location of Android 4.2.2 release 1 for microSD card (with HDMI and 1024x600 support): A20-OLinuXino-Lime Android for microSD card with HDMI and 10 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:

  • A20-OLinuXino-LIME is supported by openSUSE Factory, installation instructions might be found here: openSUSE wiki link


Documents

A20-OLinuXino-LIME user's manual

User's manual for A20-OLinuXino-LIME and A20-OLinuXino-LIME-4GB

A20 Brief

A20 brief

A20 Datasheet

A20 Datasheet

A20 User Manual

A20 user's manual

Hardware

LIME shields

Eagle and KiCAD shield templates for LIME

GPIO description

A10-OLinuXino-LIME 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-LIME 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-LIME have 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-LIME basic dimensions in mils: 3305.5 x 2347.0

Some additional measures might be seen in the image here: link

CAD files

A20-OLinuXino-LIME is 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

A20-OLinuXino-LIME-FRONT.png


A10-OLinuXino-LIME-BACK.jpg

Software

Linux Commands

Linux-Commands Brief Linux Command reference

Python

pyA20Lime is Python library for the GPIOs, I2C and SPI use of suitable A20-OLinuXino-LIME's pins. It makes the access to GPIO, I2C and SPI considerably easier.

Full information might be found at this web address

GPIO under Linux

GPIOs are located in /sys/class/gpio directory. Note that first you have to export GPIOs. For example:

add gpioPH2

   root@A10:~# echo 20 > /sys/class/gpio/export

make PH2 output

   root@A10:~# echo out > //sys/class/gpio/gpio20_ph2/direction

turn on onboard LED(connected to PH2)

   root@A10:~# echo 1 > /sys/class/gpio/gpio20_ph2/value

turn off onboard LED(connected to PH2)

   root@A10:~# 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-LIME?

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 video 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?

Yes, it is possible. Use the latest Debian Jessie image and write "nandinstall". More information can be found in this wiki article: installing Debian Jessie to the NAND flash memory

If after installation to the NAND you have problems with the Ethernet, check the value of address 0x01c20164 in the memory, if it is 0x0 then change the value to 0x1006. Do the following:

Check the value with:

devmem 0x01c20164

Change the value with:

devmem 0x01c20164 w 0x1006

There are other people who are also successful in booting Debian from the NAND. 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 his 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 generate Arch Linux image?

Recent forum post by user progmetalbg here: at Olimex forums

Older step by step instructions on how to build Arch Linux image for another A20 board

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:

  • 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?

A: First download one of the official Android images, which might be found in the Android section above.

Make sure that the download link you visit clearly indicates that the image is suitable for the microSD card since there are images suitable for NAND memory also. The images suitable for the microSD memory and those suitable for NAND card are different. However, the upload method is almost identical – using PhoenixSuit.

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 Android image that requires a simple copy to a card. If that is the case you can follow the exact steps as for Linux (e.g. using "Win32 Disk Imager" or "dd" command).

In order to prepare a microSD card with a native Android you will need a software tool called PhoenixSuit and then:

• Install and run PhoenixSuit (can be found here: download from google drive)

• Go to the firmware tab of the program and point to a valid Android image (note that the imagesare 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 4GB 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 executable (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 (if you use Windows you might use "puTTY", for example) at address 192.168.2.1.

For Windows operating system - upon connection, the board should show up in "Windows Device Manager" as "RNDIS Ethernet Gadget". You might be asked to install a driver. The drivers can be found online as "RNDIS driver" (Remote Network Driver Interface Specification). The drivers are provided by Microsoft and they should be available for every Windows distribution - refer to the respective files and articles provided by Microsoft on how to install the required drivers.

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.

How to add STK1160 video capture driver support in Kernel 3.4

STK1160 driver backport by Dimitar Tomov

Main_Page