View RSS Feed


  1. Hardware Review - SheevaPlug Development Kit

    by , 08-12-2009 at 10:00 AM

    Review by Gary, aka chunkyks

    Thanks to some work I'd been doing, I found myself targeting the
    SheevaPlug for a project, despite
    not actually having one of these plugs myself. very
    generously offered to send me one, as part of a process to
    provide innovation grants to forum users. I cannot thank them
    enough for the opportunity.

    See this product on the mp3Car Store here.

    I'm a long-term unix and Linux software developer, so anticipate
    this review leaning in that direction.


    Low Energy ARM chip [entire device is rated at 5W]
    Small Form-factor [entire computer inside a regular sized power brick]

    Comes with Ubuntu 9.04, but trivially reflashable

    Communications with the outside world: Gigabit Ethernet,
    USB2.0, SDIO. Also has a USB slave port as a serial console

    512M DDR2, 512M Flash


    Excellent documentation
    Does exactly what you'd expect. No less, and probably a little more
    Extremely affordable
    Stock Ubuntu install.

    Zero configuration. Out of the box it boots and can be logged into

    There's an expectation that you are familiar with Linux.
    Slow boot times and disk access
    Lack of useful kernel modules in the box
    Occasionally the plug feels warm to the touch

    The Short Review:

    I love this device, and everyone should get one. It's a fully
    functional Linux box, and magically Just Works for all my needs.

    See our forums for the Full review, details, and thoughts for the future and follow up with conversation

    Full Review:
    Right out of the box, it does exactly what I expect a modern
    computer to do. You can log into it, install software from the
    Ubuntu repositories, and run stuff on it. The software corpus
    available for easy download is massive, and includes all the
    usual development tools and user programs you'd expect or need.

    The plug is running an ARM chip - as is common for low-power
    embedded devices. The ARM architecture is a little bit different
    from your typical desktop computer. To me, this is a Good Thing,
    as I subscribe to the belief that portable code running on more
    architectures is better than code that doesn't. [Notably, while
    porting to other architectures, bugs often surface that otherwise
    wouldn't have]. On the downside it means that occasionally, you
    may find software that doesn't work for you on the plug. During
    testing I found nothing I needed that didn't work immediately,
    but the potential is there.

    It's absolutely worth starting with the new plugger howto [
    ] and making a couple system changes to ensure you won't run into
    problems. There are apparently some situations where an
    inopportune update immediately after getting the plug can render
    it un-bootable. It's easily re-flashable, but it's a lot easier to
    just edit a couple files first.

    The plug wiki and documentation tends to assume that the user has
    a certain level of familiarity with Linux or unix. Most notably,
    the wiki in a few places [not the least of which is the new
    plugger howto] just said ‚Edit this file, without further
    elucidating. Anyone familiar with unix will recognize this;
    editing text on unix is historically a matter of both holy wars
    and extreme difficulty to the novice user. This reviewer has
    edited the wiki to provide a little more help, but as a whole a
    small amount of Linux knowledge is certainly helpful.

    Something I haven't commented on up until now is that there's no
    easy way to plug a screen into the Sheeva. This is self-evident
    from looking at the device, but bears mentioning. I successfully
    used remote X over ssh with the plug, but primarily the Sheeva is
    a command-line device that you ssh into - again, a level of unix
    familiarity cannot hurt.

    Up to now, everything I've commented was things that are ‚good‚
    in my view, but some of them may be perceived as problems. There
    are a couple of real downsides to the plug:

    Boot times are noticeable [on the other of 20-30 seconds, which
    feels high for a small embedded device] and large un-cached disk
    accesses tend to be pretty slow. This is because the plug uses a
    file system called jffs2, which is very good for wear-leveling
    and error handling in flash, but can be slow. There are good
    alternatives [eg, ubifs], but switching to them again requires
    re flashing the plug, something I will almost certainly be doing
    in the near future. If you plan on doing a lot of disk writes, or
    large disk writes [as I do], then it's definitely better to pick
    up an SDIO card or a USB flash drive, and write to that. Those
    are supported out of the box.

    The plug feels warm to the touch. I believe it's still not using
    much power, but there's obviously some inefficiency somewhere.
    Some mp3car forum users have converted their plugs to run off 12V
    as provided by their car, and apparently the new 12V PSU
    dissipates less energy in the form of heat.

    3.3 Running my own software

    The specific goal for me on the plug is to run my pet project,
    OBD GPS Logger. Due to past experience with portable code, I was
    happy to see obdgpslogger build first time on the plug, after
    installing the requisite tools [six packages plus their
    dependencies, starting with what was in the box]. I didn't build
    the GUI tools [no need for them here] but obdsim, obdgpslogger,
    and the conversion tools worked immediately. On the CD in the
    box, or for free download, are cross-compiling tools;
    obdgpslogger also builds just fine using that environment.

    One problem was that as it comes in the box, the Sheeva doesn't
    have the necessary kernel modules [aka “drivers”] that an mp3car
    reader might need; specifically, ftdi for an OBDPro scantool [
    ] or similar, or any bluetooth modules. Since the OBD devices I
    have are all either ftdi or bluetooth, this was an issue. This
    has been discussed on the Sheeva forums [
    ], where the best [only] proposed answer was to reflash the
    kernel on the device.

    While that's not difficult in practice, that's kinda fearsome to
    someone unfamiliar with Linux or serial consoles. I came up with
    a somewhat different solution to the ftdi problem: I wrote a
    small userland tool using libftdi [which is available in the
    Ubuntu repositories] to proxy my ftdi device to a unix
    pseudoterminal. At time of writing, it's not fully working with
    obdgpslogger yet, but it works enough to access my OBDPro

    Overall, I found the Sheeva a fantastic tool; it really is a
    complete Linux system that does everything I need.

    4 Future Uses

    In writing this review, I found myself coming up with various
    ideas for using the plug, beyond a simple host for obdgpslogger.
    Of particular interest is that it's simply a low-cost device that
    you can run always-on and always-connected-to-the-internet for
    cheap. For want of a number, a quick back-of-the-envelope
    calculation says that it costs me about 1.7 cents per day to run,
    or about six dollars a year... and I live in a part of the US
    where electricity is relatively expensive.

    Some food for thought for others picking up one of these plugs:

    Webcam. The plug can run a webcam and either host a live
    stream, or regularly upload photos to another site. Great for
    those of us with jobs and dogs. This way my power-hungry
    desktop can remain asleep during the day and I can still watch
    my dogs.

    Storage server. Plug a huge external hard drive into it and use
    it for network attached storage. Typical uses might include a
    streaming server for a PS3 [using the fantastic mediatomb
    a backup server, or a bittorrent tracker or downloader.
    Combine a few of these things and you get:

    Leave an RSS reader running on the plug all day, reading
    streams from torrent sites and automatically downloading
    things you like. When you get home in the evening, turn on
    your TV and PS3 and start watching. Imagine if your cable
    company's on-demand didn't suck - that's what this is.

    In the past, I've used squid to block ads and as a network
    cache; the Sheeva is perfectly placed to handle that. Nowadays,
    fast internet and intelligent browsers make a lot of that moot,
    but squid can still pull off some pretty neat tricks.

    Home automation. It's nice to have something you can ssh into
    before leaving work, perhaps to start a coffee machine or
    something. The Sheeva could perhaps control some X10 devices.

    For people interested in a whole new worldview of instant
    messaging, the Sheeva makes a great Bitlbee server.

    Similar to DD-WRT, it's not hard to imagine complete images to
    flash to the device. The RSS-bittorrent-PS3 configuration above
    could easily be prepared to an image, and have end-users simply
    download and flash the whole bundle.

    On the topic of DD-WRT, some people don't like to reflash their
    wireless routers or similar devices; the Sheeva could run all
    the services you otherwise would have liked your wireless
    router to do [such as DHCP with static allocation - the main
    reason I upgraded to DD-WRT in the first place]

    See this product on the mp3Car Store here.

    Updated 12-26-2009 at 09:45 AM by Jensen2000

    Product Reviews