PDA

View Full Version : Shiny new toy: ODROID-U2



Xevel
06-17-2013, 02:25 PM
http://forums.trossenrobotics.com/gallery/files/4/7/9/2/odroid-u2.jpg


It just arrived today :)
The ODROID-U2, with an ARM Cortex A9 quad-core at 1.7Ghz and 2Gb RAM is what I hope will be the visual cortex of my next beast, that is currently intended to be a fun little MechWarfare quad (more on that in an undisclosed period of time). There might be a BeagleBone Black (that I will receive tomorrow ^^) in the same bot too, one can never have too many power hungry brains in a bot :p


Unfortunately I kind of forgot to put the power plug in the basket before checking out, and the power plug is smaller than anything I have around (inner(positive) diameter 0.8mm and outer(negative) diameter 2.5mm) so I haven't powered it yet. I'll put one in my next element14 order.

I chose the eMMC (16Gb) option for the "hard drive" since it seems to be a good way to get rid of the sluggishness of uSD cards (especially for small files). The eMMC module is, as the rest, extremely tiny :)

After removing the case / heat sink, I've been a little disappointed to see that the thermal pad did not have more than 60% of its surface in contact with the processor :/
The threaded metal insert soldered on the PCB are a nice touch, too bad one is not perfectly aligned (I suspect that's the reason why the pad did not make better contact, I'll correct that).
My feeling is that the gigantic heat sink is not really necessary, (the Galaxy Note doesn't have 200g of aluminum in it after all), I'll remove it and use the robot's chassis to dissipate the excess heat instead.

The eMMC has a little bit of foam double sided tape that you can use to secure it more firmly, nice attention to details. I'll keep the protective layer on until I'm sure I'm satisfied with the OS configuration.

And here is a little size comparison with some common other boards: Arduino UNO (top right), Pandaboard (bottom right), Raspberry Pi (bottom left).

http://forums.trossenrobotics.com/gallery/files/4/7/9/2/odroid-u2_comparision.jpg

I have no idea when I will have time to play with it, so many toys... but at least I have a specific idea about what I want this one to do, so do not fear, I will get to it :)

KevinO
06-17-2013, 02:48 PM
That is nice! BTW, how is USB2AX sales going? I getting ready to buy a couple more. :)

Xevel
06-17-2013, 03:35 PM
USB2AX are moving slowly... there is much to be said about making your own product, it's for sure an interesting experiment: lots of things do not work the way I expected it ^^ The price when you make something like that is simply not competitive, on such a product nobody can make any money, so it's not really interesting for distributors other than as a gateway to selling more stuff. A few have been sold on Seeedstudio, some have been sold to distributors who haven't put it in their catalog,... Not really what I expected!
You can always get some at the current distributors listed at http://xevelabs.com/ (http://xevelabs.com/doku.php)

KevinO
06-17-2013, 04:00 PM
I've used them on a few projects now. They are great. I'm half tempted to buy a few just so I have spares. (Not that I have had any fail.)

escott76
06-17-2013, 04:22 PM
I'm definitely looking towards getting one for future use. The USB2AX that is, but possibly an ODROID as well :)

jwatte
06-17-2013, 05:07 PM
With only 2 USB ports, how will you integrate WiFi, Webcam, and servo control? Using some other header for pushing a servo control signal out?

Xevel
06-17-2013, 06:49 PM
With only 2 USB ports, how will you integrate WiFi, Webcam, and servo control? Using some other header for pushing a servo control signal out?

It is not obvious at all since the last picture is taken with a (large!) Wifi dongle, but I might connect the ODROID-U2 with the rest of the robot... by ethernet (with an on-board wifi router, these things can be so small these days...). I don't have a definitive plan about that right now, too many unknown. If I finally decide that USB is the way to go, then I'll just add a hub like I have on Xachikoma, but I hope I can do without :)

In fact, I have some crazy plans for the hardware of the robot, I don't even rule out the possibility to modify the board(s) to fit better my needs(removing unused parts). Oh, and it is even possible that servos will have a little twist too... I can't say more now since it's very very much just an idea right now (i haven't even) started the CAD).

KurtEck
06-17-2013, 08:54 PM
Looks like a lot of nice toys to play with. I am tempted to order one as well, but so far I have resisted.

Kurt

KurtEck
06-18-2013, 06:12 PM
I broked down and ordered :oops: along with 16gb emmc, plus Wifi, Plus power, plus debug cable... Not sure yet what I will do with it, but could not resist.

Xevel
06-18-2013, 06:46 PM
Mouhahaha, another one has been contaminated ^^

