Jump to content


i.MX353 arm11 based flight computer interfacing with CC


  • Please log in to reply
38 replies to this topic

#1 Corvus Corax

Corvus Corax

    Master of Fixed Wing Flight Control

  • Administrators
  • 527 posts
  • LocationStuttgart, Germany
  • Country: flag of Germany Germany


Posted 11 November 2011 - 03:23 PM

I got myself one of these:

http://www.ic-board....-MX353-OEM.html
Posted Image

Its a system on a chip 532 MHz AMR11 with 256MB DDR2 RAM - running linux - the board is roghly the same size as CC and weights only 7 gram. Perfect any powerful on-board number high level computation tasks. (It could run the GCS if it wanted)

It interfaces with 4 50-pin Hirose connectors which unfortunately do not interface with anything we have directly, so it needs a breakout board, IC-board offers a variety of dev-boards which are nice for development, but too big and way too heavy for anything airborn. Also needs power supply and stuff in a way compatible with OP/CC

So I designed and built my own - interfaces with CC/OP-PRO via USB. (The mx353 has an inbuilt host controller)  and also features some serial uart's for its own IO, and an on-board micro-SD card for mass storage:

Schematics: http://cybertrench.c...b/mainboard.sch
Posted Image
I used as little SMD components as possible. The big through-components have the advantage of spanning significant board area which helps routing more on the front layer:
http://cybertrench.c...b/mainboard.brd
Posted Image

The guys at http://www.shackspace.de (a hacker space in Stuttgart) have an ink-jet printer capable of printing acid resistant ink directly on copper. I used that to print and edge this little baby
Posted Image
Soldering those 200 tiny pins was a PITA:
Posted Image
But it was worth it:
Posted Image

Since I had almost no things on the back, I skipped the back layer and used bridges/wires instead
Posted Image

And it works!!!!
Posted Image

#2 Kenn Sebesta

Kenn Sebesta

    Controls Master!

  • Members
  • PipPipPip
  • 896 posts
  • Country: flag of Luxembourg Luxembourg


Posted 11 November 2011 - 03:35 PM

1) Bravo!
2) What are the relative advantages/disadvantages of this vs. a Gumstix?

#3 Corvus Corax

Corvus Corax

    Master of Fixed Wing Flight Control

  • Administrators
  • 527 posts
  • LocationStuttgart, Germany
  • Country: flag of Germany Germany


Posted 11 November 2011 - 03:40 PM

Overall weight of the board - including CPU daughterboard and USB cable is 35.7 g
Board dimensions are 65x65x20 mm

#4 Corvus Corax

Corvus Corax

    Master of Fixed Wing Flight Control

  • Administrators
  • 527 posts
  • LocationStuttgart, Germany
  • Country: flag of Germany Germany


Posted 11 November 2011 - 03:54 PM

I think its roughly comparable. At the time I started it had more CPU power than the verdex gumstix available at that time.
Once OP has its own gumstix connector I would go for the gumstix, but the old beta board doesn't.

Both gumstix and ic-board provide a range of cpu boards, which do overlap in capabilities I think. I'd have to compare data sheets and available connectors in detail to tell you the exact con and pro's of each.

#5 dankers

dankers

    Janitor

  • Administrators
  • 5124 posts
  • Country: flag of Australia Australia


Posted 11 November 2011 - 04:20 PM

Damn Corvus you is impressive!

#6 Reddog

Reddog

    UI Manager

  • Members
  • PipPipPip
  • 1200 posts
  • Country: flag of Australia Australia


Posted 12 November 2011 - 06:44 AM

Do you regularly wear a ninja outfit? If not you should!

#7 Berkely

Berkely

    Core Team

  • Core Team
  • PipPipPip
  • 615 posts
  • Country: flag of Flemish Belgium Flemish Belgium


Posted 12 November 2011 - 12:41 PM

Every time you pop up with something amazing :) . great work!

#8 dankers

dankers

    Janitor

  • Administrators
  • 5124 posts
  • Country: flag of Australia Australia


Posted 12 November 2011 - 03:12 PM

View PostReddog, on 12 November 2011 - 06:44 AM, said:

Do you regularly wear a ninja outfit? If not you should!

I can confirm he does. You know something big is happening when he is quiet for a while.

#9 Corvus Corax

Corvus Corax

    Master of Fixed Wing Flight Control

  • Administrators
  • 527 posts
  • LocationStuttgart, Germany
  • Country: flag of Germany Germany


Posted 21 November 2011 - 09:43 PM

lol - are all crows ninjas then? ;)

#10 dankers

dankers

    Janitor

  • Administrators
  • 5124 posts
  • Country: flag of Australia Australia


Posted 21 November 2011 - 11:21 PM

No, only the best ones.

#11 chris1seto

chris1seto

    Advanced Member

  • Members
  • PipPipPip
  • 82 posts
  • LocationRolla, MO
  • Country: flag of United States United States


Posted 21 November 2011 - 11:48 PM

If direct flight control is possible over that link, think of the possibilities for things like flying machine vision and very advanced navigation...

EDIT: Also, I wonder if it might be a good idea to make a similar PCB, only some more IO broken out, and have it done through some place like BatchPCB. Assembly would not be difficult with a reflow oven and a solder paste stencil.

Edited by chris1seto, 21 November 2011 - 11:49 PM.


#12 dankers

dankers

    Janitor

  • Administrators
  • 5124 posts
  • Country: flag of Australia Australia


