ARM motherboard suggestions

A client is looking for a new embedded system. Their current systems have a 500MHz AMD Geode CPU (which provides a lot more power than they need). A randomly selected system has the following output of "free". So any of the bigger embedded systems (which seem to have 256M+) will do, but the small ones with 32M will be out of the question and even 64M probably won't do. total used free shared buffers cached Mem: 997864 46248 951616 0 7284 21388 -/+ buffers/cache: 17576 980288 Swap: 0 0 0 I'd like to run a fairly stock Debian installation. I guess that a system with 32M of storage would do if I configured it to use a micro-SD card for main storage. The device would need to support at least 2G of storage, preferrably 8G or 16G. Digital IO ports are required as well as a serial port. I guess it's possible to use DTR/DSR and RTS/CTS on a second serial port if a board does everything else right, only 2 digital outputs are needed. The current systems have 2 ethernet ports, 1 for Internet access and 1 for debugging, we could survive with only 1 port if everything else is good. The device needs to be designed for high temperatures, 70C operating temperature will do. Basically it would be pretty ideal if I could get something like a Samsung Galaxy S that's rated for 70C and has at least 1 Ethernet port, USB, and digital IO. Any suggestions? -- My Main Blog http://etbe.coker.com.au/ My Documents Blog http://doc.coker.com.au/

On 15 January 2014 09:59, Russell Coker <russell@coker.com.au> wrote:
A client is looking for a new embedded system. Their current systems have a 500MHz AMD Geode CPU (which provides a lot more power than they need). A randomly selected system has the following output of "free". So any of the bigger embedded systems (which seem to have 256M+) will do, but the small ones with 32M will be out of the question and even 64M probably won't do.
Beaglebone Black? http://au.element14.com/circuitco/bb-bblk-000/beaglebone-black-cortex-a8-dev... $52 ex gst but you can get discounts for bigger orders. Has plenty of digital IO ports, built-in Ethernet, a few GB of NAND on-board plus a microSD slot. RAM and CPU should be plenty for your project, by the sound of it. Some of the IO pins can be configured to be serial ports - quite a few serial ports in fact, if you need them. The Beaglebones have had good manufacturer support for Linux, and stable distributions. (Which is something the cheaper Chinese boards tend to be lacking in) Looks like the rated temperature for the board is only up to 50°C, but someone has reported having it work fine at 70.. https://groups.google.com/forum/#!topic/beagleboard/p_DK-HE1Ds4 Toby

On 15 January 2014 15:08, Toby Corkindale <toby@dryft.net> wrote:
On 15 January 2014 09:59, Russell Coker <russell@coker.com.au> wrote:
A client is looking for a new embedded system. Their current systems have a 500MHz AMD Geode CPU (which provides a lot more power than they need). A randomly selected system has the following output of "free". So any of the bigger embedded systems (which seem to have 256M+) will do, but the small ones with 32M will be out of the question and even 64M probably won't do.
Beaglebone Black? http://au.element14.com/circuitco/bb-bblk-000/beaglebone-black-cortex-a8-dev... $52 ex gst but you can get discounts for bigger orders.
Has plenty of digital IO ports, built-in Ethernet, a few GB of NAND on-board plus a microSD slot. RAM and CPU should be plenty for your project, by the sound of it. Some of the IO pins can be configured to be serial ports - quite a few serial ports in fact, if you need them.
The Beaglebones have had good manufacturer support for Linux, and stable distributions. (Which is something the cheaper Chinese boards tend to be lacking in)
Looks like the rated temperature for the board is only up to 50°C, but someone has reported having it work fine at 70.. https://groups.google.com/forum/#!topic/beagleboard/p_DK-HE1Ds4
I can't speak for its quality or the stability of its Linux distributions, as I don't actually have it in my hands yet, but I've recently ordered one of these quad-core ARM boards and can let you know eventually. http://radxa.com/features/ I'd still go with the Beaglebone for commercial usage, as you know it'll still be around and supported in the future, whereas the various cheap Chinese boards seem to come and go quickly. I'm curious to hear what else people here can recommend. Toby -- Turning and turning in the widening gyre The falcon cannot hear the falconer Things fall apart; the center cannot hold Mere anarchy is loosed upon the world

