A20-OLinuXino-MICRO

Revision as of 07:15, 13 September 2013 by Olimex (talk | contribs) (Hardware)

A20-OLinuXino.jpeg

Official Images from OLIMEX

Note only microSD card will boot, SD-MMC card on the back will not boot as not part of boot sequence (reffer to A20 datasheet).


Linux

A20 Debian 4GB SD-card image release-3 with:

  • Linux Kernel 3.4.43+
  • XFCE4 desktop environment
  • Mplayer CLI
  • GCC 4.6
  • 4.3"(480x272), 7"(800x480) and 10" (1024x600) LCD and touchscreen support
  • GPIO
  • I2C
  • USB WIFI RTL8188CU, Ethernet AX88772B
  • Audio (MIC and Headphones)
  • dpkg
  • git
  • i2c-tools
  • perl
  • xorg
  • Python 2.7
  • OpenCV
  • Scratch
  • vlc
  • USB-ETHERNET-AX88772B
  • MOD-WIFI-RTL8188
  • A13-LCD 4.3″TS 4.3″ LCD with backlight and touchscreen 480×272 pixels
  • A13-LCD7″TS 7″ LCD with backlight and touchscreen 800×480 pixels
  • A10-LCD10″TS 10.1″ LCD with backlight and touchscreen 1024×600 pixels
  • HDMI
  • Micro SD card
  • SD/MMC card
  • OTG USB
  • HIGH SPEED HOST1 USB
  • HIGH SPEED HOST2 USB
  • ETHERNET 100MBIT
  • SATA
  • Audio IN
  • Audio OUT
  • I2C2(400KHz)
  • I2C1(200KHz)
  • Default Login: root/olimex


Note: the A20-Debian-SD card which we have on our webshop contain same image on 4GB Class10 fast micro sd-card, if you want to use this image please use Class10 fast card or the performance of Linux will slow down


Tested board peripherials with this image:

  • GPIO - located at /sys/class/gpio
  • LCD - supported are A13-LCD4.3TS, A13-LCD7TS, A13-LCD10TS
  • Touch screen - you need calibrate LCD before using touch screen. Type: ts_calibrate and then test it with ts_test
  • SATA - works including power on/off control
  • HDMI - the default HDMI resolution is 720p60(1280x720-60 Hz)
  • ASIX 8877 USB-LAN - USB-ETHERNET-AX88772B
  • WEB camera A4TECH
  • TL-WN721(TP-LINK USB wireless)
  • RTL8188CU - MOD-WIFI-RTL8188
  • USB_OTG - works as OTG device and Low/Full/High USB host
  • USB_HOST_up - works as Low/Full/High USB host
  • USB_HOST_down - works as Low/Full/High USB host
  • mico_SD_card - allow Linux boot
  • secondary SD-MMC card - with card present detector
  • ETHERNET - 100Mb
  • Headphone OUT - audio output
  • MIC IN - microphone input
  • I2C2(100KHz) - /dev/i2c-2
  • I2C1(100KHz) - /dev/i2c-1
  • UART6 - /dev/ttyS1
  • UART7 - /dev/ttyS2


Android

Latest A20-OLinuXino-MICRO Android NAND image revision 2 (The LAN and the bottom SD card should be working properly now. Note that there are at least 2 things NOT working as intended in this Android release: 1. The touch screen support; 2. The bottom USB_HOST connector. It is being worked on fixing these problems!)

Older A20-OLinuXino-MICRO preliminary Android NAND image (Note that there are at least 4 things NOT working as intended in this Android release: 1. The Ethernet; 2. The bottom SD card; 3. The touch screen support; 4. The bottom USB_HOST connector. It is being worked on fixing these problems!)

A20-SDK 2.0 for building Android images

obsolete A20-SDK torrent for building Android images just for reference, the early version of Android image was built with this SDK


Documents

A20-OLinuXino Board User Manual

A20-OLinuXino USer Manual


A20 Brief

A20-Brief description


A20 Datasheet

A20 datasheet


A20 User Manual

A20 Users manual


Hardware

.

Power supply and consumption

A20-OLinuXino can be powered from three sources:

  • +6-16VDC 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: 0.17-0.25A depend on processor load
  • +6VDC input power: 0.18-0.33A depend on processor load
  • +16VDC input power: 0.11-0.17A depend on processor load


LiPo battery allow backup power supply when main power is interrupted. A20-OLinuXino 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-MICRO and A20-OLinuXino-MICRO-4GB basic dimensions in mils: image in PNG format


