A10s-OLinuXino-MICRO

Revision as of 00:31, 20 July 2021 by LubOlimex (talk | contribs) (Android)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

A10S-OLinuXino.jpg


A10S is not recommended for new designs - please read more on the subject here: link.

A10S-OLinuXino-MICRO features are:

  • A10S Cortex-A8 processor at 1GHz, 3D Mali400 GPU, NEON
  • 512MB DDR3 RAM
  • Optional 4GB NAND FLASH memory
  • USB High-speed host with power control and current limiter
  • USB-OTG with power control and current limiter
  • HDMI output with ESD protectors
  • 100MBit native Ethernet
  • Audio Line-input
  • Audio Headphones output
  • UEXT connector
  • LCD connector to work with 4.3, 7.0, 10.1" LCD modules from Olimex
  • 50 GPIOs on three GPIO connectors
  • MicroSD card connector
  • SD/MMC card connector
  • DEBUG-UART connector for console debug with USB-SERIAL-CABLE-F
  • STATUS LED
  • Power LED
  • 2KB EEPROM for MAC address and other storage
  • 5 BUTTONS with ANDROID functionality + BOOT/REC and POWER buttons
  • Microphone input on connector (not populated)
  • Composite TV-output on connector (not populated)
  • JTAG-DEBUG connector (not populated)
  • UART1 connector (not populated)
  • +5V input power supply, noise immune design
  • 4 mounting holes
  • PCB dimensions: (4000 x 3200) mils ~ (101.6 x 81.28) mm

Official Images from OLIMEX

Linux

The official Debian images are suitable only for microSD card. Information on booting Debian from the NAND might be found at the forum.

Download methods and locations might be found below!

Direct download of Debian release 4: release 4

Build instructions and required files

  • Linux Kernel 3.4.61+
  • XFCE4 desktop environment
  • Mplayer CLI
  • GCC 4.6
  • iceweasel WEB browser
  • LCD and touchscreen support
  • GPIO
  • I2C
  • SPI
  • USB WIFI RTL8188CU, Ethernet AX88772B
  • Audio
  • apache2
  • dpkg
  • git
  • i2c-tools
  • perl
  • vlc
  • xorg
  • Scratch
  • GCC
  • Python 2.7.3
  • PyA13 python module with GPIO,I2C,SPI support
  • OpenCV
  • Default Login: root/olimex


Note: the A10S-OLinuXino-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 hardware with this image:

  • GPIOs located in /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
  • HDMI - the default HDMI resolution is 720p60(1280x720-60 Hz)
  • ASIX 8877 USB-LAN - USB-ETHERNET-AX88772B
  • WEB camera A4TECH
  • RTL8188CU - MOD-WIFI-RTL8188
  • USB_OTG - works as OTG device and Low/Full/High USB host
  • USB_HOST - 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
  • I2C1(100KHz) - /dev/i2c-1
  • I2C2(100KHz) - /dev/i2c-2
  • UART2 - /dev/ttyS1. Note that UART2 is shifted and it responds of /dev/ttyS1 instead of /dev/ttyS2
  • UART3 - /dev/ttyS2. Note that UART3 is shifted and it responds of /dev/ttyS2 instead of /dev/ttyS3


Android

Direct download locations of official Android releases are below. Please read description of the image carefully.

Direct download of Android release 2 for NAND memory: A10S-OLinuXino-MICRO NAND flash image for Android

Direct download of Android release 2 for microSD card memory: microSD card image for Android

You have to extract the file and write the image to an SD card with at least 4GB of storage. We recommend you to use a class 10 card. You can use dd (under linux) or Win32DiskImager.exe (under Windows) for the image writing.

  • Android_version - 4.0.3
  • Baseband version - 1.2
  • Kernel version 3.0.8+


Changing screen resolution in the Android SD card image:

The default screen resolution of A10s android SD card image is HDMI. If you want to change to LCD 10''(1024x600) or LCD7''(800x480) you have to replace the default script.bin file in the main SD card card partition. For this purpose put the SD card in a card reader on Linux machine (it might not work under Windows due to the Android file system format), mount the SD card, find script.bin file(usually it is located in the ../Volume partition) and replace it with the script.bin file from the corresponding directory. The scripts might be also downloaded from here: A10s Android SD scripts

The available directories are:

script_a10s_android_LCD_800x480_TS_GPIO - contains script for A13-LCD7-TS

script_a10s_android_LCD_1024x600_TS_GPIO - contains script for A13-LCD10TS

script_a10s_android_HDMI_GPIO - contains script for the default HDMI resolution

Note that you have to calibrate the touch screen with running Calibration application on Android Desktop. You would need a USB mouse to run the Calibration because the touch screen would still carry the old calibration settings.

The LCD output will be active only if the board boots without HDMI cable connected.

This method of changing the default display setting will NOT work with the NAND Android!

Documents


A10S-OLinuXino user manual

A10S-OLinuXino user manual

A10S Datasheet

A10S Datasheet

A10S Dongle brief

AXP152 datasheet

Hardware


Under construction

Software


Python


pyA10S is Python library for access to A10S-OLinuXino-MICRO GPIOs, I2C, SPI

Use:

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

GPIOs are located in /sys/class/gpio directory. the full list of A10S GPIOs is:

   root@A20:~# ls /sys/class/gpio/
   export       gpio14_pc17  gpio19_pe5  gpio23_pe9   gpio4_pb11  gpio9_pb3
   gpio10_pb4   gpio15_pe1   gpio1_pb14  gpio24_pe10  gpio5_pb5   gpiochip1
   gpio11_pc3   gpio16_pe2   gpio20_pe6  gpio25_pe11  gpio6_pb6   unexport
   gpio12_pc7   gpio17_pe3   gpio21_pe7  gpio2_pb13   gpio7_pb7
   gpio13_pc16  gpio18_pe4   gpio22_pe8  gpio3_pb12   gpio8_pb8

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

make PE3(LED) output

   root@A10s:/sys/class/gpio/gpio17_pe3# echo out > direction

turn on onboard LED(connected to PE3)

   root@A10s:/sys/class/gpio/gpio17_pe3# echo 1 > value

turn off onboard LED(connected to PE3)

   root@A10s:/sys/class/gpio/gpio17_pe3# echo 0 > value


Add Voice to your OLinuXino project

Installation of Festival on OLinuXino


A10S SDK for Android

A10S Android 4.2.2 SDK used to generate the Android image

A10S-SDK


HOW TO?

How to generate SD Debian Linux image with Kernel 3.4


How to Build SD card Debian Linux image with Linux Kernel 3.4

Sunxi u-boot loader The linux-sunxi git page contains a lot of sources for all Olimex Allwinner boards.

How do I write the Linux image to a micro SD card to use with my A10S 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_4g.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_4g.img of=/dev/sdX

or

  • # cp debian_4g.img /dev/sdX


where X is the uSD card.

How to change HDMI and LCD resolutions in the latest Debian image?


The default SD card setup is made with settings for HDMI 720p/60Hz. If you want to change to some other LCD 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). 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.

The supported resolutions are:

For LCD:

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

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


Note that you have to calibrate touch screen after changing LCD resolution in the script.bin type:

   root@A10s:~# ts_calibrate

and calibrate the LCD touch screen you can test the calibration using ts_test.

   root@A10s:~# ts_test

and finaly you hsve to reboot the board in order to use the touch screen in X environment.

How to flash new Android image to the NAND memory of my A10s board?


To repair the image on the NAND re-upload it following these steps:

1. Download, install and start LiveSuit (download location might be found above the article)

2. Hold down "BOOT/REC" button on the board

3. Connect the board to the computer via the mini connector of the USB-OTG

5. Release "BOOT/REC" button

6. You will be asked for drivers for the bootloader. Navigate to the folder where you extracted the LiveSuit and install the drivers from the respective executable (or manually point the installer to the drivers folder in the LiveSuit installation path).

7. Choose the image you have prepared or downloaded

8. Update and don't disconnect the board until the LiveSuit program confirms the update is complete

How to control PWM under Linux?


There is an article here: how to add pwm