Talk:Main Page

From Low cost, low power, android ARM system board by - pico WiKi
Jump to: navigation, search


Populating MN9 with flash memory - can't find memory

Hi All.

I would like to populate the NAND flash footprint on this board. The schematic calls for MT29F2G08ABDWP, but I can't find this part anywhere.

Which compatible replacement part do you recommend and where could I buy it?

Thanks Philip

While we were testing NAND, we encountered a lot of CRC errors over a longer period of usage (writes/reads). The number of bad CRC sectors were rising, resulting in unable to load OS from NAND. We didn't get a clear response from ATMEL why this happens but as far as we understood from them, it's related to their implementation of atmel_nand.

High delivery cost

Hi Mini-Box team!

You have a great product with a really affordable price. But there is one issue - shipping costs. Board + LCD costs about $104, shipping (to Ukraine - my location) costs $205. Nonsense.

regards, Alex

I think you choose the "no risk" shipment method by UPS and that's right the shipping from US to Ukraine is that much because of the distance and risk they assume for it. There are two other methods of shipping, cheaper, but on your risk:
You can use: Express Mail® International for $47.05, or Priority Mail® International for $37.50
For more information please contact our sales department on: sales-queries at

Hi all!

Sorry to bust in like this, but could you add some mini PCIe GSM/GPS devices that work with this board?

Regards, Alex

you have to look for a miniPCIe GSM/GPS that has USB support, like this one:
we didn't test it, but the board miniPCIe it's with USB only support


Question: why there is no ARM JTAG port? 4 USB ports, but no JTAG? Thanks.

SPI Interface

I would like to interface to the SPI driver from an Android java app. Anyone has an example on how to do this? Or maybe point me to a resource that I can start at? thx

Re: SPI Interface -- 02:25, 10 October 2011 (MDT)

You should read this: and the example spidev_test.c
See this page.

C++ Compiler -- 14:03, 10 October 2011 (MDT)

I would like to compile a few simple programs on the Mini-box PICo board. What is the simplest way to add a C++ compiler and libs?

Debian armel -- 15:13, 15 October 2011 (MDT)


I have Debian armel running on this board now with kernel 3.04 (Zero extra patches :)).

Aside from an issue with the second bank of memory (I'm compiling a kernel that should fix it now) everything works great..

The steps to get this running are:

1 Get another SD card and use another debian machine to create a base chroot for armel on it, use the --foreign option so that it doesn't do the second stage setup.

2 Boot up with the Angstrom image and insert the sdcard with the debian chroot into the reader socket

3 chroot into the debian chroot from Angstrom and run the second stage setup thats in /debootstrap

4 Install GCC etc in the debian chroot and build a kernel (I can supply a working config for 3.0.4).. you need to build a uImage. This will take a few hours!

5 move the linux.bin on the boot sdcard to linux.bin.old or something and copy your new uImage in its place

6 boot angstrom with this kernel to make sure it works

7 chroot into your chroot again, install openssh-server etc so that you can login from debian when you start using it, configure your network interface.. use ifup to test it

8 remove both of the cards, backup the old angstrom root form the boot card, delete its partition and create a new one of the size you need and format it with mkfs.ext3

9 copy the debian chroot from the other sd card into the new root on the boot card.

10 boot it :)



Re: Debian armel -- 15:55, 15 October 2011 (MDT)

Hi Daniel and thank you for your input. Would you like to create a page on our wiki and share complete information about your working? You have to make an account and then to create that page. Thank you

Re: Re: Debian armel -- Dgpalmer 18:16, 15 October 2011 (MDT)


I have started writing the page in Debian. I don't really understand mediawiki's formatting stuff.. so feel free to format it how you like. At the moment I can't get the second bank of RAM to be accessible and I'm trying to get the perfect kernel config.. compiling on the board itself takes a while. ;) I'll finish up the page later on and fill it out a bit more.

The issue with the second bank is this;

Machine: Atmel AT91SAM9M10G45-EK Ignoring RAM at 20000000-27ffffff (vmalloc region overlap).

Re: Re: Re: Debian armel -- 01:36, 17 October 2011 (MDT)
Hi, Daniel. I published a link to the Debian page on the main page, here. If you have any progress you would like to share, please update that page and I will arrange it to wiki format for you. Thank you.

Mainline support -- Dgpalmer 22:58, 15 October 2011 (MDT)

