RoadTest: Atmel SAMA5D3 Xplained, Add-On Boards + LCD Bundle
Author: Unknown
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?: I was considering using a Beaglebone Black for a long time, but I really wanted something that I could have a direct access to an LCD screen with.
What were the biggest problems encountered?: Finding a starting point, As much as i'm sure the information is there on how to start developing on the board, it really isn't easy to find. There's so much content on the atmel and the at91 websites that it almost impossible unless you are famiiar with it and know where to go and just as importantly what to actually look for.
Detailed Review:
Wow, what a rollercoaster of a roadtest, some very negative aspects and some very positive aspects too..
Ive been keeping some blog posts at http://www.element14.com/community/community/designcenter/sama5d3xplained/content my latest been a video demonstration of an lcd controller and graphics library I've been working on aswell as source files and a readme to follow to test it out.
I'll review the sama5d3 xplained board first then do a mini review of the other parts in the package I was sent..
Sama5d3_Xplained
I was impressed at my first impressions when I recieved the package, it came in a box with a funky graphic on the front that was nice to see. One of my latest gripes is to do with how things like this and even down to lab equipment just aren't really personalised. Everything is just plain Jane packaging and "lab white" plain coloured uuurgh! Development products with personality, now thats a plus 1 in my book!! The actual board itself looks impressive too, just the neat layout, labelling etc... is great.
Plugging the LCD in and switching on, I expected to see a terminal prompt appear... and there my expectations were failed, the other roadtesters were also expecting to see something, just something but no... the lcd just didn't work, there was a few posts that went on with people helping each other out to get started, there really wasn't a simply entry point to use it. The linux distribution was very bare bones and just trying to get a basic program to compile and run seemed fruitless. Cross compiling a c program with the toolchains I had just didnt work I tried intalling the buildroot toolchain and ended up with a large system tax of space being used on my harddrive, some tools were created as part of the process but alas! no c crosscompiler got created. Next thing was to copy a source file to the board and try to compile it natively.... Guess what? still no luck... It's at this point that people seem to give up, on lots of forums there are threads about how to get into the board, do some basic linux setup up stuff etc.. but thats as far as they go, any posts that ask about actually doing something productive just seem to end abruptly. I came across a forum post somewhere where the poster asked the question "has anybody actually managed to do anything with this board as it seems that getting linux to run on it seems to be the final goal as far as projects go?" It was worded something like that anyway..
I decided to try and concentrate initially on getting the board to run in the demo linux user space to prove that it was possible to do something with, there was other people working on recompiling debian linux to run with it and initially I thought this was a good idea, but having thought about maybe it isn't and for the following reason:-
******IMPORTANT BIT READ HERE!!!!!!!!!!!!!**********
What the xplained board is
(my own opinion)
It's easy to look at a development board that claims to run linux and think "Hey! Its a small board computer..." well it just isn't.
Do you remember working on low end microcontroller and thinking, hey! I wish this had more ram or hey! I wish this had more storage or Hey!I wish I could connect directly to my computer with this...
Me too! and guess what... Thats what the xplained board is all about from my point of view... It's not quite powerful enough to run a full featured operating system, but what it can do is use the important parts of an operating system to give you easily integrated ram, usb compatability, networking etc....
All in all, I started looking at the demo linux package as a kind of bios that can give me access to peripherals and devices that would otherwise be overcomplicated to use.
This was all very well and good, but the demo package itself is somewhat lacking and could do with some tender love and care. There are things like a package manager that can be included but I was stuck with a choice, do I continue with trying to use the xplained board in it's current state or do I spend my time learning about Poky and the Yocto project? I do want to learn more about Poky since it is becoming a very popular choice for running on small machines but I also want to take my time to fully understand it. If I followed that path, I might be clued up on Poky right now, but i probably wouldnt have had chance to do much else with the xpained board so I continued using the demo package and working from the userspace of it.
Once I found that it had Python installed, a language I had never found need to use I did a bit of research and provided you have some programming background, you should pick it up very quickly. It has libraries to use the peripherals like the I2C busses that are on board etc.... and development from there is very simple.
Later I found it also has Perl installed so if you are a Per head then go for your life (if I'd though of this before I tried python, then my demonstration code and libraries might well have been done in Perl).
So yeah, once you actually get into it, theres plenty you can do. It does take somebody who is very much multi-disciplined to use and get the most out of it though, you are going to need knowledge of microcontrollers, linux, a couple of different programming language and some imagination too!!
If you are an AVR or atmega junkie, then don't immediately think "Hey! its an Atmel product, it must be as easy to use as what they already have out there!" becuse you are in for a big shock. One of the reasons I wanted to roadtest this is because I have experience of working with countless micro's and a few small board computers running embedded linux, but believe it or not - I haven't ever used an Atmel device. I was fully expecting it to be as user friendly as the low end microcontrollers that people always rave on about but it seems to have been released without much thought or development to what an end user could expect.
That said, hopefully there will be a community focus on creating an entry point and providing some real examples on how to use it then it might become a bit more friendly towards newcomers. I fell out with it many times over the roadtest period but believe it or not, now I'm in my comfort zone with it, I'm definately carrying on my project and since my larger project should easily work within the specifications of this development board, I'm looking at developing it and using the xplained board for the whole thing!! It just takes an entry point into using it properly.
Arduino UNO click shield
I wasn't as impressed with my first impressions of the click shield... The header sockets weren't soldered in straight and were angled to such a degree that when I soldered the header pins onto the click board provided, it just would slot in. The switch on the board wasn't straight either. Both were remedied with my soldering iron, but really I felt it should be unnecesarry to have to.
It did provide me with an afternoon of amusement though, once I spotted a quality control sticker on there!! Who does the quality control? an Orangutan? somebody needs to tell the Orngutan to stop drinking on duty... lol!!
But no, thats all there is for this, it's just an interface between the Xplained header and the click boards. I do have a suggestion to make and extension cable that you can plug a click board into, the sensor we were provided with would work well if it it was on the end of a cable and not prked up immobile on top of the click board. you know... so i can stick it out of the window without damaging the expensive bits
SHT1x click board
Its a nice neat little board and comes provided with header pins that you need to solder yourself. If you want to be tight, you will notice that theres only 5 connections that really need to be made or 6 if you want to connect both grounds, so you can trim the header pins down and keep some for another project!! just a thought....
I couldn't get it to work in it's intended configuration, ie. plugged into the click shield that you plug into the xplained board. My first port of call was to run I2Cdetect at the terminal prompt but couldnt find it, on closer inspection, the click board doesnt actually use I2C pins, its configured to connect to A4 and A5 on the xplained board that arent configured as I2C. Checking out example codes online, it appears that the examples bit bang the board which only loosely follows the I2C protocol and has none standard addressing so it wouldn't work straight away with the built in peripheral python library. I modified the rasperry pi code thats available on the example code website to run with my own gpio library and tried bitbanging like that, to no avail. Pins A4 and A5 just wouldn't configure as digital IO so I had to resort to pplugging it into a breadboard and using jumpers to connect to the xplained board and bitbang through the digital header pins instead which worked!! yay!! but obviously the click shield is a defunct component if we have to do this... Not all of the click boards available work like this so it could just be a one off for this particular board, it's just a trap and also another thing that just didnt work in the way that you expect in this whole package. Maybe changing some parameters while rebuilding the Poky linux distribution might allow us to use pins A4 and A5 for digital I/O but as it stands, it's not that straight forwards.
wifi dongle
Presumably, its just a standard wifi dongle. I never managed to get it to work in time for this review. There are other people that show how but even following that, it really doesnt seem to, or for me anyway. The reason being is when the netwrking is restarted, it looks for a wlan0 device that presumaby the dongle should register as but I don't think the USB drivers are present in the demo package to set it up as a wlan device. So doing all the business with the ssid etc... is pretty pointless.
If there's something I'm missing in order to get the dongle to reister then please let me know! the only example where there any output given shows the device registers as "acer" so presumably this was tested on an Acer computer rather than on the xplained board?
LCD screen
The LCD screen is of good quality and capable of running in many graphics and colour modes most of which I've tested. It is capable of running in 32 bit mode, above the stated 24bit mode but the alpha bits are just ignored and don't actually do anything. You can increase the resolution but this comes at a cost of having to reduce the colour depth as it increases, I decided to keep it at 480 x 272 and use 24bits per pixel which seems to be the optimum for my purposes.
The actual display is clear and sharp and has good colour quality.
I havent managed to use the touch screen part as yet, there is a touch screen controller provided in the demo package but it's for a different device. I thought I was on to something when a device showed up when scanning I2C-1 bus, but after sending some random commands, a test pattern appeared on the LCD so presumably this is the I2C device of the display rather than the touch screen, I traced out the I2c pins and marked them off so I could connect it later and write an independant library for it if needed later on. The conversion board allows for easy access of these pins too. There is an interrupt pin that changes voltage when the screen is touched so this will provide an easy method for detecting a touch without needing to constantly poll the device. Hopefully, a recompile of the linux distro might get it working natively though.
The only real disadvantage with the LCD seems to be the actual connectors, firstly, theyre not really long enough to work with this board and the way they plug in leaves it all twisted up and screwy. The connections themselves are quite fragile, so moving the LCD while it's connected can result in a jumbled image at best and the whole xplained board resetting at worst.. longer flat flex please
Summary
The marks out of 10 I gave are in my opinion fair, I feel that this really depends upon peoples experience with it. The xplained board works well for the way I intend to use it, but for somebody wanting an Atmel version of a raspberry pi might find it completely unuseable and lacking a graphical front end that most people expect. It has been hard work to get to the point I have with it and the past 2 weeks I've been inundated with work so haven't had a great deal of time to get to where I wanted to be, however, I do intend to use the xplained board to complete my project as it has everything I need for it barring a larger LCD screen that can be added on when I get one anyway. Don't think it going to be a walk in the park, it's a board intended for serious development and that means putting in a serious amount of effort to do anything with. There's so much code flying about these days that much of the time, you can just copy and paste from other peoples examples but until those examples emerge for the xplained board, you are going to have to put in the work yourself to get the results out.
Top Comments
Thank you
I think that choosing just one thing to change depends entirely on which perspective i look at it from
As somebody approaching a new product that one thing would be a well written step by step…
I did im not finished yet, that happy little bees gonna be buzzing all round the screen before im done!
My main disappointment is not having the time to use it to burn things with my laser... one day.…