Posted 22 November 2011 - 09:03 AM

So the Revo has an External SPI, it doesn;t share the peripheral with anything else so can be used in master and slave mode, this is for connecting to things like the Overo Range, BeagleBone and other small platform for people wanting to do much more advanced things. The Overo has a carrier that we have made already and it was prefered because it has the camera header input for SLAM etc.

#13 Corvus Corax

Corvus Corax

    Master of Fixed Wing Flight Control

  • Administrators
  • 527 posts
  • LocationStuttgart, Germany
  • Country: flag of Germany Germany


Posted 22 November 2011 - 09:08 AM

@chrisseto
Sure, that would actually be the obvious way to go :)

I did all of it myself mostly for financial reasons (I'm pretty broke still) and to gain experience.
If you have a slightly bigger airplane / copter, that can carry both weight and size, you could also use one of the dev boards sold by the ic-board guys, like this:

http://www.ic-board....va-ADB1003.html
Posted Image
I didn't because it was too big for my plane, doesn't have an sdcard holder (though one could easily solder one onto it) and the two connectors on board - ethernet and USB end device ( B) are quite useless for the on-board purpose.

However they have the complete schematics for that board and most of their other dev boards for download on that page, which make excellent templates to create your own ;)
see:

http://www.ic-board....ungsboards.html

The eagle lib for the hirose connectors interfacing with their CPU's is here:
http://www.ic-board....guage=en&coID=9

with both of that, its quite easy to do this. I hadn't worked with eagle before at all, and still got a working board on first try ;)
(Though we did learn how to design and edge boards with through connections "by hand" in school, so I was not completely new to the process)

What dankers posts there is important though. With an Openpilot carrier for Overo already available, I might likely switch to one of those newer Gumstix once I got my hands on a revo :)

Advantage of the USB based solution on the other hand is, it can interface with CC as well. (But I think the Overo has an USB host as well, doesn't it?)

EDIT: here are some in flight logs I created during an OpenPilot (beta) stabilized flight :
http://wiki.openpilo...th on-board log

Edited by Corvus Corax, 22 November 2011 - 09:10 AM.


#14 Reddog

Reddog

    UI Manager

  • Members
  • PipPipPip
  • 1200 posts
  • Country: flag of Australia Australia


Posted 23 November 2011 - 12:03 AM

Is it worth it to create a logging board about the size of the Revo with an SD card slot and other peripherals that might be of use? I would like the option to log information but I don't have the ninja skills of Covus to get this sort of thing done and I suspect a fair few other people might be the same.

#15 metRo_

metRo_

    Key Member

  • Members
  • PipPipPip
  • 449 posts
  • LocationAmarante (Porto)
  • Country: flag of Portugal Portugal


Posted 23 November 2011 - 05:36 PM

Off-topic: Give a try to Kicad ;)
Feel free to correct my english, you can post or pm me, thanks :)

#16 peabody124

peabody124

    Crash Dummy

  • Administrators
  • 4110 posts
  • LocationHouston, TX
  • Country: flag of United States United States


Posted 23 November 2011 - 06:18 PM

Yay FOSS layout.  I did first ESC rev in gEDA.

#17 robert b

robert b

    Advanced Member

  • Members
  • PipPipPip
  • 100 posts
  • Locationschneisingen
  • Country: flag of Switzerland Switzerland

Posted 24 November 2011 - 07:31 AM

i would rather prefer a more powerfull flightcontroller board.
mainly doing navigation. i am still confident that a floating point unit is not of real benefit.
most can be done with integer math.
on the memory side i would opt for more ram :)
having SRTM elevation data in mind.
and some sort of mass storage is also a must.

linux adds some burdon to it - plus a learning curve which is way to steep for most of us.
me going for c++ with lua :)

dynamic upload of code ...  :)

robert

Edited by robert b, 24 November 2011 - 07:33 AM.


#18 dankers

dankers

    Janitor

  • Administrators
  • 5124 posts
  • Country: flag of Australia Australia


Posted 24 November 2011 - 11:34 AM

View Postrobert b, on 24 November 2011 - 07:31 AM, said:

i am still confident that a floating point unit is not of real benefit.

Is this serious?

#19 robert b

robert b

    Advanced Member

  • Members
  • PipPipPip
  • 100 posts
  • Locationschneisingen
  • Country: flag of Switzerland Switzerland

Posted 24 November 2011 - 11:57 AM

in front of me i have a cortex m4.
i will do some timing using seb madgwick's sensor fusion code.
i have seb's code flying nicely: http://www.youtube.c...u/1/67io9AkXjZM
standard diydrones hw - a stupid 8 bitter running at 16 mhz :)
ever looked at the synthetic code handling uint32_t and floats?
from the technical point of view i can nearly do everything correct.
and doing so - the result is nice.

did you do ever do an analysis what performance benefits you get from a floating point unit?
if not, are you serious?

#20 Kenn Sebesta

Kenn Sebesta

    Controls Master!

  • Members
  • PipPipPip
  • 896 posts
  • Country: flag of Luxembourg Luxembourg


Posted 24 November 2011 - 12:47 PM

View Postdankers, on 24 November 2011 - 11:34 AM, said:

Is this serious?

From a perspective of raw performance, that's probably a fair claim. However, from the perspective of actually getting things done, quickly, right, the first time, without bugs, the FPU is an incredible boon.