Review: Make: Raspberry Pi Starter Kit 74
Posted
by
samzenpus
from the how-it-works dept.
from the how-it-works dept.
XWWT writes "A few weeks ago Make offered to send us a sample of its Raspberry Pi Starter Kit to see if we would do a review of the product. Samzenpus asked around the engineering team to see if there was someone who would be willing to do an on-camera review of the device. With all of the buzz about Raspberry Pi, I was very excited to get hands-on time with the device so I could more closely examine the platform. At first we wanted to do this piece as a video but quickly realized that a) it would probably be boring to see some blinky lights and push buttons working on a sample project, and b) the amount of audio that would need to be bleeped to cover my frustration with parts of the kit would be annoying. On a personal note, I also wanted to document all of my experience here as I thought it would be beneficial for newcomers to the maker technology and sometimes having someone else’s experience documented can help you avoid pitfalls and mistakes. (Full Disclosure: I am the Director of Engineering for Slashdot Media. We were given a review copy of the Make: Raspberry Pi Starter Kit. We were not paid for this review but had fun doing it.)" Keep reading for the rest of Wes's review.
Unpacking the Box: The box was nicely packaged with lots of little pieces parts in baggies and was well assembled. I immediately pulled out the Pi board and all of the packaged elements to see what was included. It became apparent that the shipping box would be useless to keep all the parts together once I unpacked it and found an old small plastic tool box to keep the parts in for future use and transport.
Included in the box was the 512MB Pi unit, 1A USB charger (underpowered for big projects), Pi Cobbler kit, Pi enclosure, 4GB Class 4 SDHC card, breadboard, a trimmed down version of the Medtronics kit, short HDMI cable, jumper wires (male) and the Getting Started with Raspberry Pi book. They seemed to be packed well as subassemblies so I tried to keep them together as such until later so I wouldn’t lose or mix parts.
The Medtronics kit had LEDs, resistors, capacitors, diodes, pushbuttons, switches, jumpers and some timer chips; all fun toys. Basically it is a collection that anyone doing electronics work would need in order to do a handful of projects. Most of these parts are cheap when bought in bulk, but getting variety collections like this tend to be expensive as you are buying only a couple of parts so it was nice to see them included. I was disappointed that I didn’t see any male-to-female jumpers in the box as these are useful in connecting pins but realized that was the point of the Pi Cobbler Kit.
After I had looked over the board itself, I thought it best to actually try to follow instructions since I was supposed to review the kit. I opened the included Getting Started with Raspberry Pi book and reviewed the first two chapters to get an idea of what was actually on-board the Pi itself and to see how the “Getting Started” would work for a first timer. Typically I find that getting started books from Make try to appear like How-To manuals blended with a lab book and they don’t do well being either. That was certainly the case with this book as I progressed.
The first chapter was really helpful as it laid out what the main components were on the board and what the actual available processing power. The board is an ARM11, 32bit, 700MHz processor. We happened to get the B version so it has 512MB of available RAM. The physical size of the board is a little larger than a stack of credit cards, with all of the components it is about the total size of a mans pocket wallet (about 3”x2”x1/2”). I examined the physical joints on the board and all were machine done (expected) and seemed to be in good order. The first problem I noticed though was that the joints for the HDMI and Audio/Video jacks would not be sufficient to keep them from being broken off the board. Additionally the joints holding the power unit seemed shaky if the unit were plugged in/out too frequently (the book and blogs confirmed that suspicion). The Ethernet port on the board seemed to be in good shape as did the GPIO and Display and Camera Serial Interfaces.
I was pleased to see that there were some status LEDs on-board for simple debugging. Those of us that are used to solving boot problems with status indicators like LEDs or audible tones know that these are important when you just can’t get a board to respond.
I then examined the enclosure case assembly which still had the protective wrapping on it and stunk of cutting fluid. There were no instructions on assembly for that so I set it aside. There seemed to be small parts in that package and I didn’t want to lose them, so I left it sealed.
Setting up Raspbian:
I wanted to validate quickly that there were no problems with the board so I ran through the steps of flashing the SD card with a copy of Raspbian. I actually tried both the dd tool installation under UNIX and the Win32DiskImager to see if there were significant differences in the experience. While the dd process seemed straight-forward the Win32DiskImage was just as easy. I found the documentation here to be the simplest to follow. Some might argue that having a pre-loaded SD card would have been best but I think the point of doing this yourself helps you to better learn the process and get more comfortable with the device.
I then plugged in the HDMI cable to the Pi and dug up a USB mouse and keyboard. Next, I plugged in the USB power supply and SD card. Immediately I made a note to use a powered USB port next time as it would reduce the number of times I would have to torque the onboard USB ports. When I went to plug the HDMI into my monitor I realized that I only had DVI ports and had to scrounge around in my toolbox for a HDMI to DVI converter. (DVI converters are inexpensive and would have been a nice addition to the kit.) I also made a mental note at this point to DX the 1.5m HDMI cable for something longer. I put the board on a non-reactive surface (notebook) so the contacts would not short and then booted the device. I followed all of the default options laid out in the Getting Started book just to make it simple. All-in-all the experience in booting and setting up Raspbian for the first time was satisfying.
Make: Pi Enclosure:
When I first looked at the Pi Enclosure it was pretty easy to see how it was supposed to go together. What I didn’t realize was the amount of swearing it would take to actually get it done. There are only nine parts in the V1 assembly and it should be easy to do, but without instructions it might as well have had a million parts. There is a delicate balance between each of the parts and the tolerance is very low compared to the profile of the board. You also need to torque the enclosure parts to get them to fit together while balancing the assembly in one hand and not drop the Pi. Not at all optimal. In the end I broke a connector slot on the enclosure which required a little superglue to fix. Once I had the board in the enclosure I realized that the opening for the power port was off enough that it would require modification to accept the USB power cord. After taking the enclosure apart I used a project file to widen a couple of the openings (power, GPIO) and tried again, this time adding in the 26 pin ribbon for the Cobbler kit knowing I didn’t want to have to take this apart again just to add that in later. It was even more difficult to put the pieces together with the ribbon cable, but I got it to work. (BTW: Make sure colored ribbon is on pin 1 which is on the same end as the Pi power port.). The how-to for assembling the enclosure here seems to work fine, but doesn’t account for adding the ribbon cable. (I looked over the V2 of this box which uses bolts and nuts to hold together and I see there are problems with how you hold the nuts in place for assembly. I can only imagine the frustration with that version and the number of times nuts are dropped into the box only to have to open it and retrieve them to try again.) Better option: Make your own project box out of LEGOs.
Ada Fruit Cobbler Kit:
Basically the Ada Fruit Cobbler Kit is a simple device to connect the GPIO of the Pi to a breadboard making experimentation a little easier. The kit includes a PCB, socket, 26 pin ribbon and header pins. Assembly was pretty straightforward except for separation of the header pins. My kit came with the header pins in one stick with about 36 pins. You only need 26 (2x13) so breaking this down, while simple, still takes some care. I should have used jewelry pliers or side cutters which would have made sure I didn’t break it into 12, 13 and the balance. Adding back in one header pin is never fun and I should have known better.
Soldering was simple. First I soldered the socket to the PCB so I was working from the inside joints to the outside joints. Turning the assembly upside down worked well for this and my iron was still at a good temperature. I started from one end and worked my way down each set of pins, checked the joints and cleaned up one or two that were messy. Next I placed the 12 and 13 pins into a breadboard, set the PCB on that and worked from the middle pins out and then added the lone pin back in. (2x13 sticks would have made this much easier.) The header pin plastic melted a little because I was being aggressive, but a few tweaks and I was able level the socket with the pins so it didn’t look like my youngest child completed the work. It would have been a better experience if I had a soldering iron with temperature adjustment, smaller soldering tip and smaller diameter solder. My desolder tool helped when I found I had to reset a head pin that I accidentally pushed on with my iron.
I think assembly of the Ada Fruit Cobbler kit will be the most intimidating part of the kit for someone new to electronics. The kit calls out that you will need soldering skills and this is as basic a soldering job as you can get, but still some might shy away from it. I understand that more recent versions actually have the kit pre-assembled for those who don’t want to solder.
Good assembly instructions can be found here.
Working with the OS:
The Raspian OS is Lightweight X11 (LXDE) with Openbox. For non-Linux users this may seem a little scary but there is a whole body of work around this and outside of the scope of this review.
Configuring and setting up the OS on my home network was typical for a Linux install. I wish I had a wireless USB though so I didn’t need to rely on the Ethernet adapter and fear of having a cable pulled and dropping the device. Connectivity completed, I wanted to play with some programming on the device.
I was happy to see Python and IDLE in the install as it made writing a simple program to tinker with the system easy. Additional modules can be downloaded and installed easily. Sample programs are easy to find or write and are typical. At this point I had a working Linux desktop computer, the size of my wallet, connected to my network and a breadboard for experimenting with IO.
I have yet to run this headless but will do so at some point.
Working with IO:
After I completed the assembly items and tinkering, I picked out a project for the breakout board to see if there was something cool that I could show. I worked on the first simple IO example in the book and quickly found that the documentation is really poor for a first-timer.
The first example of GPIO work in the Getting Started book lays out that you should use male-to-female adapters, then promptly tells you that the Pi Cobbler makes it easier to experiment and then continues the experiment with mtf adapters, which aren’t included in the kit. It tries to compensate for this by using a really bad drawing of the GPIO pins that aren’t completely labeled and have caveats about versions of the board. So before wiring the board I had to do a little investigation about the version of the board which you can tell only by booting the device (a nice stamp on the board would have been nice). Fortunately I have a version 2 board making the wiring a little easier to follow. (More information on Pin IO can be found here.) I checked for errata on the book to see if some of it has been sorted out but didn’t see this addressed at the time I was setting the project up.
Note on IO projects: You should really make sure you have your circuits setup and buffered when working with external experiments. It is also important to understand how a breadboard works and which terminals are tied out. Basically if you aren’t careful and paying attention you can accidentally feed power back to your Pi and end up blowing it out. (Mixing the 3V3 and 5V will do that in an instant.) For a $35 board that isn’t too expensive of a lesson, but would probably cause a newbie to be quickly discouraged.
The ‘Hello World’ examples in the Getting Started for IO include lighting an LED and reading from a pushbutton. The setup for these circuits is pretty simple but the author of the experiment doesn’t explain well how the powerbus works on the breadboard which could easily lead to a project discouragement. Additionally, the diagrams are set for mtf jumpers so matching that to the Cobbler kit and making sure you get the correct pins there can be a problem. Reading IO in the samples was easy and was simply a matter of running as su and setting the direction of the pin and then echo or cat the value to set/read its state.
Other sample projects assume you have a PowerSwitch tail relay sitting around, which I don’t, so turning off an external device (table lamp) was out of the question in my first couple of experiments. I would have been nice to see either all of the experiments focused at what was in the kit, or to include all of the items needed for the experiments in the kit.
I tinkered with GPIO and Python to automate some of the work and it was all quite simple to do. Samples in the Getting Started were fine but as with most programming examples, there were some small typos.
I think for someone coming to this the first time the experiments in the book are pretty simple but assume some experience with electronics. For new electronics users I would recommend a copy of Make: Electronics as it does a good job of laying out Electricity 101 in straightforward terms. You will also want to start assembling some other break out tools which can be easily had from lots of sources.
I picked up a copy of Raspberry Pi Users Guide by Upton and Halfacree for more project ideas in the future and look forward to reading and working those projects. I also ended up getting a couple of other books about the Raspberry Pi to see what they have in them and will likely do a book review at some point about their content.
General Observations:
For $35 the Pi is a great buy but the problem is finding the companies who are selling it for that price; Make sells theirs for $50. The added project items needed in this kit seem to be a little pricy, causing the overall price to get it up to the $130 range. Ada Fruit Cobbler kits are running $8, Pi enclosures are running $15, USB chargers run about $7, 4GB cards run about $6, solderless breadboards about $15 and probably $10 for the extra parts in the box, $10 or so for the book. If you are already doing electronics hobby work, I would find a different sourced board and skip the extras here. If you are new and want to give this a try or want to one-stop the parts, then buy the kit.
There is a great deal of an IKEA effect by having you participate in the assembly and feel like you just made something cool. It was largely fun putting the parts together and I am thinking about project applications almost daily. One of our developers belongs to a racing club and we were thinking that these would be a cheap means of tracking and relaying car speed/vitals to a central unit. I am also curious to see if these would be a better solution for tracking car performance for those into hypermiling. In any case, I plan on trying a number of projects and continue to develop with the board.
Lessons Learned:
- A) Find a project box or assemble one of the nice Lego Pi Enclosures described out on the Internet. The project enclosure in the kit is fragile and difficult to assemble. There is a nice example made by a German Scout named Biz and can be found here. Or, if you are clever, you can make something bigger and better. As there is no heat-sink on board, I would avoid enclosures with a lid so you can vent any thermal from the board.
- B) The enclosed book is ok, but there are other resources that were more valuable in the setup.
- C) Get a powered USB device to control your mouse/keyboard, etc. There are only a couple of open slots on the Pi.
- D) An HDMI to DVI adapter is helpful.
- E) Get a longer HDMI cable to make this practical for experimenting.
Re:expensive and hard to get (Score:2, Informative)
So hard to obtain that over 1 million of them have shipped.
Try harder.
Re:expensive and hard to get (Score:5, Informative)
I know this will never get modded up to be seen but I'll say it again anyway: I got mine from MCM Electronics in a week or so.
They sell both kits and just the board by itself for $35 + shipping. In fact, they show IN STOCK right now.
http://www.mcmelectronics.com/content/en-US/raspberry-pi
Pictures (Score:4, Informative)
Re:Oh Shut Up (Score:5, Informative)
I ordered one from Newark. It was listed as "backordered" but I put the order in anyway and it was filled within a week and I had it in my hands 10 days after the order. And it really was $35. I had old SD cards, keyboards, mice, HDMI cables, etc. around already. And some legos to build a case. In fact, one might suggest if you don't already have that stuff lying around, you're probably not the target audience for the Pi anyway. I later bought the Adafruit breakout kit and some other extras, but those are definitely not required to have fun with the little thing.
Re:expensive and hard to get (Score:5, Informative)
For $42, you can get a fully functional Android mini-PC [dx.com] with a a Mali 400 GPU & a Cortex A8. Unlike the Pi, it has 1Gb of RAM and a significantly faster processor. Also unlike the Pi, they don't stiff you on the case or power supply. Add to the fact that the Pi's GPU is a binary blob and the Mali has some open source drivers [limadriver.org], and you pretty much seal the deal on this "open" computer. Now, even before these mini Android PCs, you could go on Ebay and buy an ARM dev board for like ~$60.
This is just the same crap they throw in cell phones. There's absolutely no reason to put up with shipping times measured in months for a cell phone with some GPIO pins.
Re:expensive and hard to get (Score:2, Informative)
The Raspberry Pi Foundation was set up to encourage children to get into programming. As such, an Android device would not really be appropriate. The concept is certainly not new. The inspiration is from home computers of the 1980s, where, on switching them on, you were immediately offered a programming environment, irrespective of what you were actually planning to do with the computer.
Eben Upton did a keynote at PyCon a short while ago; it's worth watching the video, if only to convince yourself that they really were not good at marketing. Eben Upton PyCon Keynote [youtube.com]
Re:expensive and hard to get (Score:4, Informative)
Actually, no offense to the Pi guys, but the concept is absolutely not new. They were just really good at marketing.
I don't disagree that you can find other options out there that have comparable features and less overall cost. Depending on your application, there may be a bunch of other options that are cheaper or have better performance in the same price ranges. My point was that you can usually get into a Pi for well under $100 for almost all of the normal use cases I've seen.
The Pi Foundation does have unusually good marketing for the kind of thing they are selling. They do spend a lot of time with their trademark on their website but I think they have accomplished quite a lot with their current offering. They have working hardware that's selling like hotcakes (Seems they are selling 10K + units a month) and they also have multiple supported software platforms which is based on common Open Source systems that can be easily extended. Want compile some standard package? We have a compiler for you. Want SAMBA? You can build it. The list is seemingly endless. Most of the other cards available do not have as much support or they are much more expensive, or both.
My experiences (Score:5, Informative)
A friend got me a PI recently as little present, which was very welcome.
It's a great little device, though with some very odd design decisions.
For me personally, the graphics chip is simply not needed. Also, onboard is a DSP that's unfortunately undocumented and hence disfunctional.
The I/O pins are hardly protected - so if you want to experiment with electronics, best start by a simple circuit to protect them, with some transistors or an optocoupler. Also, the pens are 3.3V and provide no power more than a 10mA... Not really an issue, but also implies that you cannot drive a relais from it directly.
The biggest issue is in the power. The power supply i had was adequate (1.4A), but, the PI itself is not. Hotplugging the USB with any power hungry device - like a WLAN key, or a webcam, is likely to power-cycle the PI. It is known issue - but can come unexpected. Low power devices like mice and keyboards are likely to be hotplugged but, any sane person only uses those during installation process.
Software - What works, what not works. Firefox runs. This is really impressive, it actually works. Albeit, that even when idle, the FF process alone will take 60-80% of the CPU power.
What not works - mono. Well, mono works. But, there are issues - especially regarding floating points, and it typically shows when accessing databases. 'Conversion error in (system.sql.data.import or some - i'm not that good with mono).
Performance - it is said it 'feels' like a pentium 300. I agree, overal the performance is not very sluggish, and much what you'd expect from such device. However, when running benchmarks, things turn out different. For example stockfish, the chess program. With parameter 'bench' it'll perform a single-core benchmark.
Ubuntu-pc-32: 4900ms
Ubuntu-pc-32 / optimized build: 4500ms
Ubuntu-pc-64: 3300ms
Raspberry pi: 239.000ms
From this benchmark, the PI more runs like a pentium66. This is a cpu and integer intensive benchmark. I'm sure modern memory access will make up for it. However, it is very clear that the ARM instruction set is very very elegant, but also very inefficient.
As far as connectors etc go, i agree with the reviewer. It's soldered, but does not look very bullet proof. Best be handled with care, and unplug power by unplugging adapter from mains might be prefered. That being said, apart some installation quircks i did not have to powercycle it often.
Stability. On idle load, it is very stable. I installed 'motion' - the videocam 'guarding' software, and configured it. However, this software was not stable. I don't know if it's the software, the port, or the PI, but it will not run much longer than a day, when making repeated snapshots (like 1/second).
The basic distro's seem fine. When adding custom software, the debian package may well be present (very very much kudo's to those distro maintainers!). Compiling software yourself on the PI is going fine in most cases, though may take a while. On larger compiles it may suffer from low memory and break - so, if you want to compile a lot for your PI, best set up a crosscompiler. The biggest issue i had was in unforeseen instabilities, either when putting the PI under load, either when using not-too-well-tested software like mono. That being said, it is very impressive that almost anything in a standard debian distro just works.
On occasion, i had a process that could not be killed. Here, it shows the architectural differences between i386 and ARM i guess. On a pc, the kernel should be able to kill any process. On the PI arm, this seems not always to be the case. I'm not enough cpu guru to guess details on this, just i guess it has to do with ARM.
Wifi - i had a nice wifi stick. It works fine. However - again, not perfect stable in my view, it may loose connection. May be my adapter maybe the pi. If you have chance, just use ethernet - it will releive the pi's cpu on the fly, and you may need the cpu power for other things.
What's missing:
Audio-in. This is really a
Re:Oh Shut Up (Score:4, Informative)
Don't get too excited about a 1Gb version.
The Broadcom CPU can only access one LP-DDR memory chip.
At the moment none of the RAM manufacturers are producing single-chip LP-DDR RAM chips larger than 512Mb - and it's not cost effective for them to build one just for The Raspberry Pi Foundation.
There is a 1Gb chip in that form factor on the market at the moment but it's made of two stacked 512Mb modules and requires two chip-select lines - which the Broadcom CPU does not have.
So it will be 512Mb max for some time - play with the new dynamic RAM sizing (details on the RaspberryPi forums) that gives most of the RAM to the CPU if the GPU is not used in that moment.
Re:My experiences (Score:5, Informative)
Note that the processor in the Pi was designed in 2002 (!), so it's probably not a fair reflection of current ARM chips: http://en.wikipedia.org/wiki/ARM11 [wikipedia.org]
I've bought a Hardkernel Odroid-U2 http://www.hardkernel.com/renewal_2011/products/prdt_info.php [hardkernel.com] and plan to replace my webserver. The Pi was almost powerful enough -- it was fine for everything except resizing photographs on demand. The Odroid-U2 has 2GB RAM, and a processor that was released last April ( http://en.wikipedia.org/wiki/Exynos_(system_on_chip) [wikipedia.org] "4 Quad", if I follow the description correctly).
I will still use the Pi, but more for toy/hobby stuff. At the moment it's monitoring my household electricity use (519W), and drawing a nice graph. Not too taxing:
20:31:08 up 14 days, 23:09, 1 user, load average: 0.18, 0.08, 0.06
Re:Still debating if I want a Raspberry Pi (Score:4, Informative)
h264 1080p HW-assisted playback over DVI with Audio and CEC.