CAD files

A20-OLinuXino 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.

Software

Python

pyA20 is Python library for access to A20-OLinuXino-MICRO GPIOs, I2C, SPI

Use:

   #!/usr/bin/env python
   
   import A20_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

In order to use A20 GPIO's first you have to export them. For example:

   root@A20:~#  for i in `seq 1 1 230`; do echo $i > /sys/class/gpio/export; done

list of all available GPIO

   root@A20:~# ls /sys/class/gpio/
   export       gpio21_pc3/  gpio33_pb8/  gpio45_ph27/ gpio57_ph17/ gpio69_pg5/
   gpio10_pe9/  gpio22_pc7/  gpio34_pb10/ gpio46_ph0/  gpio58_ph18/ gpio6_pe5/
   gpio11_pe10/ gpio23_pc16/ gpio35_pb11/ gpio47_ph2/  gpio59_ph19/ gpio70_pg6/
   gpio12_pe11/ gpio24_pc17/ gpio36_pb12/ gpio48_ph7/  gpio5_pe4/   gpio71_pg7/
   gpio13_pi14/ gpio25_pc18/ gpio37_pb13/ gpio49_ph9/  gpio60_ph20/ gpio72_pg8/
   gpio14_pi15/ gpio26_pc23/ gpio38_pb14/ gpio4_pe3/   gpio61_ph21/ gpio73_pg9/
   gpio15_pi0/  gpio27_pc24/ gpio39_pb15/ gpio50_ph10/ gpio62_ph22/ gpio74_pg10/
   gpio16_pi1/  gpio28_pb3/  gpio3_pe2/   gpio51_ph11/ gpio63_ph23/ gpio75_pg11/
   gpio17_pi2/  gpio29_pb4/  gpio40_pb16/ gpio52_ph12/ gpio64_pg0/  gpio7_pe6/
   gpio18_pi3/  gpio2_pe1/   gpio41_pb17/ gpio53_ph13/ gpio65_pg1/  gpio8_pe7/
   gpio19_pi10/ gpio30_pb5/  gpio42_ph24/ gpio54_ph14/ gpio66_pg2/  gpio9_pe8/
   gpio1_pe0/   gpio31_pb6/  gpio43_ph25/ gpio55_ph15/ gpio67_pg3/  gpiochip1/
   gpio20_pi11/ gpio32_pb7/  gpio44_ph26/ gpio56_ph16/ gpio68_pg4/  unexport

Example how to toggle onboard LED. The LED is connected to PH2.

   root@A20:~# cd /sys/class/gpio/gpio47_ph2

make PH2 output

   root@A20:/sys/class/gpio/gpio47_ph2# echo out > direction

write 1 to PH2 - LED is ON

   root@A20:/sys/class/gpio/gpio47_ph2# echo 1 > value

write 0 to PH2 - LED is OFF

   root@A20:/sys/class/gpio/gpio47_ph2# echo 0 > value


How To?

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 (6-16)V, 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 Linux image to an micro SD card to use with my A20 board?

To write a Linux image to an SD card under Windows we use Win32 Disk Imager):

  • Download Win32 Disk Imager Win32 Disk Imager
  • Insert card
  • Start program
  • Select file
  • Click "write"


To write a Linux image to an SD card under Linux:

For instance you have an image with the file name of "debian_2g.img". It would be downloaded to the SD card connected to a Linux machine using one of the following commands:

  • # dd bs=4M oflag=sync if=debian_2g.img of=/dev/sdX

or

  • # cp debian_2g.img /dev/sdX


where X is the uSD card.


How to change HDMI, VGA and LCD resolutions?

The default SD card setup is made with settings for HDMI 720p/60Hz. If you want to change some other LCD, VGA or HDMI resolution then you have to start change_display.sh script file in /root directory.

Type:

   # ./change_display.sh

and choose the resolution and the interface(LCD, HDMI or VGA).

The supported resolution are:

For LCD:

  • 1. 4.3" (480x272)
  • 2. 7" (800x480)
  • 3. 10" (1024x600)


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 standart VGA connector)

  • 0. 1680x1050
  • 1. 1440x900
  • 2. 1360x768
  • 3. 1280x1024
  • 4. 1024x768
  • 5. 800x600
  • 6. 640x480
  • 7. 1920x1080
  • 8. 1280x720


How to generate Arch Linux image?

Step by step instructions how to build Arch Linux image