Mini-ITX, Fanless, 1.2GHz, $65

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!?:frowning: "

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…!:smiley:

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?

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 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.:wink:

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?

edit your old post and change the topic I think?

cool stuff.

-Vivek

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…

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?

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.

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

Yeah, but in this case the tank costs less than the fly-swatter.

but a fly swatter is easier to carry around than a tank! :slight_smile:

(if anyone is still following the analogy…)

-Leav

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

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?

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 :wink:

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

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. There are ports to X86 boards. It’s also small and there have been ports of a number of tools to it.

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!!ā€

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!?

http://www.embeddedarm.com/epc/ts7400-spec-h.htm

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

Russ

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

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.

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)

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.