On 15 January 2014 15:23, Toby Corkindale <toby@dryft.net> wrote:
On 15 January 2014 15:08, Toby Corkindale <toby@dryft.net> wrote:
On 15 January 2014 09:59, Russell Coker <russell@coker.com.au> wrote:
A client is looking for a new embedded system. Their current systems have a 500MHz AMD Geode CPU (which provides a lot more power than they need). A randomly selected system has the following output of "free". So any of the bigger embedded systems (which seem to have 256M+) will do, but the small ones with 32M will be out of the question and even 64M probably won't do.
I can't speak for its quality or the stability of its Linux distributions, as I don't actually have it in my hands yet, but I've recently ordered one of these quad-core ARM boards and can let you know eventually. http://radxa.com/features/
Just following this up now, as I've had the Radxa Rock running for a little while. As I expected, I had to compile my own kernel and fiddle with the initramfs a bit before I could get it going with an ubuntu/linaro server filesystem and the kernel features I wanted.. but apart from that, it's pretty good as a mini server board. (The GPU features aren't accessible in Linux yet, sigh) It feels sooooo much faster than the 1ghz cubieboard or my 720mhz beaglebone, and those were already feeling like they were double the speed of the raspberry pi, which is just painfully slow. In a single-threaded app of mine, it takes 1.9 seconds to run on the Rock, and 21 seconds on the Raspberry. (Keep in mind that the Rock is a quad-core CPU, so for tasks that use them all, like video encoding, it will have even larger differences to single-core computers like the raspberry or beaglebone) -Toby

On 15.01.14 15:08, Toby Corkindale wrote:
The Beaglebones have had good manufacturer support for Linux, and stable distributions. (Which is something the cheaper Chinese boards tend to be lacking in)
Looks like the rated temperature for the board is only up to 50°C, but someone has reported having it work fine at 70.. https://groups.google.com/forum/#!topic/beagleboard/p_DK-HE1Ds4
Yup, but the Arrhenius equation reminds us that every 10°C rise in temperature halves the lifetime of the board's components. (I.e. Add 40°C => 1/16 lifetime) So I'd still add a Peltier-effect cooler to drop 25°C when things warm up. It runs off 12v dc, around 4A (or was it 6A tops for the bigger one?) (Cascading 3 on top of the first could take off something less than 50°C, with a good sized heatsink on top, but now we're up around 200W for cooling, IIRC.) If the beagleboard drives the cooler through a power FET, PWM could provide proportional control. (The A/D converter is a little bit noisy, I've read, but much more than good enough for a thermostat.) Erik -- The future is a race between education and catastrophe. - H. G. Wells

On Wed, 15 Jan 2014, Erik Christiansen <dvalin@internode.on.net> wrote:
On 15.01.14 15:08, Toby Corkindale wrote:
The Beaglebones have had good manufacturer support for Linux, and stable distributions. (Which is something the cheaper Chinese boards tend to be lacking in)
Looks like the rated temperature for the board is only up to 50°C, but someone has reported having it work fine at 70.. https://groups.google.com/forum/#!topic/beagleboard/p_DK-HE1Ds4
Yup, but the Arrhenius equation reminds us that every 10°C rise in temperature halves the lifetime of the board's components. (I.e. Add 40°C => 1/16 lifetime)
So I'd still add a Peltier-effect cooler to drop 25°C when things warm up. It runs off 12v dc, around 4A (or was it 6A tops for the bigger one?) (Cascading 3 on top of the first could take off something less than 50°C, with a good sized heatsink on top, but now we're up around 200W for cooling, IIRC.)
Thanks for the suggestions. My client already has Peltier devices for deployments that need it. But saving power is a major issue so getting a board that is rated at 85C and not needing to cool it is much better than using electricity on Peltier devices. -- My Main Blog http://etbe.coker.com.au/ My Documents Blog http://doc.coker.com.au/

Russell Coker <russell@coker.com.au> writes:
I'd like to run a fairly stock Debian installation. I guess that a system with 32M of storage would do if I configured it to use a micro-SD card for main storage. The device would need to support at least 2G of storage, preferrably 8G or 16G.
Given the sucky I/O on SD, you might want to set force-unsafe-io in dpkg.cfg. (Once you understand the implications, of course.) It is also MUCH faster to do the initial install to a real disk (or even tmpfs), then dd the result to the SD card in one go. For overkill, you can set up a read-only root fs with live-build, live-boot and live-config. Last time I looked, a minimum Debian install (plus kernel) requires around 200MB uncompressed. The smallest I can make a bootable Debian image, short of compiling custom debs, is 50MB w/ xz compression. So you definitely won't fit in a 32MB onboard storage :-)

