Connecting old TVs with Composite PAL/NTSC to A10-OLinuXino-LIME



Received via Twitter:

Step by Step instructions how to connect your old TV to A10-OLinuXino-LIME (actually only two wires are necessary – TVOUT0 (GPIO_1 pin 20) and AGND (GPIO_1 pin 4) and change of the FEX for the video output type.

Windows 8.2 for A10-LIME released! Windows now run on small low cost EUR 30 ARM board



We are happy to tell you that we now have Windows 8.2 running on A10-LIME – the EUR 30 low cost ARM board.

On the picture above you see how the A10-LIME desktop looks like.

Instructions how to build your own Windows 8.2 SD-card image from Windows sources will follow, we are preparing it now.

Last week we keep playing with A10-LIME running Windows 8.2 and we are amazing how easy and intuitive is the work with it now, needless to say it runs twice faster than Debian and Ubuntu due to the magical Windows SD card cache accelerator.

A10-LIME HDMI output allow playing FullHD 1080p movies and as it have native Ethernet and SATA it’s perfect for Windows Server applications. The build in LiPo charger ends the era of expensive UPS solutions for server apps, now you just connect small LiPo battery and your UPS is up and running.


Digikey’s Wiki for A10-OLinuXino-LIME is up with instructions how to make Debian 7 and Ubuntu 13.10 images



Robert Nelson again did a great job with Digikey’s Wiki and instructions how to build Debian 7 and Ubuntu 13.10 images with Linux-Next Kernel and uboot.

Android for LIME image is released


It took us a long time to release this image as CedarX was broken in the oficial SDK and all images we build with it had non working video. Finally we received patch from Allwinner and oh miracle CedarX start working correctly 🙂

The image can be downloaded from here

How to build description will follow next week when we return from Embedded World.

A10-OLinuXino-LIME shield templates for Eagle and KiCAD uploaded on GitHub


For these who want to make their own LIME shields we made templates in Eagle and KiCAD which they can use.

Be careful as these are freshly made and still not prototyped by us, all measures are taken the shields to be functional and error free, but these shields are still not prototyped and may contain errors so use on your own risk until we prototype and verify them 🙂

Specially KiCAD is still black magic to us 🙂

A10-OLinuXino-LIME GPIO description


A10-OLinuXino-LIME Wiki page is updated

GPIO connectors description is made in PDF format.

New Product in stock: A10-OLinuXino-LIME-UEXT adapter


A10-OLinuXino-LIME-UEXT is adapter board with Male connector on 0.05″ which can connect to A10-OLinuXino-LIME GPIOs with  0.05″ step ribbon CABLE-40-40-10CM and allow LIME GPIOs to be used with BREADBOARD-1, or with A13-LCD43TS, A13-LCD7TS or A13-LCD10TS.

For the moment A20-LCD15.6 is not supported as LVDS signals got noisy when pass through A10-OLinuXino-LIME-UEXT but we are looking for solution.

UEXT signals can be used only when connected to GPIO1. On the other connectors UEXT signals will be not present.

Building Debian Linux image for A10-OLinuXino-Lime with Kernel 3.4.67+


If you do not want to bother with Linux Debian image generations here is image build following the instructions below, so you just write it to SD card and boot your LIME 🙂

1. Setup of the toolchain

You should make sure you have the tools for building the Linux Kernel and install them if you don’t have them. To install new software you should be with super user rights on your Linux machine, so do this type in a terminal.

$ sudo su

you will be asked for your password and then your prompt will change to # which means you are now the super user, all future commands should be run in this mode.

First update apt-get links by typing

# apt-get update

Install the toolchain by typing the following.

# apt-get install gcc-4.7-arm-linux-gnueabihf ncurses-dev uboot-mkimage build-essential git

This will install: GCC compiler used to compile the kernal, The kernel config menu
uboot make image which is required to allow the SD card to book into the linux image, Git which allows you to download from the github which holds source code for some of the system, Some other tools for building the kernel.

Note that if you use debian may be you will need to add

deb squeeze main

in the file below:


after the installation you now have all tools to make your very own A10 kernel image!

2. Building Uboot

The Allwinner Linux-Sunxi community uboot is maintained by Henrik Nordstrom aka hno on Freenode irc. You can find him in #linux-sunxi or #olimex channels, if something with uboot is broken he is your man 🙂

First let’s make the directory where we will build the A10-OLinuXino-LIME linux:

# mkdir A10_kernel_3.4/
 # cd A10_kernel_3.4/

Then let’s download the uboot sources from GitHub repository, note there are lot of branches but you have to use sunxi branch.

Note that the A10-OLinuXino-LIME board u-boot is tested with the next branch:

# git rev-parse --verify HEAD

Download u-boot sourses:

# git clone -b sunxi

After the download you should have a new directory

# cd u-boot-sunxi/

With the following command you can start the uboot build:

# make A10-OLinuXino-Lime CROSS_COMPILE=arm-linux-gnueabihf-

At the end of the process you can check if everything is OK by

# ls u-boot.bin u-boot-sunxi-with-spl.bin spl/sunxi-spl.bin
spl/sunxi-spl.bin u-boot.bin u-boot-sunxi-with-spl.bin

If you got these files everything is complete, well done so far

# cd ..

You should be in the following directory


3. Building kernel sources for A10-OLinuXino-LIME

For problems related to Linux Kernel  use  #linux-sunxi irc channel or Google groups Mailing List.

Kernel sources for A10 are available on GitHub. Note that the following building is made with the revision below:

# git rev-parse --verify HEAD

You can download the kernel sources using the following command:

# git clone

After the download go to the kernel directory

# cd linux-sunxi/

Here you need from A10 configuration file – a10lime_defconfig. The file contains all kernel module settings.

Download a10lime_defconfig then copy a10lime_defconfig file to configs directory:

# cp a10lime_defconfig linux-sunxi/arch/arm/configs/.

and make:

# make ARCH=arm a10lime_defconfig

The result should be:

configuration written to .config

If you wish to make your changes in the kernel configuration do:

# make ARCH=arm menuconfig

The menuconfig changes a .config text file, which you can view/edit even with a text editor like vi,nano.

With this command you can add or remove different modules for the different peripherials in the kernel. Be careful when use this as this may cause the kernel to not work properly.

Note that before compiling kernel you have to do a patch related with I2C speed. The patch changes i2c speed from 200kHz to 100kHz.
If you want to use some of olimex’s i2c modules on UEXT then you need from this patch.

Download the patch sunxi-i2c.patch and apply the patch:

# patch -p0 < sunxi-i2c.patch

The other patch is related with A10-OLinuXino-LIME sound.

Download the patch a10_sound.patch and apply the patch:

# patch -p0 < a10_sound.patch

Note that by default A10-OLinuXino-LIME board there is no audio connectors and if you do not need from audio then you no need from this patch.

Now you can continue with kernel image compiling.

# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 uImage

when this finish’s you will have uImage ready and the result should be:

Image Name: Linux-3.4.67+
 Created: Mon Sep 16 13:39:04 2013
 Image Type: ARM Linux Kernel Image (uncompressed)
 Data Size: 5450904 Bytes = 5323.15 kB = 5.20 MB
 Load Address: 40008000
 Entry Point: 40008000
 Image arch/arm/boot/uImage is ready

Now you can build the kernel modules:

# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 INSTALL_MOD_PATH=out modules
 # make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4 INSTALL_MOD_PATH=out modules_install

DONE! At this point you have uboot and kernel modules.

The uImage file is located in linux-sunxi/arch/arm/boot/

The kernel modules are located in linux-sunxi/out/lib/modules/3.x.xx where 3.x.xx is kernel version in our case the directory with modules is:


4. Format and setup the SD-card

We suggest 4GB class 10 micro sd-card but you can use any card between 2GB and 16GB.

First we have to make the correct card partitions, this is done with fdisk.

Plug SD card into your SD card reader and enter in the terminal

# 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:

# fdisk /dev/sdX

then do these steps:

1. p

will list your partitions

if there are already partitions on your card do:

2. d enter 1

if you have more than one partitition press d while delete them all

3. create the first partition, starting from 2048
n enter p enter 1 enter enter +16M

4. create second partition
n enter p enter 2 enter enter enter

then list the created partitions:
p enter

if you did everything correctly on 4GB card you should see something like:

Disk /dev/sdg: 3980 MB, 3980394496 bytes
 123 heads, 62 sectors/track, 1019 cylinders, total 7774208 sectors
 Units = sectors of 1 * 512 = 512 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
 /dev/sdg1 2048 34815 16384 83 Linux
 /dev/sdg2 34816 7774207 3869696 83 Linux

7. w

write changes to sd card

now we have to format the file system on the card:

the first partition should be vfat as this is FS which the Allwinner bootloader understands

# mkfs.vfat /dev/sdX1

the second should be normal Linux EXT3 FS

# mkfs.ext3 /dev/sdX2

5. Write the Uboot and sunxi-spl.bin

You should be in /home/user/A10_kernel_3.4/# directory

Note that you have to write u-boot-sunxi-with-spl.bin in /dev/sdX (not sdX1 or sdX2)

# dd if=u-boot-sunxi/u-boot-sunxi-with-spl.bin of=/dev/sdX bs=1024 seek=8

6. Write kernel uImage you build to the SD-card

You should be in the directory below

/home/user/A10_kernel_3.4/# directory
 # mount /dev/sdX1 /mnt/sd

copy the Kernel uImage to root directory in partition 1

# cp linux-sunxi/arch/arm/boot/uImage /mnt/sd

7. Write script.bin file

script.bin is a file with very important configuration parameters like port GPIO assignments, DDR memory parameters, Video resolution etc.

Download the script.bin

# cp script.bin /mnt/sd
# sync
# umount /dev/sdX1

8. Debian rootfs

The Linux Kernel and Uboot are ready, now we have need from Linux distribution rootfs.

Basically the only difference between the different Linux distributions is the rootfs, so if you put Debian rootfs you will have Debian, if you put Ubuntu rootfs it will be Ubuntu etc.

How to build one is a long topic, the good thing is that there are many already pre-built so we can just download one and use.

exit the kernel directory

# cd ..

You should be in the directory below

# /home/user/A10_kernel_3.4/

download debian rootfs – a10-olinuxino-lime.tgz

mount your sd card EXT3 FS partition:

# mkdir /mnt/sd
# mount /dev/sdX2 /mnt/sd

and unarchive the rootfs

# tar xzvf debian_34_67_fs.tgz -C /mnt/sd
# ls /mnt/sd

the right result should be:
bin dev home lost+found mnt proc run selinux sys usr
boot etc lib media opt root sbin srv tmp var

Now you have to replace the new generated kernel modules from

/home/user/A10_kernel_3.4/linux-sunxi/out/lib/modules/ to the new debian file system

# rm -rf /mnt/sd/lib/modules/*
# cp -rfv linux-sunxi/out/lib/modules/3.x.xx+/ /mnt/sd/lib/modules/

where x.xx is the kernel version in our case:

# cp -rfv linux-sunxi/out/lib/modules/3.4.67+/ /mnt/sd/lib/modules/

replace /lib/firmware folder with the generated /linux-sunxi/out/firmware

# rm -rf /mnt/sd/lib/firmware/
# cp -rfv linux-sunxi/out/lib/firmware/ /mnt/sd/lib/
# sync
# umount /mnt/sdX2

at this point you have Debian on your SD card second partition and you have an SD card ready to boot debian on A10-OLinuXino-Micro

Connect USB-SERIAL-CABLE-F to UEXT Tx.Rx and GND, or connect a HDMI screen. Put the SD-card in A10-OLinuXino-Micro and apply 5V power, you should see Uboot and then Kernel messages on the console

default username/password is : root / olimex

New Product in stock: A10-OLinuXino-LIME-BOX plastic enclosure for LIME


A10-OLinuXino-LIME-BOX is plastic enclosure for LIME.

A10-OLinuXino-LIME OSHW LInux computer developer edition is in stock


A10-OLinuXino-LIME 50 pcs developer edition are in stock! The mass production 2000 pcs are to follow in 2 weeks.

What we have done:

  • tested the hardware
  • built Android and Debian images with all board features
  • tested differnt LCDs, SATA HDDs, LiPo batteries

it’s a bit scary but everything works from the very first revision which didnt happen to any other OLinuXino and make us feel a bit uncomfortable.

The mass production is ran without any changes in the schematic and board 🙂

Hopefully the developer testing will find no bugs !

Previous Older Entries Next Newer Entries