BTW, I received my BBBk today, it's big next to the ODROID-U2... but it's also so flat next to it!
Damn giant USB+ethernet connector, I think I'll just remove it before putting the board in the robot, and either move the connectors at the end of a cable or just solder the peripheral on it, depending on how much available room I will have. It won't be fun though, there are numerous very small SMD chips (0603 to 0201) all around the connector's solder joints...

ezex
06-22-2013, 02:26 PM
great!
let us know about the progress on this boards, I like the modifications you mention on the Ethernet Port/USB .
what system are you able to run on it?

Xevel
06-22-2013, 06:15 PM
Well, I soldered hastily some wires to the power plug and applied 5V with a bench power supply.
It boots as expeted, though the messages on the debug port (with uses the same MOLEX connectors as the RX Dynamixels :p) are quite unusual for me... but I guess that's normal since it's the first time I run Android on a dev board.

Idleing, without the case, with (according to the log) 3 cores sleeping, it's consuming around 200mA and getting warm to the touch (maybe ~40°C with a room T° of 26°C). I'll put the heat sink back before any burn test :p

Let's play now!

KurtEck
06-27-2013, 04:30 PM
Mine arrived today! Several days ahead of Fedex estimated delivery date. Will try it out hopefully later today!

Kurt

KurtEck
06-27-2013, 07:45 PM
So far I have it booting up with the EMMC HDMI WIFI. It is currently running Android. The question I have for myself (and wonder what others are thinking). Should I try to continue with Android, or convert to linux... I think Ubuntu was also installed on the eMMC as well as Android, but not sure how to get to it. I more of less have 0 experience with Android (other then what little I did with previous phone).

So far I have not really found any documentation for much of anything. But should be fun!

Now back to hacking on other stuff..
Kurt

KurtEck
06-29-2013, 09:55 PM
To follow up on this. When I ordered the Odroid-U2, I thought it said that both Android and Ubuntu were installed on the Emmc. Well now the website says that Android is installed.

Their documentation for stuff is a bit light, but decided that I would probably be better off with some flavor of Linux installed on the machine, so thought I would try to live on the wild side. They now also have an official build of Debian Wheezy and thought that might be a good place to try.

So I used win32 disk imager to read the current contents of the 16gb emmC, by plugging it into the microSD adapter and the microSD adapter in an SD adapter...

I downloaded the tarball image for he linux and used 7zip file manager to extract the image file from it and I am about to use the Win32 disk imager to write the image out to the eMMC. hopefully it will boot after this!

Kurt

ezex
06-30-2013, 12:36 AM
Hi KurtE,
I don't if will work for something, but here are some link with that board and some Linaro/Linux Distro,
connecting PrimeSense
https://github.com/IDSCETHZurich/rapyuta-mapping/wiki

https://groups.google.com/forum/#!topic/ros-sig-embedded/U50tL0ViVjg

a (https://github.com/IDSCETHZurich/rapyuta-mapping/wiki)nd here is some other guide for ubuntu on this board http://www.linux.com/learn/tutorials/711478-how-to-run-linux-on-odroid-u2-a-monster-of-an-arm-machine .

Im still playing and getting around on the gumstix, no dead ends yet, I will keep posting.

cheers

PS: im getting tempted on the Odroid, after a small search and read about some good community support.

KurtEck
06-30-2013, 08:52 AM
I should probably start my own thread on this (and not hijak )

The Wheezy 7.1 booted up fine. The wifi adapter I purchased with the Odroid did not work at first. But on the main thread up at odroid forum: http://forum.odroid.com/viewtopic.php?f=9&t=1608 found others had same issue and was simply resolved by doing:
apt-get install firmware-realtek

I followed most of my notes for Raspberry Pi, and I downloaded all of the current code I have for the RPi/BBBk and it now all compiles (really quickly) on the Odroid. Will figure out what I want to do next with it. May have to see if I can borrow the Kinect from our XBox and see if that works with this... But also need to get back to other projects.

Kurt

Xevel
07-01-2013, 05:07 PM
Haha, you might hijack this thread in good consicence, since you are now its main contributor ;)
Haven't had too much time home these days to play with my board... maybe by the end of the week? I just got most of the parts of my new 3D printer (a Foldarap (http://reprap.org/wiki/FoldaRap), an awesome folding reprap that you can put in a backpack, created by a good friend :)), that's _still_ another source of distraction... and the tool I needed to start experimenting on many stuff for this project. I'm looking at many, many new topics for this bot: making servos, making motors, cameras, analog video, rubber casting, springs, airsoft guns, radio transmission, ... a lot of fun, but programming is a little less thrilling next to these ^^

KurtEck
07-06-2013, 05:01 PM
Thanks,

