RoadTest: Atmel SAMA5D3 Xplained, Add-On Boards + LCD Bundle
Author: nemanjafilipovic
Creation date:
Evaluation Type: Evaluation Boards
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?: RaspberryPi
What were the biggest problems encountered?: Lack of instruction manuals and everything that is necessary to begin work as a beginner.
Detailed Review:
Well hello to you all reading my review.
Just to be sure, I'll put a disclaimer in here: Currently I'm overwhelmed with school and extracurricular activities so sorry because this review isn't so complete. It will be revised in the future, so bear that in mind. I'm not a native English speaker, so there might be some errors in there too. This review should give you an opinion about this board from a beginner's standpoint (bear that in mind also! I haven't worked with Linux much 'till now) and help you decide if you should buy this rig.
Now off to the review:
First impressions:
When I first looked at a board considering applying to the RoadTest, i was thinking that it should be easy to work with. I have a RaspberryPi and it seemed to be based on a similar idea. It has a central ARM processor with Ethernet, USB ports and GPIO. Of course there are some differences that seemed to go in favor of Xplained board (except the processor). It has a 1g Ethernet onboard and it's using a microUSB for real USB things instead of just providing power. It is also neat that it allows you to talk to the board over serial console which is really good considering that it is possible that something horrible happens to your SSH! You've also got access to real, hardware rx/tx lines which is simply amazing because with a few simple hacks you also might connect your own PIC or AVR or something like that to the board with stdio (this of course isn't the really correct way, and you should consider other possibilities). It also has onboard flash which allows you to run the distro without the mandatory SD as on RaspberryPi. It also has arduino compatible headers and a bunch of GPIO connectors allowing better connectivity that the one on RaspberryPi. The board that I got didn't have the power plug connected, but with some soldering skills it is easy to add it.
The horror of the framebuffer:
Even though my idea about the project regarding this board didn't include using the LCD display that was also shipped, it was too cool to skip it. That's how it all started. The first signs of trouble came from the discussion in the roadtest that started after the first boards arrived to their new owners. The yocto/poky based distro that came onboard didn't have the kernel modules necessary to run the display! That's outrageous!!! How the hell can you ship the board that doesn't give you the basic functionality of the features that are physically ON THE PCB itself? The distro itself was really basic and it didn't even have apt-get. It used opkg for the installation but for a beginner like me that has only used apt-get it was suicide to try to do anything. BUT it came with a server already running and good to go and it supported the wifi dongle that came with the bundle. It also had SSH included which was also kinda good. It also had python already set so you could make a running application without touching anything. The trouble was in the LCD that after several days of work didn't give any signs of life. Then I decided to try and compile a brand-new distro that had every functionality that was needed. I had to install linux on my PC and had to install the buildroot which was a bit painful, but I survived. I managed to compile the kernel, bootloader and rootfs relatively easily. Just as I was preparing to learn how to create a bootable SD card from it, the revelation came in the form of prebuilt Debian wheezy just for this.
The long anticipated solution:
Debian wheezy was found here: sborut.wordpress.com/2014/04/08/emdebian-image-for-sama5d3-xplained/ and it worked great! There was only one trouble. The LCD didn't work . But that was easily solved using a simple hack. I've just downloaded the latest demo distro from the linux4sam website and copied the kernel image to the already prepared sd card. It was literally dragging the file to the card and renaming it so that it has the same name as the file that was removed. It worked and the LCD was finally there in /dev under the name of fb0. The next thing to do was to put something on it.
Installing the x.org:
The first thing to do with a new framebuffer was to make it display something. And what nicer thing to display than to make it run with x.org? The procedure of installing it wasn't as straightforward as it might seem. Since the image is based on emdebian, apt-get uses its servers to download the packages. From whatever reasons, the dark forces decided to ruin my day and to make that server go down, which was really frustrating. Still, i was relieved to have something a bit more familiar to what I've worked on (my RaspberryPi was running rasbian wheezy). When the servers finally woke up and I ran the apt-get update/upgrade again, the troubles reappeared. It couldn't access any of the packages! Then i decided to dig a little further and I found that a good solution to the problem was just to change the sources in the /etc/apt/sources.list . The best source for you can be found on the emdebian website. You should just copy and paste it into the file mentioned before. Then, the installation of the x.org was reduced to running a simple sudo apt-get install xorg . If additional packages are required, you should just try with the instructions that it gives you. Following the same procedure I installed the LXDE. Finally to display everything on the LCD it all comes to typing startx command in the terminal.
Some more troubles with the LCD:
When I first ran the xorg the colors were horrible! It was full of flicker and sometimes it didn't work at all. I finally found that the trouble was the flat flex cable connector on the adapter board which was connecting it to the Xplained. It wasn't really loose or anything, but there was something wrong with the contacts which made it refuse to work properly. After several hours of debugging, I finally fixed the hardware by just finding the position in which it works (not really the best solution but I will figure out something better when I have more time). The next trouble was the control, or better to say a lack of any. The kernel that was installed didn't include touch panel! It was there as /dev/iio:device0, but it was disabled (I still have no idea how to enable it). Also, the mouse also doesn't work. It seems that I'm into new kernel recompilation .
The sum:
The board looks really cool on paper. It has a lot of peripherals and not so humble processor. The nice thing is that it also has an LCD connector instead of HDMI plug thus allowing something that represents a final product to be made. Original distro is more or less useless, so reinstalling it is a must! That's really the biggest trouble with the board. There isn't much documentation to support it and allow beginners to work. If I had to choose between RaspberryPi and this, i would go with the berry simply because it has more features out-of-the-box. If this board had as much support, then it would be a better solution to someone who likes to be closer to embedded world instead of something that is closer to a PC. I also found that this board can run Windows Embedded Compact 7 (there is a prebuilt image out there) and this also sounds like a good idea! All in all if you know what you're doing then buy this, and if you're a beginner, and if you like your life, don't!
That's all for now. I will work on this board soon, and this review will grow. If you find anything that is wrong, have some advice or just don't like it, please comment and I will try to change it (but only if you provide sensible arguments - no haters ). I'm a high school student and this is the first time that I'm doing something like this, so I need feedback. Thanks for reading this and please rate.