Skip navigation
> RoadTest Reviews

RoadTest Review a Raspberry Pi 3 Model B ! - Review

Scoring

Product Performed to Expectations: 10
Specifications were sufficient to design with: 10
Demo Software was of good quality: 10
Product was easy to use: 10
Support materials were available: 10
The price to performance ratio was good: 10
TotalScore: 60 / 60
  • RoadTest: RoadTest Review a Raspberry Pi 3 Model B !
  • Buy Now
  • Evaluation Type: Independent Products
  • Was everything in the box required?: Yes
  • Comparable Products/Other parts you considered: Older models of the Raspberry Pi
  • What were the biggest problems encountered?: Insufficient memory for larger projects (work-around = virtual memory). The RPi still has a minor issue with streaming, only to a much smaller degree than the older versions of the Raspberry Pi.

  • Detailed Review:

    Putting the Raspberry Pi 3 through its paces

    Tim Kramer (25 June 2016)


    The following is my Raspberry Pi 3 review for Element 14.

     

    My project proposal

     

    My submission for the Element14 Road Test was to “put the RPi3 through its paces” by:

     

    1. Running docker with the following containers: bitlbee (w/ all non-Purple plugins), eJabberd, Spectrum2, Mouffette (a bot that monitors RSS feeds), jabberbot (a home-grown bot that allows provides interface with my home automation), ZNC, and any other Jabber/IRC/control program that I can mix in.
    2. Compile and run the audio scripting language (aka Savonet), to determine if it can host a pseudo-jukebox (with a built-in Icecast server, a web front-end for selecting songs, etc.).
    3. Controlling one or more FM radio receiver breakout boards, using a USB audio card as input and sending an MP3 or Ogg stream to an Icecast server. If enough processing power is available, would also try hosting the Icecast server on the RPi3.


    I was successful in implementing each of these, and discovered that some limitations still exist (I still give it a "higly recommended" status).  Detailed notes and code for implementing the above are attached to this post (further down).


    Visual differences from the RPi1

     

    I had remembered the RPi3 described as having the same form factor as the RPi1. This was an error on my part (and why I didn't immediately buy a case). The RPi3 form factor is the same as the RPi2.


    There are a number of physical differences between the Raspberry Pi 2/3 and the RPi1:

     

    • Only has HDMI video (no video out)
    • Has four USB ports vice two
    • Uses a microSD card vice the “normal” SD card used on the RPi1
    • Has four mounting holes (90 degrees from each other) vice the two diagonally located holes on the RPi1
    • The expansion header has more pins
    • The micro-USB power port has been moved “around the corner” to the side of the board


    The end result is that none of the cases for the RPi Model B can house the RPi3, but most of the RPi2 cases can.

     

    Since I didn’t have a usable case when the RPi3 was delivered, I created some “legs” for the Raspberry Pi 3, using some plastic offsets. Please note that doing so, for anything other than experimentation, is not recommened because the center of balance is very near the end of the board with the Ethernet and USB ports (plugging in a cable or dongle causes the board to tip). In short, you'll want to properly mount the board on a base bigger than the Raspberry Pi 3 (e.g., in a case or on a breadboard). For those that like more permanent solutions, there are a number of interesting acrylic cases (with fans) available via the usual online vendors.

     

    Differences in performance


    With the Liquidsoap/Icecast project, the Raspberry Pi 3 appears to be the first Pi that can handle the processing load without an inherent stutter [\o/!!]. On the Model B, the stutter would show up after a few minues. On the RPi 2, after a couple hours. The only noticeable (related) RPi3 issue is that cache memory appears to gradually grow over the period of a few days. However, Linux documentation indicates that this is normal and that memory is “recovered” when other processes need it. It appears to be a non-issue.


    Update (20 Jun): I noticed that the stuttering does show up, but only after about 4-5 hours of streaming.  It shows up as a few second pause in the stream, every fifteen minutes or so. Much depends on your streaming client and what you set as the buffer size.

     

    Noted shortcomings (only my opinion)

     

    • Memory. You can never have enough memory, especially on SBCs and SoCs. Running a large program (e.g., building Docker from source) on the RPi 3 can require more than available memory. The work-around is to employ swap memory but this can be less than desirable for systems running off the smaller SD cards. Recommendation: use a SD card with at least 16 GB of space (they're “dirt cheap” nowadays).
    • The video out connector. I do miss the video out connector from the Model B. Buying a HDMI-to-SVGA adapater from a local store (vice online) costs more than the RPi3 itself. (Note: the adapter wasn't needed for this Road Test.)


    Results

     

    Much of the effort was made simple by the release of Ubuntu MATE 16.04 for the RPi3, as packages, for software which I’d previously had to compile from source, are available (including Docker and DarkIce).

     

    The Docker install worked nicely, though it was a bit slow (which isn’t a surprise for a low-horsepower SoC board). Unless you’re experience with manually installing Docker, I recommend using the Ubuntu package vice compiling from source.  (Also, compiling Docker on the RPi3 takes a very long time.)

     

    I needed to create a 500 MB swap file before I could compile Bitlbee and it’s plugins from source code. It appears to working “normally”, and with the buggy plugins, it crashes just like Bitlbee does on larger machines (some of the plugins are a bit dated). Again, I’d recommend sticking with the default .deb packages, even though my instance involves compiling from source.  The trade-off is stability vs. extra plugins.

     

    For controlling the RDA5807SP FM receiver, I only needed to figure out which header pins to employ. This was a simple install has I’d already rewritten some C code for the RPi1 Model B, without the WiringPi library, to control such boards.

     

    I was also able to install DarkIce and Icecast2, and used a SoundBlaster USB sound card to stream a local radio station over my home network. Employable settings for DarkIce were a bit limited and the stream sounded a bit “tinny”, but it did work.


    Overall opinion

     

    This is a must-have for hobbyists as the device is more-than-capable for most needs and has very few short-comings.


Comments

Also Enrolling

Enrollment Closes: Jul 24 
Enroll