On Wed, 15 Jan 2014, "Trent W. Buck" <trentbuck@gmail.com> wrote:
Russell Coker <russell@coker.com.au> writes:
I'd like to run a fairly stock Debian installation. I guess that a system with 32M of storage would do if I configured it to use a micro-SD card for main storage. The device would need to support at least 2G of storage, preferrably 8G or 16G.
Given the sucky I/O on SD, you might want to set force-unsafe-io in dpkg.cfg. (Once you understand the implications, of course.)
It is also MUCH faster to do the initial install to a real disk (or even tmpfs), then dd the result to the SD card in one go.
That's not a problem for me. I'll do one install and when it's working correctly I'll duplicate it. It wouldn't matter if an initial install or upgrading to a new Debian release took 24 hours or more. My tests of SD cards in Android phones suggest that for routine operation of the servers in question SD cards provide more than adequate speed.
For overkill, you can set up a read-only root fs with live-build, live-boot and live-config.
My client had that, it got annoying and didn't seem to provide any benefit. I'll go for a single large filesystem. Ext4 seems reliable enough.
Last time I looked, a minimum Debian install (plus kernel) requires around 200MB uncompressed. The smallest I can make a bootable Debian image, short of compiling custom debs, is 50MB w/ xz compression. So you definitely won't fit in a 32MB onboard storage :-)
Particularly as I have some custom software written in Ruby to deal with. 16G SD cards are cheap nowadays, if I can get them rated to 85C then it'll be great. -- My Main Blog http://etbe.coker.com.au/ My Documents Blog http://doc.coker.com.au/

Russell Coker wrote:
For overkill, you can set up a read-only root fs with live-build, live-boot and live-config.
My client had that, it got annoying and didn't seem to provide any benefit. I'll go for a single large filesystem. Ext4 seems reliable enough.
Fair enough. I have a few 4GB USB key deployments (on headless boxes) with stock Debian installed on them, and it wasn't a very nice experience. Mainly just that I/O is aggravatingly slow, especially for dpkg. I don't know if SD (and a more modern FTL) would help in that respect. The other problem I had was that stock installs will want to fsck after an outage, and even with a journal that's suckily slow. (Especially when you're talking over the phone to a non-technical user who is reading boot output off a 19" monitor balanced in their lap or whatever. You know -- the usual.) I guess I'd be happy to do a stock install onto something like that again, but only if it was locked in a cabinet with a UPS.

On Wed, 15 Jan 2014, "Trent W. Buck" <trentbuck@gmail.com> wrote:
I have a few 4GB USB key deployments (on headless boxes) with stock Debian installed on them, and it wasn't a very nice experience. Mainly just that I/O is aggravatingly slow, especially for dpkg.
I don't know if SD (and a more modern FTL) would help in that respect.
USB keys are the cheapest available storage. CF cards are much better quality, faster and more reliable if you get the good ones. I haven't had the misfortune of doing any serious testing of SD cards, but I have had one fail in a phone out of 4 phones running SD for a few years - a much worse failure rate than hard drives but a statisticly insignificant test sample.
The other problem I had was that stock installs will want to fsck after an outage, and even with a journal that's suckily slow. (Especially when you're talking over the phone to a non-technical user who is reading boot output off a 19" monitor balanced in their lap or whatever. You know -- the usual.)
One thing to do when creating an ext3/4 filesystem is to use a much smaller number of Inodes than the default. Ext4 has significantly improved things over Ext3 because it won't needlessly check Inode block groups that are unchanged but I think that having fewer Inodes still helps. -- My Main Blog http://etbe.coker.com.au/ My Documents Blog http://doc.coker.com.au/