Well today I received my nice and small USB2AX THANKS!. so for the fun of it, I plugged it into the USB hub I have connected up to the ODROID-U2. I plugged it into a powered AX hub that I got in my last shipment from Trossen and did not have any spair servos sitting around, so I grabbed the PhantomX Arm and unplugged the one servo cable from the Arbotix board and plugged it into the powered hub.

I then downloaded the Dynamixel SDK from Robotis and grabbed the updated dxl_hal from your website. I then brought over the ax12.h and BioloidController files from the Arduino and adapted them to use the appropriate calls from the dynamixel library. I also then ported over my PhantomX_Arm sketch to the Linux makefile type build and I now have it that using the Commander I can control the ARM :)

In the end I will not being using this configuration, but instead will be moving it to probably the PhantomX Hexapod, but it is a reasonable test. In case anyone is interested, I updated my github Raspberry Pi project with all of this stuff...

Side note with the Odrioid. The power barrel connector is very temperamental. I just barely bump the board and it loses power. Need to figure out if it is the plug or solder joint and if there is a better way to get power to it.

Kurt

KevinO
07-06-2013, 07:48 PM
The USB2AX is great! I need to buy more. I suppose you don't need my sync_write function for it since you ported your own. :P

KurtEck
07-06-2013, 07:56 PM
Would not hurt to compare. I just did some quick copy of example code from http://support.robotis.com/en/software/dynamixel_sdk/usb2dynamixel/linux/gcc.htm

Also probably needs lots of testing. :o
Kurt

KurtEck
07-20-2013, 11:35 AM
Quick Update:
I have been playing around with an Asus Xtion Pro Live hooked up to the ODroid. I now have openNI compiling and running on it.

I found a lot of information up on the ODroid forum on how to do this (http://forum.odroid.com/viewtopic.php?f=8&p=12980#p12980)
I also posted some notes on that thread, about differences in what I needed to do. The OpenNI project directory structure has changed since the original posting. Also I did not want to have to download the whole doxygen to build the help files as that system is huge and I can simply download the prebuilt files. Also thanks to KevinO who has helped me along the way including a nice set of sample programs. That information is up on the PhantomX on a Raspberry Pi thread (http://forums.trossenrobotics.com/showthread.php?6040-PhantomX-controlled-by-a-Raspberry-Pi/page21 ).

Most of the sample programs have used OpenCV. I have tried building a program to use OpenGL, but the performance was not very good and Kevin you were right that it would not run over a VNC desktop.

The other programs run, but I am currently getting two messages:
Warning: USB events thread - failed to set priority. This might cause loss of data ...
XLib: extension "RANDR" missing on display ":1"

Note: The usb message I also get when I run the program over HDMI.

I did a quick search of RANDR and see lots of hits. Probably need to configure the VNCServer and/or client? Will check into this later.

Now, I need to go out and weed whack!

KevinO
07-20-2013, 12:14 PM
The other programs run, but I am currently getting two messages:
Warning: USB events thread - failed to set priority. This might cause loss of data ...

Note: The usb message I also get when I run the program over HDMI.



I know that warning! It's a tricky one. First, to verify this fix will work run the program as root. If the error goes away it is CAP_SYS_NICE issue. Take a look at the below thread on how to fix it.

https://www.ruby-forum.com/topic/133323

KurtEck
07-20-2013, 12:36 PM
Thanks Kevin,

Yep, running as root, does appear to make the error go away. So it looks like it is the CAP_SYS_NICE issue you mentioned.

Did you fix it on your machine by editing /etc/security/limits.conf?

if so did you do it by setting something like:
kevin hard nice -10

What priority? will look some more.

Thanks again

KevinO
07-20-2013, 01:57 PM
Something like that. The bot is in the closet so I can't check. Here is a snipit from the documentation.

Linux: The device driver contains a thread for reading from the USB device. This thread should have high priority in order to function correctly. Each process using the device driver should have the CAP_SYS_NICE capability in order to raise thread priority. Failing to have that capability, will cause a failure in setting priority, consequently causing loss of data.

jwatte
07-20-2013, 06:58 PM
FWIW, I run my robot code as root. It's not like it's a multi-user system where something else will be impacted if the robot code does something bad :-)

Also, the loss of real-time priority for the USB threads is likely only a problem if you have close to 100% CPU utilization. If you're running close to idle, there will likely be time enough for all tasks without prioritizing some over others.

Xevel
07-21-2013, 10:21 PM
Ok, got tired of that giant Ethernet+2 USB connector.

http://forums.trossenrobotics.com/gallery/files/4/7/9/2/odroid-u2_connectorless.jpg

http://forums.trossenrobotics.com/gallery/files/4/7/9/2/2013-07-22_05.02.02.jpg

I also removed the fan pins and I was going for the 3.5mm audio jack when my desoldering pump died :(
That lead-free solder on the ground planes is just a pain in the a**, had to crank up the heat like crazy to get only most of it out >_>

Also, I received a power adapter and as KurtE previously mentioned, it is kind of unreliable. I'll just use cables soldered to its pins like I did before then :/

jwatte
07-21-2013, 11:51 PM
So... how does it talk to the rest of the world?

Xevel
07-22-2013, 12:18 AM
I'll just solder a hub or directly the devices on the USB ports. Or put very small connectors if i really feel like it.
Full size connectors are so overrated.

jwatte
07-22-2013, 01:52 PM
Agreed; for small things, OTG ports seems like the way to go. I wish there were stacked versions of those :-)

KurtEck
08-01-2013, 05:03 PM
Looks like Hardkernel is comming out with some new versions of the X boards. Now with 8 cores, USB 3, ...
http://www.hardkernel.com/renewal_2011/products/prdt_info.php?g_code=G137510300620

Xevel
08-01-2013, 06:02 PM
Wow. That's impressive. First batch expected for Sept 10.

I just ordered a second U2, but until they release a smaller version of the new one I won't even be mad :D

Xevel
11-26-2013, 07:58 PM
Second ODROID-U2 skinned too, this time much less violently. The connectors are intact, as well as all the pads, so if needed I can just re-solder them :) It's been a good desoldering exercise (for contrast, the first one saw the painful death of all its connectors in the removal process).