As part of getting Debian working on the board I've prepared a few small patches (mainly so that we don't have to use someone else's board type).. Do you guys mind me submitting them for inclusion in the kernel? I'm not sure if they would go in, but its worth a try.

This looks better than it did before ;)

[    0.000000] Linux version 3.1.0-rc4-dgp (root@ein) (gcc version 4.6.1 (Debian 4.6.1-15) ) #3 Sun Oct 16 04:53:22 UTC 2011
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine: pico-SAM9G45

Re: Mainline support -- Npavel 09:01, 16 October 2011 (MDT)

We would like to do that, and add a proper board- configuration file, but we're waiting to see if there are any changes to the hardware for the upcoming enclosure/lcd/touch panel.

If you don't mind you can upload the patches, and refer them in the kernel building page till we have a patch. I will make sure that you are included in the credits in our next patch.

Re: Re: Mainline support -- 21:58, 16 October 2011 (MDT)


I have basically copied the board file that was being used and cleaned up the stuff for the LEDs etc.. and added them to the Kconfig so that you can select the right board :) And added some fixes from other places like enabling the pwm led driver for at91. I've got a pretty clean config that can be used as a defconfig for the board as well.

I'm having trouble getting the second bank of RAM to be usable in 3.1. I need/want to use 3.1 because of fixes/improvements in the mmc driver. I noticed that you have a patch in the arm linux tracker for 2.6.32. I can't for the life of me get this working (it seems some of the arm memory mapping stuff has changed). Apparently reordering the banks so that the lower addressed one is first, enabling highmem support and loading the kernel to the lower bank works (near the end of this post --

Do you have any thoughts? Everything is running great.. but only with 128MB of RAM.

Re: Re: Re: Mainline support -- Npavel 00:23, 18 October 2011 (MDT)
It looks like we first need to fix Atmel MCI driver.
Re: Re: Re: Re: Mainline support -- 20:51, 18 October 2011 (MDT)

The Atmel MCI driver is fixed in the 3.1rc? series. I'm running 3.1.0rc4 right now. Apparently, it has some improvements over the older driver like the ability to use the DMA controller. Atmel seems to have been fairly active lately.

I have the kernel loading into the lower bank of RAM now..

-I- Card size: 1886 MB

-I- Copy "linux.bin" from SdCard to 0x20000000

-I- load: 20008000 jump: 20008000

-I- Loading to 0x20007fc0 with size 0x001947e8

-I- MEDSdcard init

So I see this instead

Ignoring RAM at 70000000-77ffffff (vmalloc region overlap).

I think now we can have a decent memory setup.. instead of having the lower bank mapped after the high bank.

=Re: Re: Re: Re: Re: Mainline support -- 00:46, 19 October 2011 (MDT)=

I have both banks of RAM working in 3.1rc4 now. I'll clean up my changes to the kernel and get a patch together that everyone can use.

daniel@ein:~$ dmesg 
[    0.000000] Linux version 3.1.0-rc4-dgp (root@ein) (gcc version 4.6.1 (Debian  4.6.1-15) ) #13 Wed Oct 19 06:37:31 UTC 2011
[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
[    0.000000] CPU: VIVT data cache, VIVT instruction cache
[    0.000000] Machine: pico-SAM9G45
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] AT91: Detected soc type: at91sam9g45
[    0.000000] AT91: Detected soc subtype: Unknown
[    0.000000] AT91: sram at 0x300000 of 0x10000 mapped at 0xfef68000
[    0.000000] On node 0 totalpages: 65536
[    0.000000]   Normal zone: 2816 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 62720 pages, LIFO batch:15
[    0.000000] Clocks: CPU 400 MHz, master 133 MHz, main 12.000 MHz
[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    0.000000] pcpu-alloc: [0] 0 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages:  62720
[    0.000000] Kernel command line: mem=128M@0x20000000 mem=128M@0x70000000  console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootdelay=1 rootwait=1
[    0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[    0.000000] Memory: 128MB 128MB = 256MB total
[    0.000000] Memory: 256516k/256516k available, 5628k reserved, 0K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     DMA     : 0xffa00000 - 0xffe00000   (   4 MB)
[    0.000000]     vmalloc : 0xd0800000 - 0xfee00000   ( 742 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xd0000000   ( 256 MB)
[    0.000000]     modules : 0xbf000000 - 0xc0000000   (  16 MB)
[    0.000000]       .text : 0xc0008000 - 0xc02ee000   (2968 kB)
[    0.000000]       .init : 0xc02ee000 - 0xc0309000   ( 108 kB)
[    0.000000]       .data : 0xc030a000 - 0xc032b6a0   ( 134 kB)
[    0.000000]        .bss : 0xc032b6c4 - 0xc0338798   (  53 kB)
[    0.000000] NR_IRQS:192
[    0.000000] AT91: 160 gpio irqs in 5 banks
[    0.000000] Console: colour dummy device 80x30
==Re: Re: Re: Re: Re: Re: Mainline support -- Npavel 10:33, 24 October 2011 (MDT)==
I added a new kernel branch minibox-picopc-3
===Re: Re: Re: Re: Re: Re: Re: Mainline support -- 21:26, 25 October 2011 (MDT)===


I couldnt that you had done anything to the upstream source.. so I've created a clone. I will merge my patches into my clone. You can then pull/clean up anything you what to put into the official version.



====Re: Re: Re: Re: Re: Re: Re: Re: Mainline support -- Npavel 04:12, 4 November 2011 (MDT)====
You can use this branch for additions:

User Keys/pins -- 19:53, 21 October 2011 (MDT)

Hello, I want to use the "User pins" on the processor,

Marked in the schematic: "LEFT" = E7 "RIGHT" = B5 "OK" = D6 "USR[1..4]" = F7, A4, C5, B4

I know the schematic says DNP the "[LEFT] [RIGHT] [OK] & User buttons" traces, but is there any other way to get to the "USR" pins on the processor?

PS: I can't wait to see the enclosures for the board:)

Using ADB USB on Linux -- 03:42, 23 October 2011 (MDT)

... doesn't seem to work for me!
I tried with a couple of different udev rules on Ubuntu 11.04 and Ubuntu 11.10 ... no success, 'adb devices' comes up empty, although 'lsusb' lists the device as:

Bus 001 Device 005: ID 18d1:9018 Google Inc.

Some strange effect with the 'Eclair' image - the device doesn't show up at all! Any ideas how to make this work - it's a nice board, but basically useless as a development platform right now.
Steffen Elste

Re: Using ADB USB on Linux -- 06:02, 23 October 2011 (MDT)

Update: Got it working finally - if the board is powered only via the Micro-USB connector 'lsusb' shows the device but 'adb devices' doesn't find it!
I'm now using this udev rule:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="9018", MODE="0666"

which works on either Ubuntu 11.04 and 11.10
Steffen Elste

connecting to a bigger LCD --


I'm looking to connect the pico-SAM9G45 to an 15 or 17 LCD screen (not through VGA). I wondered if you know of an LCD screen that would fit? can we connect LVDS screens?

I would appreciate any help.

thanks very much


Ethernet access -- Jex 05:59, 6 November 2011 (MST)

Hi, I just writed and installed my MicroSD with Angstrom Linux and start my card with power on mini USB and ethernet port connected on my router... My router tell me the ethernet connexion is not running. Then I don't know the IP address of the pico card and can't connect via RSH. Is it a bug or have I first to connect with serial port to configure Linux / Ethernet ? Best regards. Jacques

Re: Ethernet access -- Npavel 01:22, 7 November 2011 (MST)

Make sure your router has a running DHCP server.

Re: Re: Ethernet access -- Jex 10:19, 7 November 2011 (MST)

I restarted the MicroSD Linux installation with a Windows 7 computer. With WinImage tool, I verified the image is correct. It seems OK  : I constructed an image of MicroSD after burning and I saw the Linux files in the image. Then I restarted the card with Ethernet. Now, my router tell me there is a connexion, and the Ethernet LED's are active. OK. Now, can I connect me over Ethernet with rlogin, SSH, or telnet ? What is the predefined password for root ?

Re: Re: Re: Ethernet access -- Jex 14:10, 9 November 2011 (MST)
OK, now I can connect with SSH on port number 22... root/root. The problem was to know the IP Address.

Randomized MAC Address at boot !! -- Jex 14:16, 9 November 2011 (MST)

Hello, To connect on the card over Ethernet, we need to know the IP address of picosam9. But, each time we restart the card a new (randomized) MAC address is used. Then, DHCP provides a new IP address to the card at each reboot... Please How can we stabilize the eth0 MAC at boot ?

Re: Randomized MAC Address at boot !! -- 08:25, 14 November 2011 (MST)

There are different methods but the easiest one is to run this command at startup:
 ifconfig eth0 hw ether 00:01:02:03:04:05

Re: Re: Randomized MAC Address at boot !! -- 02:36, 24 February 2012 (MST)


Please advise how to write a permanent MAC address while building a new image.

Thanks, James

3g modem -- 04:28, 14 November 2011 (MST)

I inserted an Option GTM617W modem in a pico-SAM9G45 board. The modem is detected and after enabling the hso driver in the kernel the serial ports are setup correctly. However when I reboot the board (without power-cycling) the modem is not detected anymore! To get the modem working again without power-cycling I have to pull the PERST# on the mini PCI express port to 0V. When I release this pin the modem is detected again. I also tried to reset the usb hub by shortening C74, but that does not make the modem detectable again. For now we have a workaround by connecting PERST# to USR1. And in the OS when the modem has not been detected just toggle the USR1 gpio and wait for the kernel to detect it again.

We also have another 3g modem (Huwei E770) but this modem is sometimes not detected (conditions to be detectable are very random). Hub reset or PERST# toggle do not help much.

Now comes the interesting part: When I insert one of the modems above into an USB to mini pci express converter it is impossible to not detect the modem! (everything works as expected)

I suspect the 3.3v power supply on the pico-SAM9G45 board from not delivering enough power to the pci bus, causing the 3g modem in a undesirable state.

Re: 3g modem -- 08:27, 14 November 2011 (MST)

I reported this to the hardware team. Does this method work for detection ?

Re: Re: 3g modem -- 12:26, 14 November 2011 (MST)

No, when it is not detected I can not deauthorize my not detected device. What remains is deauthorize the USB hub but that does not make any difference.
Why are Q2 and related components not placed? This could help me to switch off/on the USB pci device.
Re: Re: Re: 3g modem -- Npavel 12:46, 14 November 2011 (MST)
Does this happen with an external power supply (12V for example) or you use microUSB port for power ?
Re: Re: Re: Re: 3g modem -- 00:40, 15 November 2011 (MST)
I just tried it with 15V and 5V on the external power supply and I connected the board with microUSB. All gave the same result. (GTM617W modem, powerup works fine, after reboot it is not detected, after toggling PERST# it is detected again)

Option GTM671W -- 03:27, 28 November 2011 (MST)

The Option GTM671W (only 3g part, wifi uses the pci lanes) 3g modem finally works correctly on the pico-SAM9G45 board. But due to some mini pci express violations an adapter board with some disconnected lines had to be used!

The lines 47, 49 and 51 are defined as reserved. However, the pico-SAM9G45 connects 5V to it. When this modem is used directly it becomes very hot and it is sometimes not detected as an usb device. When the modem stays on for several hours it becomes broken due to the high temperatures, this renders the modem useless and it becomes detected as another device.

To connect this modem to the pico-SAM9G45 board an adapter board is needed because the modem is half-height. On this board the lines 47, 49 and 51 MUST be scratched. After this modification the modem functions correctly.

The question remains why does the pico-SAM9G45 connect 5V to these lines? It is not in the mini pci express 1.2 specification (5V isn't even mentioned there). Is this to be fixed in a future hardware revision?

HUAWEI EM770 -- 03:53, 28 November 2011 (MST)

The HUAWEI EM770 3g modem finally works correctly on the pico-SAM9G45 board. But due to some mini pci express violations an adapter board with a disconnected line had to be used!

Line 20 is defined as W_DISABLE#. According to PCI Express Mini Card Electromechanical Specification Revision 1.2 October 26, 2007, page 48 the modem must pull-up this signal when it implements this function. However, the pico-SAM9G45 connects 3.3V to it. When this modem is used directly it is not detected as an usb device.

When I put an adapterboard in between and scratch line 20 the modem functions correctly!

The question remains why does the pico-SAM9G45 connect +3.3V to this line? It is not very clear to me in the specification but I don't think de-asserted means just connect 3.3V to it, because the card already has a pull-up on this line. Is this to be fixed in a future hardware revision?

Re: HUAWEI EM770 -- Npavel 05:21, 28 November 2011 (MST)

Thanks for your findings I alerted the hardware dev team and waiting for an answer.

Problem compliling Ångström OS on openSUSE 11.4 (32bit) -- 07:33, 19 December 2011 (MST)

I've bought pico-SAM9G45. Delivery cost is quite affordable (USPS Express Mail, Ukraine). Installed and run pre-built OS. Everything is okay. I tried to build the kernel or a base image Angstrom distribution. After running the commands:

MACHINE=picosam9 ./ bitbake virtual/kernel

MACHINE=picosam9 ./ bitbake base-image

I've got the following error:

“ERROR: Poky's config sanity checker detected a potential misconfiguration.

   Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
   Following is the list of potential problems / advisories:
   Do not use Bitbake as root.

ERROR: Execution of event handler 'check_sanity_eventhandler' failed”

What could be wrong?

Re: Problem compliling Ångström OS on openSUSE 11.4 (32bit) -- 03:10, 31 January 2012 (MST)

Just don't start bitbake under root account. I've got another problem with Angstrom: it says that MACHINE=picosam9 is unknown name and doesn't build anything. Does anybody know, how to fix it?

Re: Re: Problem compliling Ångström OS on openSUSE 11.4 (32bit) -- 11:18, 1 February 2012 (MST)

I have not been successful generating and compiling the Angstrom build by following the instructions on the Mini-box site. Running the setup-scripts and generates a directory structure that is different than the one specified by Openembedded. I think this is part of the problem There is no mention in the instructions on any mods to local.conf or BBPATH. When I try MACHINE=picosam9 bitbake gpe-image it eventually states 'there is nothing to build'. I have twice built kernel/fs using Openembedded/Angstrom on Atmel devices and there were issues (always issues with Linux) but they were fixed with available patches, etc.

RS232 to TTL adapter 3.3V -- 08:23, 19 December 2011 (MST)

Perhaps it is wise to inform users about the fact that the USARTs operate at 3.3V. When using a standard TTL (5V) to RS232 adapter the processor is operating beyond the absolute maximum ratings.

USB keyboard -- Linus63 06:04, 30 January 2012 (MST)


I want to know how to connect an USB keyboard with a SAM9G45 card?

Thanks in advance

Serial on J9 -- 03:46, 7 February 2012 (MST)

Hello, I successful work with serial on J7, using /dev/ttyS2... but on J9, who ttyS* I use?


Re: Serial on J9 -- RGB& 08:39, 7 February 2012 (MST)

UART2 on J9 is not registered in the kernel. You have to registered it in /kernel/arch/arm/mach-at91/board-sam9m10g45ek

Re: Re: Serial on J9 -- 10:19, 7 February 2012 (MST)

Much thanks ... I try as soon as I can... However, you must recompile the kernel, what I wanted to avoid.

ICS Display -- Rweiland 13:28, 10 February 2012 (MST)

When booting ICS alpha 1 with 7" Hannstar LCD, I get a digital clock when pressing back button, or "Make yourself at home" when pressing menu. Nothing else. Cockpit error, or expected behavior? Gingerbread works.

Cheers, and thanks for a great product! Ron

RTS/CTS on J7 not work -- 05:00, 20 February 2012 (MST)

Hello, using /dev/ttyS2 on J7 and setting by "stty -F /dev/ttyS2 19200 -raw -echo crtscts", RTS/CTS signal is not enabled properly.

What should I do?


NFS or Samba Access from picosam9 -- Jex 18:19, 7 May 2012 (MDT)

Hello, I use the Angtrom precompiled OS. When I try to mount a filesystem on NFS ressource or Samba ressource I have an error (example for nfs : no such device). Is NFS or CIFS compiled in kernel ? Anyone have succes with networked filesystem ? Regards

Need help with powering up pico-SAM9G45 -- Jphil 02:50, 10 June 2012 (MDT)

I just got my pico-SAM9G45, power adapter and 4.3 LCD screen. all are connected and I have loaded android image on an SD card, not microSD card.

I plugged everything in and powered it up, nothing shows up on the screen.

Are there some basic steps to get it going, first time using this type of motherboard and system, what am I missing?


THX, Joel

Re: Need help with powering up pico-SAM9G45 -- Sweidinger 09:46, 13 June 2012 (MDT)

Hi Joel,

i'm an newbie in this board, too. But I think board can not boot from SD-Card, only from microSD. Lets have try with the microSD an tell me, if it works. ;-)

Greetings, Stefan

Howto write an Android App wich controls the Hardware I/O's -- Sweidinger 05:50, 16 June 2012 (MDT)

Hello there, can someone make a simple Howto for the Android SDK to control the onboard I/O's?

Greetings from Germany ;-) Stefan.

Personal tools