New open hardware: Raspberry Pi B+

No readers like this yet.
Raspberry Pi model B+

Luis Ibanez

I got a new Raspberry Pi B+ board from Adafruit. Check out my review of it here.

The main differences between the B+ and the Raspberry Pi model B are the new model has:

  • four USB ports (versus two in the model B)
  • a microSD card (versus a full size SD card in model B)
  • a video jack integrated with the audio jack (versus two separate jacks in the model B)
  • GPIO pins extended to 40 pins (versus 26 pins in the model B)
  • lower power consumption
  • four mounting holes

What has not changed:

  • The price, it is $35 USD
  • The amount of RAM, it has 512 Mb

Picture of the back of the Raspberry Pi B+ board showing the microSD card

Adafruit is a great place to purchase the Raspberry Pi model B+.

Notes when ordering:

  • Accessories: not all model B accessories are compatible, so pay close attention while ordering
  • Set up: straight forward as usual; I got the Raspbian Wheezy Linux distribution and made the following basic adjustments

Box of the Raspberry Pi model B+ and the Raspbian microSD card

1) Expand the filesystem to make use of the full capacity of the SD card, by typing the following command in the terminal:

sudo raspi-config

Select option 1: Expand Filesystem.

Then reboot the Pi for the expansion to take effect.

2) Change the Keyboard layout from UK to US, by typing the following command in the terminal:

sudo raspi-config

Select option 4: Internationalization Options

Then choose option I3: Change Keyboard Layout

This command launches a text-based menu, that allows you to select:

  • Keyboard model (in my case to "Generic 104-key PC", since I got the MiniChiclet keyboard)
  • Keyboard layout (in my case to "English (US)", changing the default of the "UK" layout)
  • The default AltGr key (that I left to the default of the keyboard)
  • The Compose key (that I assigned to the Left Logo key, just as a preference)
  • Enabling whether CTRL+ALT+Backspace terminates the X server (that I set to Yes, a good thing if one plans to hack on the Pi)

With this information, the command modifies the file:   /etc/default/keyboard

In my case the content end up as:

# KEYBOARD CONFIGURATION FILE
# Consult the keyboard(5) manual page
XKBMODEL="pc104"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS="compose:lwin,terminate:ctrl_alt_bksp"
BACKSPACE="guess"

3) Set the timezone to EDT (New York time), by typing the command:

sudo raspi-config

Select option 4: Internationalization Options

Then choose option I2: Change Timezone

In the continent menu I selected "America", and in the city menu, I selected "New_York."

4) Set up WiFi

Use this mini dongle and follow these instructions from AdaFruit:

Boot the Raspberry Pi without the Wifi adapter plugged in:

sudo vi /etc/network/interfaces

Change the original content:

auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

To use my home router information, with SSID name and password:

auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid "MYSSID"
wpa-psk "MYPASSWORD"

Save the file with the usual vi command ":wq" and shutdown the Pi. Then, connect the WiFi adapter and boot it again. At this point the Pi should be able to get into the network.

This can be easily verified with the command:

ifconfig

It will display something similar to:

wlan0 Link encap:Ethernet HWaddr 00:f1:40:42:0a:78
inet addr:192.168.1.15 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1002 errors:0 dropped:306 overruns:0 frame:0
TX packets:554 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:116210 (113.4 KiB) TX bytes:79851 (77.9 KiB)

Once in the network, proceed to update the distribution with the usual commands:

sudo apt-get update
sudo apt-get upgrade

In my case, I was surprised that the upgrade was going on for a long time, so I looked more closely at the problem. It turned out that the Raspbian distribution from AdaFruit comes with a free version of the closed-source Mathematica by Wolfram. Although it is very nice of Wolfram to provide free copies of the Mathematica application, it does get in the way of doing regular updates. The Mathematica repository serves data so slowly that even leaving "apt-get upgrade" work overnight was not enough to get an upgrade of the package. The common solution seems to be to remove it, so that's what I did. This involved removing the source files for apt-get and then purging the wolfram-engine package with the command:

sudo apt-get remove wolfram-engine
sudo apt-get purge wolfram-engine

After that, upgrades behaved at the usual speed. So, a great application to use instead is Sonic Pi, which is intended to learn live music coding. It's a lot of fun and a very interesting learning experience.

Overall, the Raspberry Pi model B+ is a great improvement over the model B! And, the Pi engineers did an excellent job on improving the board while maintaining the same price.

User profile image.
Luis Ibáñez works as Senior Software Engineer at Google Inc in Chicago.

5 Comments

Quite good, but Raspberry Pi B+ isn't Open Hardware, one of this:
https://en.wikipedia.org/wiki/List_of_open_source_hardware_projects

I think you're really much mistaken here. The RPi foundation do share a great deal of information about the Pi and are a super great bunch. However they do not make Open Source Hardware. Please stop saying that they do!

Going through the article you provide in your comment here. "the "source code" for open hardware—schematics, blueprints, logic designs, Computer Aided Design (CAD) drawings or files, etc.—is available for modification or enhancement by anyone under permissive licenses. " The schematics provided for the Raspberry Pi are provided under copywrite, all rights reserved. Not a permissive license unless I'm much mistaken.

Also in Open Hardware, a schematic pdf isn't enough to qualify. This is from the OSHWA definition:
"The documentation must include design files in the preferred format for making changes, for example the native file format of a CAD program. Deliberately obfuscated design files are not allowed. Intermediate forms analogous to compiled computer code — such as printer-ready copper artwork from a CAD program — are not allowed as substitutes." To be open you need board files.

Open hardware is something that you read in the native format used for design, send off to be built (unchanged if you like), assembled (and sold as profit if you like) as long as you attribute (if stipulated). Anything else is closed. That's not a hard line but a fact of Open Source Hardware.

I love the Pi and the Pi foundation but please don't use marketing to muddy the understanding of Open Source Hardware. For more info see the definition on the OSHWA site.

In reply to by Luis Ibanez

It's worth noting that not all the devices on that list are fully open either. Most of them try to be as open as possible while still accomplishing their other goals, and that is also what the makers of the Raspberry Pi do. For example, I have an OpenPandora, and while they have tried to make it as open as possible, it is no more open than the Raspberry Pi is.

In reply to by Manel (not verified)

Great article! I just bought my first pi, a B+, and I still haven't decided whether to use Debian or Fedora. I plan to use it as a DHCP and DNS server, since I am sure it has a very short boot time.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.