Anyway, It now weights 12g (compared to the original 34g), and will take its place as the second brain of my MW bot... The first brain being a Beaglebone black.
For the heat sink, I will use some old copper to create a heat pipe that will go to the chassis, and probably add a fan on top of that.

Both will talk through Ethernet, via a TL-WR710N (http://wiki.openwrt.org/toh/tp-link/tl-wr710n) wifi router/Eternet switch that will see some pretty important modifications too (remove mains power supply, remove connectors, cut the board to a smaller size). It will act as a WiFi AP when I'm traveling, and can also be made to connect to another AP as a client if needed.
Or maybe I'll put a full on Ethernet switch to be able to have a cable for Internet when I need it, not sure. Anyway that's for another thread.

jwatte
11-26-2013, 08:08 PM
What servos are carrying all this goodness?

Xevel
11-26-2013, 08:18 PM
Not sure yet.

I bought some of Tyb's RX-28 that I might mod a lot (replace the electronics, do unspeakable things to the case...), and add some AX-18... or go the full-custom route. I have some pretty silly ideas for this robot, ideas that could make it awefully awesome or just not work, depending on the level of insanity I can unleash.

jwatte
11-27-2013, 01:55 PM
I was going to say something about crazy French engineers, but then I realized that, objectively speaking, I'm probably crazy, too. So, nevermind.

Is the new Odroid really 8-core? It says "quad core" on the spec sheet. Or I'm reading the wrong thing.

Xevel
11-27-2013, 02:38 PM
I was going to say something about crazy French engineers, but then I realized that, objectively speaking, I'm probably crazy, too. So, nevermind.

Oh how I wish it was a French thing... I'm kind of lonely on this part of the world :/



Is the new Odroid really 8-core? It says "quad core" on the spec sheet. Or I'm reading the wrong thing.

It's kind of both it seems: http://en.wikipedia.org/wiki/ARM_big.LITTLE
Strange stuff.

What i'm sure of is that I have no regret, the ODROID-XU / XU LITE are too big, and the U2 will probably have more horsepower than I will need, even with multithreaded computer vision.

KurtEck
11-28-2013, 10:19 AM
I need to get back to playing with my U2. It is a great CPU. May need to make some similar modifications, although I probably won't go as far. Mainly I need to redo the power connections as their connector does not work well at all. With my WallWart that I purchased from them, I have to jiggle it around and get to some wierd angle to have it make contact. And then if I touch anything, it looses power momentarily and I reboots...

May work with this one again on the PhantomX once I get the other stuff done.

Kurt

KurtEck
12-25-2013, 08:47 AM
I was thinking about actually mounting the U2 on one of my Robots, but I think instead I will order a U3(http://hardkernel.com/main/products/prdt_info.php), which looks like it will be a lot easier to mount. They won't start shipping until next month some time, but like some of the changes. Things like the heatsink is not so big, plug 3 USB, plus a plug for audio, plus may want to test out the IO board.

Xevel
12-25-2013, 11:10 AM
Nice alternative to the cubic-shaped U2 indeed!
I'm still hoping to find some time to mount mine (completely flattened without the connectors), I will use it in a BBBk/tp-wr702/U2 sandwich that will be just a little bit thicker than a BBBk+proto cape :D