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
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
" 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.
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
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
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
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.
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.
Information on 12vdc Automotive use of Mini-ITX boards
Article on the I2C bus
Dallas Personal Robotics Group