I held off my review for more than a month.
I have read the specs and was quite impressed.
Then I reviewed the SAMA5D4 Xplained Ultra Evaluation Kit USER GUIDE. And I had mixed feelings after that.
Hardware wise, this is a great document. Software wise, it's not good.
Scoring
Product Performed to Expectations: | 10 | |
Specifications were sufficient to design with: | 10 | |
Demo Software was of good quality: | yes, but hard to find and apply | |
Demo was easy to use: | No | |
Support materials were available: | yes, but hard to find and apply | |
The price to performance ratio was good: | 10 | |
TotalScore: | hard to give, see review |
I've spent two months investigating the board, the available information, and the look and feel of the community around it.
First a bit of background on my skills: I know electronics, microcontrollers and processors, have unix/linux, rtos and C++ experience, can program several ARM flavors. Know build systems, IDEs and tool chains
I have no prior experience with developing for high performance embedded systems like this SAMA5D4. I have difficulties getting started with datasheets only. I need working examples and how-to guides to step on the learning curve. I have difficulties getting started if I don't have a working example that I can refer to.
All further comments have to be seen with that background in mind. |
The ARM Processor, Peripherals and the Board
I only have one word for that: impressive. This is a very decent offering, able to run high demanding designs, bare metal and on an OS
Lots of processing power, a great platform. The processor by itself has a wealth of peripherals. I'm not going to enumerate them here; please refer to http://www.atmel.com/products/microcontrollers/arm/sama5.aspx#SAMA5D4_series
And they worked perfectly, as expected.
Same for the board. Once loaded with a decent Linux distro, it was straightforward to connect to it and use it. Small minus points for shipping it with a distro that doesn't support SSH.
I've looked at the suggested applications for this processor Atmel's website. and I'm confident that this processor has all the specs to live up to that.
Operating System Support
That's just great. The board can run Android, Window and Linux.
I've only tried Linux, but seen evidence of the other two on the web.
The complexity of the processor and the peripherals imply that an OS is needed for all but the most hardcore situations.
Being able to run at least three of them shows that Atmel did it right here.
Getting Started and Developing for the Processor and Board
I'm going to skip all the ranting here (also deleted the comment on first step: install Atmel Studio 6x).
Just this: if you follow the steps of the leaflet in the board and the Getting Started links on Atmel's website, you'll end up frustrated.
Nothing there will lead you to a working example. Full Stop. Unless you're already an expert.
I have a hard time to explain how difficult it was for me to get a tool chain set up, examples compiled, and get them loaded and executed on the board.
In hindsight, all I did was already documented on the web. Nothing I did successfully hasn't been done by someone else before. But the Getting Started documents and links do their very best to send you astray.
Google doesn't help the starter either. It returns results, but it takes an experienced eye to filter wrong advice from right advice. My calendar tiched more than 60 days before I was capable of seeing that difference.
My computer has approximately 1GB of needlessly installed software and non-working examples.
Atmel, please, get a decent learning trail out, and use that as the starting point in your leaflet.
element14, please convince road test and design challenge suppliers to have decent starter doco out. It avoids counterproductive campaigns.
I challenge anyone to just follow the starting points from either Atmel's site or the Getting Started Guide and end up with a working example.
Post success in the comments here and I'll revise my opinion.
Demos
Just look at peteroakes's videos and stand in awe. The processor can handle a lot.
And the demos show that. Just look at the video streaming capabilities, and appreciate the processor power needed to do that.
On the other hand, you'd better have the exact right display and touch screen, or the comments from the section above apply.
Similarly, I was not able to load and run the bare metal examples that are posted on the Atmel SAMA5D4 landing page on my own.
An ascii readme with instructions from source to 'running the executable on the board' would have taken less than 2 KB. It's doable. Someone on the support forum explained it to me in 8 steps;
Community Support
I have a very mixed feeling here. There is the AT91 forum. There's the Linux, Android and Windows sub-area on AT91.
And there's loads of great info available over there.
Now that I understand more on the subject, I'm able to find and appreciate the wealth of info. As a starter I was 100% lost.
I submitted a post on the AT91 forum, and I was helped excellently. On the other hand I also saw posts of other starters that turned ugly - one of the reasons why I waited long to ask for advice there.
For an advanced area like programming such an advanced embedded processor (bare metal or linux), it would be great if the experts would recognize the difficulties that a starter can have.
It 'll be those starters that will be advocates in favor of the product later.
added 20 May
I held of posting to at91.com for a long time, because oft the tone used.
Once I started posting a few days ago, I set a counter for myself on how long it would take for blue_z to come in with a you should have.
added May 27
There's new content posted on AT91.com. For instance, the ADC Driver page now has a very good explanation and instructions:
IioAdcDriver < Linux4SAM < TWiki
Conspiracy Theory
I think that Atmel has training documents for this board. I've seen one for the SAMA5D3. It was great (really!), but only after a road tester got in touch with a representative from Atmel, it was released to the community.
My suspicion says that there's a similar document for this board. If Atmel uses this board to train customers, there has to be a similar document.
I have a same comment on the demos. They'll do great on faires. For the evaluation user it isn't evident to find them and to load them. Peter's videos come to the rescue.
Not publishing such a document so that road testers and design challengers can use it, is the reason why I called Atmel reckless in a previous comment.
I think that I would have been able to do what I did after 2 months on day 1, if only there was a guide to take the humble beginner by the hand.
Other companies can do that for similar complex subjects.
This board is so great. And several of the reviewers on element14 have made innovative designs with lesser controllers.
I can only dream of what all those motivated road testers and reviewers would have created if they would have had a good tutorial to get that blue LED blinking.
Summary
It's a great processor, and a board with loads of possibilities. Loads of options. Nice PCB design. Very high quality.
Never ever have I experienced a bug. And as electronics aficionado, I stand in awe when I hold it it my hands.
Should you use the SAMA5D4:? Yes, definitely it is an ARM that lives up to its specs, and it sports great peripherals.
Should you use the Xplained Ultra board? Yes, if you already have skills in this segment or if you are very stubborn. No if this is your entry point to learn embedded linux.
It's a great development kit, and it would excel in its segment if the public training materials would guide you to a repeatable path to wisdom.
Atmel is playing in a market with loads of competition here. There are several other suppliers that have ARM offerings in this segment. Silicon wise, Atmel is up there with the biggest. Community wise, there's a work to be done.
tl;dr
Great processor, great board. With a reasonably good document I would have been on day 2 where I am now after 60 days. Think twice before posting on the at91.com forum.
Top Comments