Review: VIA EPIA M10000 Mini-ITX

Posted 13 Oct 2003 at 22:25 UTC by steve Share This

PC motherboards have always been attractive to robot builders because of their low cost compared to specialized embedded controller boards. But one of the big problems with adapting PC motherboards for use in mobile robots is the size. The new Mini-ITX form factor created by VIA Technologies solves this problem. Mini-ITX boards are just 17cm x 17cm making them ideal for use in mobile robots. In this review, we provide our first impressions of the VIA EPIA M10000 Mini-ITX motherboard.

The VIA EPIA M10000 Board with a quarter to provide scale
Recently VIA Technologies has begun to focus on a number of unusual markets for a PC motherboard vendor such as automotive use, set-top devices, and now robot builders. VIA's new "Robotics Initiative" will explore new applications for PC-type motherboards in mobile robots.

As with any PC motherboard, robot builders face the problem of supplying power to a board designed for an ATX power supply. The board requires +/-12vdc, +/-5vdc, and +3.3vdc. Fortunately, there are several 12vdc to ATX adapter boards available such as the small iTuner Pw-60 DC-DC convertor which is designed specifically for the VIA Mini-ITX boards. It plugs directly into the ATX PS connector on the motherboard and once you connect a 12vdc battery to it, you're all set to go. The VIA Technologies' website includes a page about the use of the Mini-ITX boards as car PCs that include additional information on operating the boards from 12vdc. The 1GHz M10000 consumes about 10 watts of power peak while the slower models peak at about 5 watts.

The VIA EPIA M-series boards include a lot of I/O options that can be used directly such as serial ports, USB connectors, and even an I2C port. There are also ports that can be repurposed by the creative robot builder. The fan connectors include pulse counters used to measure the fan RPM. These might be used with wheel encoders for odometery. The chassis intrusion connector would make a good general purpose input that could be connected to a bumper switch.

Some hands-on experience

The test setup at the DPRG Lab
VIA Technologies provided a EPIA M10000 board for robots.net to review. We decided the best approach would be to involve as many robot builders as possible. So, we showed up at one of the Dallas Personal Robotics Group's weekly Robot Builder's Night Out meetings. As it turned out, a VIA representative, Keith Kowal, was in Dallas that same night for QuakeCon, so we invited him along too. Several DPRG members have used PC motherboards in their robots and everyone was very interested in the Mini-ITX board.

I had brought along an ATX power supply, a 256MB DIMM, a spare hard drive and CD drive and associated cables. We connected all the parts in the DPRG lab, plugged in the power, and the EPIA M10000 fired up without a hitch. We did a fast and uneventful install of RedHat Linux 9 complete with X, GNOME, and all GNU development tools. In a robot, it would make more sense to use a slimmed down Linux distribution instead of a full-blown distribution like RedHat that's intended for server and desktop use. But as a way of testing out the board it worked great (in fact, the EPIA boards look like they'd be ideal as Linux servers).

The M10000 has a 1GHz CPU with a small fan. Other models of the EPIA Mini-ITX motherboards have slower CPUs and do not require a fan. For robots with limited power, it might be best to choose one of the models without a fan. None of the several heat sinks on the motherboard ever became more than slightly warm to the touch even after running steadily for over 24 hours.

While the VIA EPIA is very fast compared to the motherboards usually adapted for robotics, it doesn't have high performance graphics hardware. It was more than fast enough to run X but you probably wouldn't want to use this sort of board as a gaming machine. (As if the average robot builder has enough free time to play games anyway!)

The EPIA M10000, and a New Micros IsoPod
The only real complaint anyone could come up with is that the board lacks the sort of I/O needed to make things easy for robot builders. But this is not so much a problem with the VIA EPIA as a problem with PC motherboards in general. The type of I/O needed on a robot would be useless on a desktop or server machine.

All sorts of ideas were floated for hacking the connectors and hardware to allow more interesting uses, many of which probably violate the warranty and some of which made the VIA representative cringe in horror.

But the easiest way by far to get a lot more I/O would be to use an add-on daugterboard. Several DPRG members suggested adding a New Micros IsoPod connected to one of the serial ports. This would instantly give the system a 40MIPs I/O subprocessor capable of running dozens of R/C servos, h-bridges, and monitoring all sorts of sensors and switches.

There was a lot of interest at the DPRG in using the I2C connector provided on the motherboard. A helpful blog entry by Dafydd Walters on I2C usage can be found at mobilerobotics.org.

As a final test of whether or not the VIA Mini-ITX form factor would work well with the average robot, I pulled out my own robot for a test fitting. When I built this robot in 1997, I used an NMI 8051 controller board mounted on a piece of foam core with several other small boards such as a Scott Edwards SSC. As it turned out the foam core panel was exactly 17cm wide and about 25cm long. I was easily able to fit the Mini-ITX board into the existing case without any changes. In fact, it fit so well, that I might just bring this robot to the next DPRG RBNO to use as a test platform for some more detailed experimentation with the Mini-ITX.

My robot with its original 8051 board

Swapping the 8051 and M10000

Robot with the M10000 in place

Closer view of the M10000


The VIA Technologies EPIA M10000 Mini-ITX motherboard is ideal for use in mobile robots. It fast, runs cool, draws minimal power, has lots of I/O, and is very small. There's probably no better PC motherboard around for robotics use at this time.

The specs:

CPU: 1GHz VIA C3/EDEN EBGA Processor

VIA CLE266 North Bridge
VT8235 South Bridge
Memory: 1x184pin DIMM up 1GB DDR266
Expansion slot: 1x32 v2.2 PCI
Internal I/O Ports:
2 UltraDMA 133/100/66 IDE HD connector
1 FDD connector
2 USB 2.0 connectors
2 IEEE 1934 (Firewire) connectors
1 IrDA Infrared Connector
1 RS-232 serial port
1 Audio connectors (Mic/Line out)
1 CD Audio-in connector
1 Wake on LAN connector
1 Chassis intrusion connector
1 I2C connector
1 LVDS connector
3 Fan connectors
Rear External I/O Ports
1 PS2 Mouse ports
1 PS2 keyboard ports
1 Parallel port
1 RJ-45 Ethernet port
1 9 pin RS-232 serial port
2 USB 2.0 ports
1 VGA port
1 RCA port (TV our or SPDIF)
1 S-Video out port
3 Audio Jacks (line in, mic in, line out or 6-channel line out)

URLs mentioned in this review

VIA Technologies, Inc.
VIA Technologies' Robotics Initiative
iTuner DC-DC Convertor
VIA Technologies Information on 12vdc Automotive use of Mini-ITX boards
Dafydd Walters Article on the I2C bus
Dallas Personal Robotics Group

Cool, posted 14 Oct 2003 at 17:16 UTC by jstrohm » (Observer)

What battery are you using and how long can it keep this thing running?

I'm doing something similar, running a Via mini-itx motherboard and a 4 gig laptop hard drive. As far as I/O I'm using Phidgets and I've even got a USB quick cam and wireless ethernet hooked up

What I really like about this platform is all of the various open source projects that are available for you to use even if they weren't originally intended for robotics. For example, I'm using voice synthesizer software I found so I can get system info from the device (like current IP address) without hooking it up to a monitor.

PIC 16C745/16C765, posted 14 Oct 2003 at 20:05 UTC by wohleb » (Observer)

The PIC 16C745/16C765 chips have a built in USB1.1 slow speed bus-slave interface. You can build your own USB driver or piggyback on the HID class. I use a custom HID interface for sending 8 byte packets between the host and the PIC, all using the built-in HID driver in Windows. You only need to make a few Windows API calls. The sample apps for these PICs cover all of this. If you use minimal support hardware, it can be completely bus-powered.

So...Does it work?, posted 15 Oct 2003 at 17:36 UTC by earlwb » (Master)

So....Does it work?

I just noticed a nice I/O expander for it, posted 17 Oct 2003 at 19:35 UTC by earlwb » (Master)

USB Micro through Dontronics is selling the U401 USP I/O port expander unit. This gives you SPI and 16 general purpose I/O lines to use with the Via Mini-ITX board. It looks to be really easy to interface and use if your using an OS that supports USB ports.

Diskless options?, posted 5 Nov 2003 at 17:43 UTC by tdickens » (Observer)

Great information, thanks!
Have you looked into options of not using a hard disk? Can you run off of a USB drive?
I have seen a reference to using CompactFlash memory cards:
What's your opinion of this?

I would imagine having a Linux image on a disk-less media that had a fairly small footprint but included a C, C++, and/or Java compiler would be an ideal robotics platform.

Hardrive VS compactflash, posted 5 Dec 2003 at 22:19 UTC by jstrohm » (Observer)

I've got a similar configuration running Redhat on a hard drive but originally I was running off a 256 MB compactflash. You just have to be careful with writing to disk because compactflash can only support a certain number of write (much less than regular hard drives). So watch out for constantly updated logs and such You can find IDE to compact flash adapters. My whole setup came from http://mini-box.com and I think they sell the converter seperately.

See more of the latest robot news!

Recent blogs

30 Sep 2017 evilrobots (Observer)
10 Jun 2017 wedesoft (Master)
9 Jun 2017 mwaibel (Master)
25 May 2017 AI4U (Observer)
25 Feb 2017 steve (Master)
16 Aug 2016 Flanneltron (Journeyer)
27 Jun 2016 Petar.Kormushev (Master)
2 May 2016 motters (Master)
10 Sep 2015 svo (Master)
14 Nov 2014 Sergey Popov (Apprentice)
Share this page