A20-OLinuXino-LIME2 review and updates


Sorry for blogging so late for A20-OLinuXino-LIME2 but last two month every week I had to travel somewhere.

This is also the reason for the two last weeks without Weekend Programming Challenge and Friday Free Board Quiz.

I promise these will be resumed next week after Open Fest 🙂

A20-OLinuXino-LIME2 is product of the continual improvement of our OSHW OLinuXino boards based on your feedback, tips and suggestions.

The major differences to A20-OLinuXino-LIME are:

1. Much better routing of DDR3 memory. We increased the number of layers to 8 vs the 6 layers in LIME, we put the DDR3 memory closer to the A20, we layout the tracks shorter, as result now LIME2 runs with DDR3 on 532Mhz on LIME there were problems to run DDR3 at more than 400Mhz.

2. Double the memory, LIME2 now is with 1GB RAM and we expect 8Gbit DDR3 memories to experiment on having LIME2+ with 2GB RAM (shhhhht do not tell anyone and do not ask when it will be available as we also don’t know if these experiments will be successful).

3. Faster Ethernet, now we use A20 GMAC instead of EMAC so LIME2 have Gigabit Ethernet.

4. GPIOs 0.05″ connectors now made right. When we designed LIME we first though to use female connectors instead of male, but when we finished the design we realized that this time we will break the order we made all “mother boards” to have male connectors (to may connect to ribbon cables) and the shields/modules/capes to have female connectors. In the last moment we decided to make LIME with male connectors and we had the dilemma – to go again to re-routing and prototyping or just to assembly the female connectors with male, we wanted to release LIME earlier so we went with the latter without realizing that this way when cable is attached the cable numbering will be mirrored!

Once we made this mistake we continued it with A10-OLinuXino-LIME-UEXT as otherwise we couldn’t have functional extension board.

Then we had internal discussion if we have to make these GPIOs right, the problem was that there were already many thousands LIMEs sold so what to tell to our customers who already bought LIME and made shields for it? So we left it “as is”.

In LIME2 we decided to make it right and LIME2 is with connectors which have no mirror, but this make them incompatible with LIME 😦  What we will do now is to make new version of LIME with correct GPIOs, but we will keep the production of the old LIME too, just have to figure out how to name the new board to not add more confusion to our customers.

So to conclude about the GPIOs:

LIME and LIME2 connectors are with different layouts (mirror). This means you can’t use A10-OLinuXino-LIME-UEXT on A20-OLinuXino-LIME2. We have A20-OLinuXino-LIME2-UEXT which is in production and will be ready around 10th of November in Stock.

Also new version of our A13-LCD4.3 A13-LCD7 and A13-LCD10 is developing which have standard 40 pin LCD connector to attach to A13-OLinuXino and A20-OLinuXino-MICRO + two small connectors for direct connection to LIME and to LIME2. I hope this is not confusing for you too :)))

Here is picture on the new LCDs:


as you can see you can connect directly now any of our boards including LIME and LIME2 without need to go through adapter board.

I’m sorry for all these confusions but we decided to make thing right and move forward than to keep the GPIO error forever (Arduino for this reason keeps the shield connectors off 0.1″ step, they made initial mistake but decided to not correct it).

Now we will have the inconvenience to keep LIME (mirrored GPIOs), LIME2 (correct GPIOs) and NEW-LIME(correct GPIOs) but this is our mistake and we want to fix it.

EDIT: Something important! Debian and Android images for LIME and LIME2 are different because of the memory and Gigabit ethernet, so if you have LIME download the images for LIME if you have LIME2 download the images for LIME2!!!

