Log in

View Full Version : Mini-ITX, Fanless, 1.2GHz, $65


neutrino15
09-02-2008, 01:56
I was doing some research on co-processors for our robot this year. We plan to have a pretty sweet point-based curve drive system (finally!) We have not run into any problem yet with the RC (currently we work in mili-everythings and use a trig lookup table). We try to plan ahead, so now I am looking at the different ways that we can integrate coprocessors with the IFI RC.

Many people on CD seem to use the Gumstix board. I looked at it, considered it, and said "woah, $200 for 400MHz!?:( "

I then started searching for deals on Micro-ITX boards (fanless ones!) I came across this:
http://www.intel.com/products/motherboard/D201GLY2/index.htm
This particular model is out of stock... EVERYWHERE.. However, you can buy a seperate mobo and cpu (1.6ghz) for around $30 more.


It's a 1.2GHz Fanless, Low Powered (35W cpu) Mini-ITX mobo/cpu combo with usb, serial, networking, the works.. Seems to run off of 12Vdc (i tried to decipher the spec PDF.) It really looks cool.. Plug in a Compact-Flash to ATA adapter.. Get $11 of ram from newegg... And you have a motionless coproc for under $100..!:D


However, if we decide that we need a co-proc like this, what are the caveats? Why do people use gumstix when this looks so much better/cheaper? Also, to those with experience with embedded computers, what operating system should we use? I am greatly bias towards linux/unix, but which distro would give me the fastest boot times and the least amount of overhead?

Akash Rastogi
09-02-2008, 03:40
I've used Debian and it is seriously fast even when i ran it on a 500mhz PIII.
I believe Gentoo is also wicked fast compared to the other distro's. I haven't fooled around with many though.

If you research it a little you will find that a lot of the boot speed and the functionality of each distro is based on what windows manager you're using and what programs you actually keep installed at start-up. There's this one manager called Enlightenment (http://www.enlightenment.org/) that many people use with Debian. Then again..I am a little bias because that's all I use on a few of my "old" computers:rolleyes: . Good luck though.

PS.-Might want to change your thread title so nobody thinks you're selling something.;)

neutrino15
09-02-2008, 04:01
What happens if I don't even use a window manager? I am comfortable enough to just use the command line, and during competition the robot certainly does not need one!
As for apps on startup, the only thing we would need is the serial driver..

It should be possible to just have it start up without a window-manager, maybe log in, start up only the serial driver, and execute a compiled C app. Maybe we could make it boot like that in "competition mode" Then maybe if you insert a usb drive with a certain script on it, the machine would boot normally.. (gets ideas!)


As for the title, how does one change it?

vivek16
09-02-2008, 09:31
edit your old post and change the topic I think?

cool stuff.

-Vivek

neutrino15
09-02-2008, 15:49
I had to click "Go Advanced"
W/e

I also seriously wonder why people are freaking out over those new cheap linux boxes (around $250) when you can build something like this for even less & with more power.

I might just buy this as a home server, and hook it up to the bot offseason. I'll post how it goes if I ever do it!

As for my OS question, is it possible?

It should be possible to just have it start up without a window-manager, maybe log in, start up only the serial driver, and execute a compiled C app. Maybe we could make it boot like that in "competition mode" Then maybe if you insert a usb drive with a certain script on it, the machine would boot normally..

3dude_2231
09-02-2008, 15:57
have no experience with it, yet:

what would it be used for?
do you really need such a high clock speed?

if I'm not mistaken, the connection bewtween the main processor and the
co-processor should be only digital/PWM/analog, am I wrong?

neutrino15
09-02-2008, 16:23
I know that the clock is a bit overkill, but if it is CHEAPER than the slower options... Why not?

Also, people usually use the prog serial port on the RC to communicate with the coprocessor, although if you bought a USB-IO device you could use the PWMS as well.

I am not sure, however, if you can use the TTL port with the TTL adapter. This would leave the prog port free.. Ill try it if I ever get the coproc.

3dude_2231
09-02-2008, 16:33
overkill?
it's more like killing a fly with tank

even though, you won't catch me disagreeing with the fact that it's simply cool =]

good luck

neutrino15
10-02-2008, 00:51
Yeah, but in this case the tank costs less than the fly-swatter.

Leav
10-02-2008, 11:04
but a fly swatter is easier to carry around than a tank! :)

(if anyone is still following the analogy....)

-Leav

p.s.
if you read that out of context it is pretty funny....

Mr. Lim
10-02-2008, 11:05
It should be possible to just have it start up without a window-manager, maybe log in, start up only the serial driver, and execute a compiled C app. Maybe we could make it boot like that in "competition mode" Then maybe if you insert a usb drive with a certain script on it, the machine would boot normally.. (gets ideas!)


I feel old-school.

But maybe take a look at http://www.freedos.org/

It'll give you a DOS command prompt, and you can tweak your AUTOEXEC.BAT to execute your app. I'm not sure about FreeDOS' USB support, but if it there, you can probably write a script in your AUTOEXEC that'll check for an additional mounted drive and run a script from there instead.

Question though, the board doesn't have any harddrive storage right? Would you hook up a SATA drive, or a CF solid state?

OR just boot off USB keys?

If you do the latter, you'd just plug in different USB keys depending on which "mode" you wanted, right?

neutrino15
10-02-2008, 12:00
I was planning on using a Compact Flash to IDE adapter. It should give me more throughput than a USB key, right? And they would be swappable as well.. Maybe I'll put the base system (freedos, unix equivelant) on the Compact Flash, and the application itself on the USB thumb drive.. This way, the thumb drive would not even need to have a bootable partition.. It would just need a directory in there called like "FRC_2007" which the coproc would look in..
Does anybody know of a Unix equivalent to freedos? Something where I could still easily call up a serial port, or look into the filesystem, but not have a whole window manager open?

Interesting stuff. I may have to test this on a VM before I actually buy a box, but this just looks pretty sweet.

And to add to the tank analogy: Yes, the tank is heavier, but only by 2-3 lbs at most. Our robot is underweight as is. Assuming we build a lightweight case (or buy a lightweight enclosure), it should be doable. I would personally rather us have a multifunction amazingly fast piece of machinery than a fly swatter ;)

Foster
10-02-2008, 12:29
I've been looking at these two boards:

http://www.icoptech.com/products_detail.asp?ProductID=277
http://www.icoptech.com/products_detail.asp?ProductID=300
(http://www.icoptech.com/products_detail.asp?ProductID=300)

The big plus on these two boards is they have a GPIO that can be used for external devices.

I'd like to second the idea of using FreeDOS. It's small and there are a lot of tools that will work with it. It's also easy to write drivers, which will be a plus for the external devices you are trying to add.

You said you were looking for a Unix alternative, you can look at Minix (http://www.minix3.org/). There are ports to X86 boards. It's also small and there have been ports of a number of tools to it.

neutrino15
10-02-2008, 12:40
I could not find a price for that. It looks really cool for its pinout array. How much does that cost? The USB IO adapters are all around $100. If this is around $150, it might just be a great deal. Especially since they only need 5V@360mA. And what about just installing debian or something and disabling the window manager? Then editing the bashrc or whatever it uses to run a program on the flash drive. Then we could be "open source!!"

neutrino15
10-02-2008, 17:05
I am currently downloading Gentoo and FreeDos to run some tests with on a virtual machine.

---20 minutes later---

FreeDos boots in like, 2 seconds..
Gentoo boots in 40 seconds..

I kinda predicted this. Afterall, Gentoo is much larger than DOS is. Does anybody know of a barebones unix OS!?

Russ Beavis
10-02-2008, 19:48
http://www.embeddedarm.com/epc/ts7400-spec-h.htm

Technologic Systems has a few really fun, low-cost, fast-boot options to consider.

Russ

Qbranch
10-02-2008, 22:32
I'd like to second the idea of using FreeDOS. It's small and there are a lot of tools that will work with it. It's also easy to write drivers, which will be a plus for the external devices you are trying to add.

I was pretty well uninterested (I did not grow up around Unix/Linux) until someone mentioned DOS. Duh! Should have remembered DOS was an option.

Hmm... 1.5GHz... just DOS and you in the computer... wow that's enough to make you sweat cold. :ahh:

Though... on second thought... you're missing a lot of stuff... like interrupts, hardware timers, CCPs, ADCs, etc... maybe it isn't fantastic as I originally thought.

On second thought, i think I'll stick with my tiDSP board when it comes to doing something nuts with motion control/signal processing/HDMI HDCP stripping/etc.

I guess you all are planning on just slaving the FIRST controller's outputs to the computer via RS-232.

-q

Foster
11-02-2008, 09:13
Though... on second thought... you're missing a lot of stuff... like interrupts, hardware timers, CCPs, ADCs, etc... maybe it isn't fantastic as I originally thought.

There is nothing stopping you from writing hardware drivers for FreeDOS.

Later on in my note I suggested looking at Minix at http://www.minix3.org/. Minix is a small Unix like operating system that would be slightly easier to write drivers for.

In any case the MiniITX board he's got is still a 386 PC at heart, so all of the hardware that we use (Like ADC's and additional timers) isn't really there. They are going to be off board and some software drivers will need to be written. Lots of companies supply Linux drivers, which is why Linux may be the best default choice.

For the boards I linked to, I'm looking at using FreeDOS. I developed DOS drivers, so it is an environment I'm used to. If you look at the FreeDOS source the interrupt handler is going to be able to manage the extra timers with some ease and pass them off to the program.

Granted in FreeDOS you don't really have multitheading / multitasking. If you want that, then either something like Minux, Linux or BSD/Solarias may be a better choice. For real time then FreeRTOS is a good place to start.

On the other hand, it's a 1.5 Ghz machine. So there are cycles to burn.

Cuog
11-02-2008, 12:29
If you don't mind doing some learning and tweaking, you can also google "Linux From Scratch" and build your own highly stripped down linux system so that it only boots and has installed the minimal components that you need on startup(most likely being the kernel and your robot control code, maybe an ssh daemon for easy remote programming along with a few misc things that might be important)

Bigcheese
11-02-2008, 17:57
http://packages.ubuntu.com/feisty/metapackages/ubuntu-minimal.html
44kB

Also, we are currently using a micro-ATX board with an AMD X2 4800+, 1gb of ram and a 8gb solid state drive. All for $200. (for advanced video processing).

And last, boot time doesn't matter. As I understand it the power to the bot is turned on before the match and only the PWM/Relay outputs are disabled.

pogenwurst
12-02-2008, 12:32
http://packages.ubuntu.com/feisty/metapackages/ubuntu-minimal.html
44kB

That's not 44KB for a minimal system; that's 44KB for a metapackage of a minimal system -- that is, a list of what ought to be in a minimal Ubuntu installation.

Mr. Lim
12-02-2008, 13:01
I second Minix as well. I remember booting it on an old IBM XT clone way back when... off a 5 1/4" Floppy.

:D

Between FreeDOS and Minix, you'll be able to get to where you need to go.

Robostang 548
12-02-2008, 16:11
Out team is using a mini-itx board this year as an offboard coprocessor. We tried the gumstix thing but acidentaly destroyed it. Our boot time is about 15 seconds running the base install of debian. We built our code off of the Adambot's coprocessor sollution that was presented at the Novi, MI kickoff in 2007. So far we've had no problems with it other then with the 12vdc to 12vdc convertor one of our mentors brought in to keep the power for it running clean. I must say though, while some people call this overkill, this thing is sweet because we can do all the trig an floating point math we want and we are taking full advantage of it.

-Don

Bigcheese
12-02-2008, 18:16
That's not 44KB for a minimal system; that's 44KB for a metapackage of a minimal system -- that is, a list of what ought to be in a minimal Ubuntu installation.

True, but the Ubuntu Minimal CD is still 9.1mb :p.

neutrino15
16-02-2008, 19:41
Thanks for all of the suggestions. I am downloading minix and ubuntu minimal as I type this. The size of the OS doesn't really matter (It will boot off of a CF card, and they are fairly cheap), its all about speed. If a large OS can boot faster, and maybe not load unnecessary parts/load some parts after it executes my code, it would work.

multithreading isn't really an issue for me at this point in time. If I ever need it, I could always just download linux!

As time moves on, it looks like we won't be having this on our 2008 bot. Even for 2009 (if the RC upgrades are not spectacular), our new drive system (based on bezier curves) is proving to use up much less resources than we once thought. Our computer simulation (in flash) uses nothing more than multiplication, subtraction, and division. Everything can be scaled up to integers, and we probably won't need to rely on that much trig.

Well, this is fascinating nonetheless, and I will continue to try out OSs under virtualization!

EDIT: this is probably a better ubuntu mini link
https://help.ubuntu.com/community/Installation/MinimalCD