Beginners Questions

Discussion in 'General Discussion' started by codec, Mar 9, 2014.

  1. codec

    codec New Member

    Joined:
    Mar 9, 2014
    Messages:
    2
    Likes Received:
    0
    Hi,

    I am considering buying an UDOO but I am not sure about what it can/can't do.

    -Does the Arduino compilation step can be done in a command line manner ? I'm not a fan of the Arduino IDE and this would allow me to do compilation via ssh without having to install the (patched) IDE on a remote computer.

    -Can the i.MX 6 can use all of the IOs in the same manner that the SAM3X8E does? I'm quite sure it does but then I am wondering what are the pro of cons of using one over another. In my point of view I see :

    For the i.MX 6:
    Pros :
    -You can do extensive CPU computation and IOs in the same place.
    -Could use the language of your choice if it provide a GPIO API.
    Cons :
    -Not realtime
    -Maybe less compatible with Arduino shield you could put on UDOO (I'm not sure about that one)

    For the SAM3X8E
    Pros:
    -Realtime
    -Should be compatible with all the Arduino stuff (hardware and software so potentially huge resources available)
    Cons:
    -CPU slower by probably many order of magnitude.
    -Logic of an application should be split between the 2 processors for the most case. May have to "master" 2 (or more) programming languages.

    Are you agree ? Do you see others cases ?

    -Does the UDOO is a great card for robotics ? I think it is but I have not seen so many feedback from people trying to do robotics with it and I will gladly listen to people doing experimentation in this area. Do you have link to projects of this kind with this card ?

    Cheers,

    codec
     
  2. mkopack

    mkopack Member

    Joined:
    Jun 14, 2013
    Messages:
    451
    Likes Received:
    21
    I'll try to answer what I can quickly -

    I don't know about doing the compile from command line, but I would assume so (but you DO have to install the updated/patched version and/or the Bossac patch to the Arduino tools on another machine if you plan to do the compile and upload from another machine).

    The Pros and Cons you listed seem pretty right to me... Keep in mind that depending on what you're doing it might make sense to use the SAM3X for the low level I/O / Control, and use the iMX6 in Linux for higher-level processing of data (like more intensive AI work, Computer vision work, etc.) The shield question - it would probably depend a lot upon the shield and how tight the timings for any functions it needs have to be as to whether it's usable from the iMX6 side or not.

    That being said, yes, the Udoo should be great for Robotics work - you just need to figure out how to use it for your needs. "Robotics" encompasses a pretty broad spectrum of stuff. I see it like this - Let's say I want to run ROS (Robot OS) on the iMx6 side on Linux, and on the Sam3X side, I do all my low level sensing / motor controlling, and let them interact over serial. That's a very normal setup and should be quite easily doable. If you're looking for more low-level "hobby" type robotics, then it might be a bit overkill vs a cheap Arduino. Just depends on what you're looking to achieve.

    Once my last Grad school class finishes up (in 2 weeks) I plan on starting to do some Robotics projects centered around the Udoo...
     
  3. codec

    codec New Member

    Joined:
    Mar 9, 2014
    Messages:
    2
    Likes Received:
    0
    Thanks for your answer. I just want to come back on some point :

    1- About the remote programming : In my point on view there is no need to install special software (even the arduino IDE) on the remote computer. You just send your source code files to the UDOO over the network thanks to the Wifi dongle (either manually or in a more managed fashion a with a revision control software) and do the compilation from ssh. This is a big advantage because you don't have to go the repetitive task to plug the card and/or start software to update it with your new revisions as long as the card is powered and connected to the Wifi. Please correct me if I am wrong.

    2- About the robotic feedback : I have nothing precise in mind for now and I am no expert in this field that the reason why I search feedback from other people. I am more a high-level kind of guy so for a start I believe it's better to keep things simple. But I expect the UDOO to be a "all-in-one" card, meaning that it could handle bigger project too. That the reason I will wait a bit to see people doing robotic projects with it to test it a bit more and see if it goes smoothly or they find hard corner to deal with. For example, I wonder how much heat the card make in an heavy processing situation ? How long you could expect the battery to last under different situation and so on. So if you have links to people doing robotics with it please send it to me. I will gladly follow your experiments too ;)
     
  4. mkopack

    mkopack Member

    Joined:
    Jun 14, 2013
    Messages:
    451
    Likes Received:
    21
    Regarding #1 - Kinda sorta..... The part you'd SSH into is the Linux side (the iMX6). It's just like any other Linux environment, with a command line. You CAN access the GPIO pins directly from that side by writing your code in whatever language (there's information on how to do this in the Getting Started Manual, look in the Downloads section on this site). Alternatively, you can SSH to the iMX6 Linux side, and then compile up standard Arduino code and have that pushed onto the Sam3 chip side (the Due side of the board). To do that you either have to run the Arduino compiler on the Udoo, or you can do it from another computer and hook up to the Udoo over a USB cable (just like you would to an Arduino Due). It sounds like you're looking to do the former, and that's fine. I just don't know how one goes about compiling the Arduino code from command line (I've always used the IDE). Worst case instead of SSH'ing in, you just set up VNC and VNC into it... But yes, once you get it compiling and pushing onto the Arduino side of the board everything just runs as long as it has power until you either reflash that side with a new program or whatever. It's really no different than working with a PC and Arduino board except that they're physically attached instead of hooked up over USB.
     
  5. rootScript

    rootScript Member

    Joined:
    Jan 11, 2014
    Messages:
    44
    Likes Received:
    0
    It may be more convenient to connect to the Due side via bluetooth. I use a Bluefruit EZ-Link hooked into the Udoo's Due pins, to communicate serial using RX/TX pins. You can do your coding/version control on whatever computer your wish and 'publish/push' the code to the Due side of the Udoo.
     

Share This Page