Raspberry Pi Computer Uses 9

Posted by JD 03/02/2012 at 03:00

Lately much has been made about the capabilities of the new $25-$60 computer called the RaspberryPi. It is an impressive little machine with 2 different models, but these machines are limited no matter how you look at them. Understanding those limitations before you purchase one or 3 is a good thing.

Before someone says that my pricing is wrong, it appears that $20 in shipping fees are required to the USA.

What it Has

It is a small form factor ARM CPU-based PC. That means no current version of MS-Windows desktop or server runs on it. I’ve read that it runs either Android or a Linux OS based on Debian. I love Debian.

The ARM CPU is 700Mhz – so it is suitable for most desktop productivity apps like word processing, normal spreadsheets, web surfing and listening to music.

If you want the list of components, Google is your friend. I’m not going to list them all here.

The CPU is not Intel x86 compatible, so programs built for those processors will not work, regardless of the OS. If you have a cross-platform program, it may be ported to the specific ARM CPU and OS that this little device runs, however, Firefox compiled for x86 computers will not work, as an example.

In theory, most java programs should work, assuming they fit into the limited-for-today amount of 512MB.

It has an external power brick, probably like a netbook uses. Besides helping with cooling it means that use in different countries is easily handled through a different external power supply.

It has HDMI out, not VGA. Most of us have HDMI capable TVs and monitors, so this isn’t a big deal. The GPU is from ATI and supports hardware decoding of h.264/1080p video. That appears to be the end of video decoding support in hardware.

The different versions have or don’t have USB2 and 10/100 network ports. I guess they needed to cut costs somewhere.

Disk storage for the expensive model is via SDHC memory. There is not SATA or IDE interface. That means you will either use a fairly cheap SDHC or connect USB2 storage if you don’t use it as a purely network device.

Limited gaming.

What it is Missing

  • No clock with a battery. This means some sort of network time server is needed. Not too big an issue, since NTP works well.
  • No SATA/IDE mass storage support. USB2 or SDHC only.
  • No video decoding in hardware
  • A 700Mhz ARM CPU will probably struggle to decode HiDef video using software decoders. I have a 450Mhz ARM tablet and a 1GHz ARM tablet. The 1GHz ARM has problems with decoding in software any video over 600p. I believe that h.264 video decoding for any resolution up to 1080p will work, but 80% of my recorded TV is not in h.264, it is Divx or XVID or even MPEG2. I also have a few other formats from the early days of experimentation. Some are hardware based and usually do not playback on other devices without transcoding, I’m sorry to say.
  • Transcoding, while it may be possible, will be 20x slower than a desktop x86 CPU handles. For example, while on travel last year, I accidentally brought a 1080i MPEG2 TV recording with me. The dual core Netbook I brought was not able to playback that resolution, so I kicked off a job to transcode it to 480p (DVD resolution). At home, that would be finished in about 50% the runtime of the program on a limited desktop. It ran for over 12 hours and was only 30% complete. On-device transcoding is not an option.
  • 5.1 Audio is not listed as supported. That means no DTS or Dolby Digital audio. This is not a movie playback device without the great sound we’ve come to expect.
  • RAM is fairly limited for a system today. The wikipedia article says 128MB and 256MB. For a desktop PC, this is fairly tight. It is below the recommended minimum for most Linux OSes like Ubuntu. I remember seeing that the RAM provided in both models would be doubled, so 256MB and 512MB would be expected for production models.
  • No upgrades. The RAM, CPU, networking, USB, GPU are all soldered to the board. No upgrades. Expected for a device like this.
  • No video DRM support, i.e. no Netflix. Since it runs Linux, no software DRM support is currently available either. With the future of Flash on Linux uncertain, it appears that HTML5 video is the only hope.

What Can We Do With It?

So with that stuff above known, what does this machine do well?

The best uses I see are:

  • School deployments
    • $50 for PC instead of $1200 for a laptop from Apple – seems like a win to me.
  • Office productivity workstation with a network connection.
    • LibreOffice will run slowly – 1 app at a time
    • Network storage will be desired
    • Normal web programs will probably run, except, maybe Flash
    • PDF Readers already exist
  • Satellite workstations for home use
    • Guest bedroom PC
    • Kids limited-access PC
    • Kitchen or Den PC for quick information lookups
  • Low end video playback device
    • It will handle h.264 content nicely
    • It may handle 480p or lower quality video using software decoders. Down converted audio will likely be necessary.
    • XBMC porting is underway
  • Hobby PC for home automation
    • Smarthouse control for lights, doors, thermostats, etc.
    • Slow NAS device – limited by 10/100 network and USB2 storage
    • Dedicated Network security device (VPN, remote desktop, router, firewall) for the home.
    • Home or business PBX for VoIP. Perhaps Asterisk or FreeSwitch have been ported to ARM? PBXes rock.

A Gizmodo article on uses.

But Everyone Says It Will Make a Great Media Center PC!

Perhaps, but probably not.

  • It is not x86 compatible, so only Linux-based media center software will even be possible.
  • No recording should be expected. I’ve never seen any ARM-based TV recording software or USB drivers.
  • Playback for h.264 recorded content should work, but much of our content is not h.264 yet.
  • No 5.1 Audio – no DTS, no Dolby Digital audio
  • No DRM – no netflix, no hulu
  • The future of Adobe Flash is unknown for Linux. Adobe announced it would end Flash on Linux support last week.
  • With a 700Mhz ARM CPU, it is more like a 2 yr old smartphone in performance

Folks are being extremely optimistic with the capabilities of this device. The work to port XBMC has just started. My only concern is for playback of video where software decoding is necessary. Based on experience with Linux on ARM, software video decoders and Atom-based XBMC deployments, I’d say SD resolution video should playback fine using software decoders. That would be 480p or lower resolutions.

My home is already overflowing with computers, as you might imagine. Do we really need another cheap device? The nerd says YES!

Summary

The Raspberry PC computer is not a general purpose, do anything PC, however, for specific needs where low processing power and low RAM is needed and being inexpensive matters most, it will fit into many homes, schools, and offices nicely.

  1. TheJayOJ 03/02/2012 at 15:20

    Good summary. But I don’t think anyone expected much more from it.

    Still, I think it IS important to realize that all things computer, this is a computer. And not just in a literal sense (like an Abacus) but in a sense that it’s a device that can output audio/video, accept input devices like keyboards and mice, connect to external storage, network and the Internet, a device that you can code on/for, all while running desktop grade OSes and many varieties of general/special purpose software. If you know the way, it can do most of the things a general purpose computer can, albeit slower. Sounds pretty good to me.

    The makers have have compared it to a 300 Mhz Pentium II class performance with much better 3D and video performance.

    The idea isn’t to make a cheap computer for average users. The idea is to make a hackable device, providing just the bare bones and letting the user imagine a use case scenario for themselves, based on the capabilities and performance. They’re also expecting you to use stuff you already own lying around the house. I mean they couldn’t be more generic – they are selling a board without a case/power-supply/storage/software or any input/output device for god’s sake!

    Also, “$50 for PC instead of $1200 for a laptop from Apple – seems like a win to me”
    For such meticulously written piece, that came off as surprisingly, umm, not so. And a bit disdainful, might I add? It’s going to be many times more expensive to make a full functioning PC out of the Raspberry Pi. Also, Apple’s offerings start at 999$ but lower for the education market.

  2. TheJayOJ 03/02/2012 at 15:33

    A couple of typos up there.

    Para 2 line 1: “… all things computer*, this is a computer.”

    • “computer” → “said”.

    Para 3 line 1: “The makers have have* compared it …”

    • double “have”.
  3. Thanasis 03/03/2012 at 11:30

    I plan on using one as a companion to my arduino. I had a lot of project ideas but the micro controller didn’t have enough processing power to make them happen. This sounds perfect. Also those General I/O pins look really interesting, for example you could add that RTC that is missing: http://www.sparkfun.com/products/10160 (I am sure you can find something like that for the half of the price, didn’t look much)

  4. TheJayOJ 03/08/2012 at 14:09

    Offtopic: Okay, this is awkward. I got real dumb and inferred “leave url/email” as you wanting the commenter to write the url/email instead of a Name, in the Name field and hence put my email in. But I soon realized that because websites can be crawled, it wouldn’t be a good idea to leave my ID available for the world to see. I looked for a contact form to inform you to remove the email address but couldn’t find any.

    I wonder if you could edit the first two comments to reflect the name I’m using currently. Or maybe delete them both, and this one as well. Thanks.

  5. JD 03/08/2012 at 17:04

    I’m not interested in your email address or any links to commercial websites that aren’t on-topic. Your “name” can be anything you like (child-safe). Actually, any website link makes me suspicious that it is a spam comment.

    Don’t bother ever using a facebook, twitter or shortened URL as a link. To me, those are spam 100% and I won’t even attempt to check whether they are on-topic or not. Full URLs only.

    An email address for me? You can guess and it will probably reach me. It isn’t like there is only 1. But I get too much email to respond to non-work related emails. I get hundreds of emails daily to give you an idea.

    I really do appreciate on-topic comments here, even criticisms. My view isn’t always correct and I don’t always agree with things I’ve written here the next day. ;)

    Adult conversations are not wanted here. We can all make points without that.

    Our problem with blog spam goes through stages. Usually on Fridays, I’ll see 20-100 spams, but almost zero the rest of the week. Today there was 1 blog spam post. I try hard to delete those and since every comment is moderated, very few get through.

    I understand the frustration of posting without immediately seeing it show up. I’ve been thinking about allowing logins so that regular visitors can post immediately. The blog software used here has some bugs that don’t make me certain allowing deeper access is a good idea. Perhaps that will change with the next release? I dunno.

  6. JD 07/25/2012 at 15:24

    Turns out that the Raspberry Pi with XBMC (RaspBMC) is useful for specific media playback, provided your content is 100% h.264, according to HowToGeek .

    They didn’t mention MKV containers, so whether the hardware can figure out mp4, mkv, mov, wmv, flv containers is unknown. Android 3.x doesn’t know MKV containers with h.264 video content, but Android 4.x does. That was purely a software difference, no hardware differences.

    The article does say that mpeg2 doesn’t playback, since there isn’t any hardware support for that codec due to licensing. The ARM CPU simply isn’t up to the task.

    I guess it is time to find a microATX or mini-ITX Core i3 for my XBMC needs. The dual Core Atom doesn’t hack it.

  7. JD 07/25/2012 at 15:42

    Hack-A-Day has an interesting take on this too. They explain the mpeg2 issue a little more. Seems the hardware can decode mpeg2, but the RaspBMC or Raspberry Pi foundation didn’t buy that capability.

    I could be misunderstanding the real issue.

  8. JD 07/25/2012 at 16:08

    Seems a few commenters at Hack-a-Day mentioned OpenELEC as a faster booting RPi XBMC distro.

    Their FAQ is pretty clear about which codecs don’t work. Divx, wmv, mpeg2 just to start.

    Many XBMC addons don’t work too.

  9. JD 08/27/2012 at 18:23

    MPEG2, VC-1 AND H.264 Decoding on R-Pi!!!!!!

    Full Story.

    • Linked to a serial number from a Raspberry Pi’s Broadcom chipset
    • Pay for the 2 extra licenses (about $10)
    • Device already has h.264 decoding. Seems they paid for h.264 encoding too, so a future software update will include that feature.

    Enjoy.