On 15.01.14 09:59, Russell Coker wrote some quite reasonable specs for an embedded Linux platform - plus a scary (expensive & harder to source) temperature spec. There are about 106,000 of this out there, so far: http://beagleboard.org/products/beaglebone%20black It is beginning to be used for CNC, with RTAI or Xenomai under Ubuntu, for fast real-time performance, but most users just use a plain Linux distro. It has a 1 GHz cpu, and it seems to match on memory, has one 10/100 ethernet, 69 GPIO pins, and a PRU which can be programmed to fiddle the IO at great speed. There's one serial port, plus more on the expansion connector. The 6-layer board makes it quite small - possible because it dissipates under 2.5W. Summary at: http://elinux.org/Beagleboard:BeagleBoneBlack#BeagleBone_Black_Description Now 0 - 70°C _component_ temperature would be just commercial temperature grade. 70°C ambient is a real problem. This document: http://www.google.com.au/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CDsQF... mentions "case temperatures greater than 60 C", which is 35 - 40°C above ambient = 105 - 110°C at 70°C ambient. That would require military grade componentry. (Industrial is only good to 85°C case temperature.) Still, for $45, it's not a bad embedded Linux platform at all. Sit it on a Peltier-effect cooler, and you'd add 25°C margin. That'd perhaps double the price, and bring power consumption up to 50W or so. Add a power FET and a thermistor, and the Beaglebone's A/D converter and a digital I/O could provide the thermostat function. It take "capes" (daughter boards analogous to Arduino "shields"), so it's easy to design a board in Eagle, email the file to Malaysia, and have a board back in less than a week, for next to no money. Erik -- For the month of December 2013, 57.4% of all the electricity consumed in Denmark was generated by wind turbines. Over the whole year, it was 33.8%, and on 21st December, the wind turbines produced over 100% of Denmark's electricity consumption. - http://epn.dk/brancher/energi/alternativ/ECE6403277/danske-vindmoeller-skriv...

On Wed, Jan 15, 2014 at 09:59:51AM +1100, Russell Coker wrote:
Digital IO ports are required as well as a serial port. I guess it's possible to use DTR/DSR and RTS/CTS on a second serial port if a board does everything else right, only 2 digital outputs are needed.
The current systems have 2 ethernet ports, 1 for Internet access and 1 for debugging, we could survive with only 1 port if everything else is good.
The device needs to be designed for high temperatures, 70C operating temperature will do.
Allwinner ARMv7 SoCs seem to be rated at "commercial" -25 to 80 (or -40 if "extended"), however boards based on these tend to be max 70C. apparently ram is the limiting factor -> http://mail.olimex.com/forum/index.php?topic=2404.0 for example, this board is 0 to 70 -> https://www.olimex.com/Products/OLinuXino/A13/A13-OLinuXino/ and as a bonus is Open Source Hardware. similar things like the cubieboard http://docs.cubieboard.org/products/start#a10-cubieboard are harder to find temp specs for, but a comment from the manufacturer says -10 to 70. I have a couple of cubieboards (1 and 2) and they seem good, but I haven't tested anything at ambient temperatures above 30 (eg. now :). there are many other A10/A13/A20 etc. boards to choose from. millions(?) of Allwinner chips are used in small tablets. linux (including mainlining) support for the Allwinner chips is really good and active from the group at linux-sunxi.org eg. http://linux-sunxi.org/A13-OLinuXino and the best docs are probably to be found there too. HTH I don't really know what you mean by digital i/o ports (gpio? i2c? spi?) but check out the specs of the various boards and see. cubieboard ships with headers and a cable for serial console. cheers, robin

On Wed, Jan 15, 2014 at 09:59:51AM +1100, Russell Coker wrote:
Digital IO ports are required as well as a serial port. I guess it's possible to use DTR/DSR and RTS/CTS on a second serial port if a board does everything else right, only 2 digital outputs are needed.
The current systems have 2 ethernet ports, 1 for Internet access and 1 for debugging, we could survive with only 1 port if everything else is good.
The device needs to be designed for high temperatures, 70C operating temperature will do.
Searching Linux Gizmos shows some SODIMM ones that allegedly support -40 to +85C http://linuxgizmos.com/?s=ARM+extended+operating+temperature This one http://linuxgizmos.com/sodimm-style-arm-com-runs-debian-linux/ explicitly mentions Debian, but doesn't mention the required carrier board. The see also links at the bottom show others in the category.
participants (7)
-
Erik Christiansen
-
rdbrown@pacific.net.au
-
Robin Humble
-
Russell Coker
-
Toby Corkindale
-
Trent W. Buck
-
trentbuck@gmail.com