56 Comments (+add yours?)

  1. Dylan
    Oct 27, 2014 @ 20:23:02

    LimeZero for the original?

    And challenge quiz next weekend? 😉


  2. Atanas Palavrov
    Oct 27, 2014 @ 22:02:05

    Lame … 😉


  3. SK
    Oct 28, 2014 @ 00:01:53

    I think you should NOT make new versions of LIME. This will only bring segmentation nad confusion even more. Just all the plugins for the LIME will be the one way and all for the LIME2 will be the other and it wil be clear. Else you wil ledn up with a LIME board that need to be attached to LIME2 connector and etc nonsense. Just leave the mistake with the LIME and move on with the LIME2 when you have made that decision. Another version just for the IO is too much for me personally. You can make some cheap mirroring cables perhaps – LIME-to-LIME2 adaptors (just don’t write the “to” as “2” 😀 ) 🙂


  4. Shervin Emami
    Oct 28, 2014 @ 08:23:56

    I agree with SK, it would be OK if you just had a single LIME (either the incorrect GPIO or the correct way), and sold a very-cheap adapter board or an adapter cable so that someone with the old LIME can still use new UEXT modules. In fact, if you sold this adapter board or adapter cable for free (to admit that it was your mistake), then it would probably be less cost for you in the end since not many people need it anyway, and the customers will be happy because they do not have to pay for extra cost.


  5. Max
    Oct 28, 2014 @ 12:17:02

    I appreciate your willingness to set a mistake right. Stubborn perseverance in error (like Arduino did) is not a virtue, neither is carrying on a legacy forever.


  6. Thomas
    Oct 28, 2014 @ 16:59:35

    Do you really meant 532 MHz DRAM clock speed or was it a typo and should read ‘dram_clk = 432’ instead?


  7. Thomas
    Oct 28, 2014 @ 17:35:47

    Just curious: Do I get these 532 MHz with the fex file you supplied in the LIME2 debian image (https://github.com/linux-sunxi/sunxi-boards/blob/master/sys_config/a20/a20-olinuxino_lime2.fex) since it reads “dram_clk = 384”? Thx in advance 🙂


    • OLIMEX Ltd
      Oct 28, 2014 @ 17:59:31

      I guess this left from the LIME image where we set DDR to be less than 400Mhz 🙂


      • Thomas
        Nov 07, 2014 @ 17:07:41

        Since you already welcomed suggestions for your Debian image (I still believe the most important part is not _inside_ Debian but hardware initialization: U-Boot and fex) it would be great if people like Igor Pečovnik might jump in. He maintains a small minimal Debian headless image and developed the necessary knowledge U-B-Boot/fex wise to support a couple of different Allwinner based boards (supporting both A10/A20 in one image for Cubieboards). I recently wrote him and maybe he’ll get in contact with you 🙂 Can’t wait for the few problems to be nailed down that currently let the Lime2 be slower than similar boards with nearly identical hardware (A20/RTL8211)

  8. Laurynas
    Oct 29, 2014 @ 17:52:23

    I with you could provide more Linux images.
    I’m no Linux guru so I spent quite some time to get the provided 4GB Debian image transformed into headless server on my A20-Lime[1].

    It would be great if there was professionally built headless image:
    minimal Debian (no X stuff), lime/A20 specific gpio/driver thingies, no memory allocated to Mali, LAN up by default, SSH running by default.

    A20-Lime is a great LAMP server and it even runs Spigot quite well after you get all RAM back from Mali. A20 with it’s GLAN is even more interesting for headless applications


  9. Thomas
    Oct 30, 2014 @ 00:27:02

    Regarding headless server: The funny thing is that you can use both Bananian https://www.bananian.org and Igor Pečovnik’s great Debian wheezy image for the Banana Pi http://www.igorpecovnik.com/2014/09/07/banana-pi-debian-sd-image/ on an A20-Lime2 without trouble (you have to exchange the fex/script.bin files of course). In my tests these Debian images for the BananaPi provide far more performance on the A20-Lime2 than Olimex’ own. In every single test I performed (disk I/O with iozone, network tests with iperf, combined tests) the Olimex’ image lost. I’m still investigating why the A20-Lime2 doesn’t perform well compared to the Banana Pi (I like Olimex’ board far more being OSHW and stabilizing noisy power sources and so on — but unfortunately the software sucks): http://kaiser-edv.de/tmp/q75pzp/


    • manuti
      Oct 30, 2014 @ 14:21:40

      Good distro Bananian I din’t know before. Because exist also a Cubian distro is time to have a Limian?


      • OLIMEX Ltd
        Oct 30, 2014 @ 15:18:33

        I find this plain silly, why one should take Debian, config something and change the name?
        For Raspbian this is self understanding, Debian do not support ARMv6 but why to do same for ARMv7 which is officially supported?

      • manuti
        Oct 30, 2014 @ 17:05:38

        I’m afraid of buying a Lime2 because Thomas says that your Debian image “sucks”, but I’m going to confide in you. Thanks for your product.

      • OLIMEX Ltd
        Oct 30, 2014 @ 17:52:59

        ‘suck’ is probably overestimated 🙂 we just build the image from linux-sunxi sources and sometimes they are not very optimized as many people touch it at the same time

      • Thomas
        Oct 30, 2014 @ 18:18:15

        Well I just don’t like an image that uses fixed Ethernet settings, starts a GUI and so on. Regarding the basic problems related to performce I’m convinced that Olimex (or Olimex and we as some sort of a community) will fix the whole thing within weeks.

      • manuti
        Oct 30, 2014 @ 20:50:25

        But… Are you happy been the owner of a Lime2?

      • OLIMEX Ltd
        Oct 30, 2014 @ 21:00:38

        any tips how to imprve our images are welcome 🙂

      • SK
        Oct 31, 2014 @ 01:37:48

        @manuti, Thomas is talking about headles-server applications. If you are a regular user that wants to have GUI and etc. the Debian image provided by Olimex is just right 🙂

      • Thomas
        Oct 31, 2014 @ 02:43:42

        I tried a bunch of ARM boards last year (Raspberry Pi, Wandboard Quad, Cubietruck, Banana Pi and now A20-Lime2) and so far the Banana’s performance is the best (still no idea why) but in the meantime I like Olimex and especially their commitment to OSHW so much more. It’s not about using GUI stuff or headless but simply the mismatch between good hardware and software support. Eg. the Banana Pi and A20-Lime2 share the same hardware basics. Olimex’ board is way superiour in terms of quality but up until now there exist major performance issues. But since this must be a software problem I believe it can be fixed within a few weeks. Unfortunately I’m just able to ‘diagnose’ some problems but am not able to provide any help to fix it now. Still getting familiar with this sort of ‘tiny hardware’ (it’s so different from Oracle and x86 servers we’ve to deal with everyday)

      • Shervin Emami
        Oct 31, 2014 @ 04:56:01

        Maybe there’s a possibility of a collaboration between Olimex and Lemaker / SinoVoip (makers of Banana Pi)? Very unlikely, but it’s possible!

        Just like Thomas, I am choosing to use OLinuXino-LIME & A20-SOM for an upcoming product because of Olimex’s great community support & OSHW, rather than the other options that may have better features but less support, such as Banana Pi (that has better kernel) or pcDuino3Nano (that is roughly the same hardware at almost half the price) or Cubieboard2. But it would be great if we had not just the best community support but also the best hardware & kernel of the AllWinner boards 🙂

      • manuti
        Oct 31, 2014 @ 13:47:10

        Maybe with an ultra fine tuned kernel and an open graphic driver the Lime2 become a rpi killer.

      • OLIMEX Ltd
        Oct 31, 2014 @ 13:53:29

        I’m always puzzled when somebody label OLinuXino as ‘Raspberry Pi killer’, why on earth we should kill Raspberry Pi? Who will teach the kids programming then? Raspberry Pi Foundation have their clear goal – to teach kids programming! for this purpose they have build hardware which fits their goal, I do not understand why one should kill them :). Yes for sure we have board which is better, faster and with more features but this is something which kids will not need, our boards are more targeting the hacker and thinkerer community who have already knowledge what and how to do and can exploit all features which OLinuXino offers.
        so guys please stop with this “Raspberry Pi Killer” labels 🙂

      • manuti
        Oct 31, 2014 @ 14:00:42

        Sorry, but it’s just a shortcut to qualify a product. I promise that I’ll never use it again.

      • OLIMEX Ltd
        Oct 31, 2014 @ 14:04:42


    • adj
      Oct 30, 2014 @ 15:40:54

      Looking at the differences between the last pass and the average values, it seems that three times is not enough. You are getting more than 25% differences between passes. Either way thanks for the tests.


      • Thomas
        Oct 30, 2014 @ 18:07:28

        You’re totally right that average values and spikes differ way too much. But this is also just a sign that there’s something wrong: I did tests a while ago between Bananian and Igor’s Banana image (on Banana Pi). It should look like this: http://kaiser-edv.de/tmp/lkV4zX/ (and three passes should be enough in an idle network like my test setup)

  10. Thomas
    Oct 30, 2014 @ 17:34:39

    No there’s no need for ‘Limian’. But it seems to make a difference how you set up U-Boot, Kernel parameters and even default packages in a minimal Debian install (on small ARM system’s the kernel lacks entropy sources so it’s a must to include something like the haveged daemon). I’m still trying to understand why my Lime and eg. the Banana Pi perform differently (since they share almost all hardware resources but the Lime2 being superiour in some areas: http://forum.lemaker.org/thread-8312-1-1.html).
    I started to compare settings/performance and obvious differences regarding U-Boot/kernel here: http://pastebin.com/t1yDD87L
    Next step will be exchange of your kernel with Igor’s (he’s also in 3.4.104) and then check the U-Boot/uEnvt.txt stuff. And one interesting detail is that isolated benchmarking (eg. I/O or network) show not that many differences but when I use a ‘combined’ benchmark utilizing both a client, network connection and disk I/O things get worse especially write throughput: 6 vs. 39 MBytes/sec.
    I’m very interested in nailing this specific problem down since I would love to buy a dozen Lime2 instead of Bananas for a customer’s project.


    • OLIMEX Ltd
      Oct 30, 2014 @ 17:52:02

      it’s true, we are not so experienced in Kernel tuning, we still learn this stuff


      • Thomas
        Oct 30, 2014 @ 18:13:24

        I would love to share my findings when I find something relevant (eg. it seems that both A20-Lime2 and BananaPi interact identically between gmac and the RTL8211 PHY unlike the cubietruck for example. I read that patches should be applied to the kernel in the past but that this should be fixed *now* with more recent U-Boot releases). But right now I’m just a Noob regarding hardware initialization on sunxi devices 😦

    • jlucius
      Oct 31, 2014 @ 12:09:54

      One thing that is different between BananaPi and Lime is the DRAM clock which is 50 Mhz higher on the Banana (set in fex file). This should improve with the lime2?

      The A20 offers a few hardware accelerator settings like hardfloat, thumb2 and neon which can be enablend if the packets are compiled specifically for the A20 (as not every Armv7 hardware does support them). So they are most likly not enabled in the stardard arm debian.

      Just two examples. I think there are no big U-Boot or Kernel settings that would dramatically change speed (none I can think of).


  11. Zack
    Oct 30, 2014 @ 22:04:46

    What would be the fastest interface of A20 to transfer data between A20 and FPGA? Is there something like EIM interface on iMX6? It would be nice to have ~100MB/s throughput. Is it possible at all?


  12. Michele
    Nov 01, 2014 @ 19:17:01

    need Help!!!
    How download image A20-LIME2 ??


  13. Michele
    Nov 02, 2014 @ 14:24:22

    The root password is “olimex”· ?


  14. Chema Peribáñez
    Nov 04, 2014 @ 15:04:11

    Great news! I’m impatient about a model with 2GB of RAM. LIME2 with Gigabit Ethernet, 2GB RAM and SATA would be an interesting option to build a Ceph cluster.

    I was considering buying a Cubietruck (also A20 with Gigabit and 2GB RAM) but LIME2+ could be a better option…


    • Thomas
      Nov 04, 2014 @ 15:13:49

      Building a Ceph cluster on nodes without at least simple ECC RAM is just asking for trouble/corruption. You might want to read on from here: http://www.sebastien-han.fr/blog/2014/02/24/ceph-io-patterns-the-ugly/

      I also thought about building a cluster made of 6 Lime2 (20 cm diameters and 20 cm ‘tall’ including 6 SSDs, a GBit Switch and PSU) but just for learning purposes. Unless you heavily address bit rotting/corruption at the application layer you have to ensure data integrity at the hardware layer which is impossible on ‘tablet grade hardware’ like Allwinner based boards 🙂


      • Chema Peribáñez
        Nov 04, 2014 @ 16:00:21

        Thank you very much for your information, Thomas. You have opened my mind to a problem that I wasn’t considering. Fortunately I was interested just for learning also at this moment.

  15. Joan
    Nov 09, 2014 @ 08:14:14

    Can there also be an option to exclude the LIME connectors on the LCD or have them covered so it isn’t so easy to accidentally bend/short them if they aren’t being used?


  16. Thomas
    Nov 11, 2014 @ 12:12:39

    For all A20-Lime[2] users that want to use an enclosure or operate their boards permanently under high loads some of my findings regarding heat dissipation and measuring the internal thermal probes (A20 and AXP209 provide one) might be interesting: http://forum.lemaker.org/forum.php?mod=redirect&goto=findpost&ptid=8137&pid=42872 (the temperature read-outs of both SoC and PMU should work with Olimex’ Debian image out of the box)


  17. Thomas
    Nov 11, 2014 @ 22:45:49

    A20-Lime2 only. If you have one it’s really easy to install RPi-Monitor and the adjustments for A20/AXP209 I provided. Please keep always in mind that the AXP209’s values regarding power consumption only cover internals/peripherals the AXP209 has to handle (a connected SATA disk is not included which could add significantly to the PSU’s power budget). I’m still thinking about buying an
    ODROID Smart Power to measure overall consumption realiably but fear whether it’s worth the price (any alternatives? anyone?)


  18. Danny Milosavljevic
    Nov 12, 2014 @ 21:34:54

    Any news on availability of A20-OLinuXino-LIME2-UEXT ?


  19. Thomas
    Nov 19, 2014 @ 02:52:01


  20. pointhi
    Jan 31, 2015 @ 19:13:54

    I hope there is an official-release for the configuration: LIME2 – NAND – LCD10 soon.

    The provided Android Image is working, but I have no idea how to change the config to work with the 10 Inch display.



  21. dc
    Mar 17, 2016 @ 00:27:46

    Note that Lime2 gigabit ethernet is actually unstable and working at terrible slow speed rates, as per:

    I hope Olimex will be able to solve this and provide a solution as the board is great otherwise.


  22. Anonym
    Jun 19, 2018 @ 22:57:42

    I’am still waiting for the ram upgrade for the lime and micro boards. According to the datasheet, the A20 can handle 2gb of ram. Unfortunately I did not found any information about the status of this topic on the olimex website. Why we don’t already have such boards with more ram?


    • OLIMEX Ltd
      Jun 21, 2018 @ 09:43:12

      2GB requires 4 chips configuration as A20 miss second CS as you can see LIME2 form factor do not allow 4 DDR chips to be places due to space constrains


  23. Anonym
    Jun 21, 2018 @ 11:23:29

    Isn´t it possible to place easily two bigger ram chips on the board? According to the form factor: On the A20-OLinuXino-MICRO board should be enough place left. How does the Cubietruck handle the 2gb of ram? What do you mean with “miss second CS”?


    • OLIMEX Ltd
      Jun 21, 2018 @ 11:54:35

      The only way A20 to address 2GB is to use FOUR memory chips, please check Cubietruck and count the number of memory chips placed on the board. It is possible to have 4 chips on MICRO but this means yet another board variation with questionable market size, DDR memory is expensive at $10 per GB at the moment, adding more memory will make board routing more complex and even now none of our volume customers requested more memory, 1GB fits 99.99% of the industrial M2M use cases.


  24. Anonym
    Aug 08, 2018 @ 12:03:41

    I would like to use the A20-OLinuXino-MICRO as a desktop replacement. Therefore I appreciate two gb of ram, gbit ethernet and a quad-core cpu with sata support (like the R40, but this doesn´t make sense at the moment, since there isn´t full support for this chip in mainline kernel yet) in future revisions.

    Are there are any technical reasons why the OLinuXino-MICRO board needs 12v of input power? Why is there no 12v jack/supply for 3.5′ sata disks?


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: