I finally got my hands on the new Raspberry Pi 3 Model B (Fig. 1), which has a number of improvements including support for Wi-Fi and Bluetooth. It is also based on a 64-bit, quad-core, ARM Cortex-A53 Broadcom BCM2837 SoC. At only $35, it is in high demand. Luckily I received an eval version from Newark/element14.
Getting the Raspberry Pi 3 up and running was a snap since it uses the same 32-bit software as the Raspberry Pi 2 I have been using. I used the Raspian Linux distribution. Just download and copy to a microSD card. Faster versions work better with the new board, but the only issue with the Class 4 I used was that it runs slower. The OS boots to a GUI on the HDMI output and it already includes support for USB devices. It was simply a matter of plugging in a USB keyboard and mouse to start checking things out. I could have edited the files before booting to link to my network, but I wanted to start from scratch.
The graphical Wi-Fi support is standard, but the graphical blueman Bluetooth configuration program is not. This will likely change once a board specific version is available. It is a simple apt-get exercise to add it, but it turns out that, at least for me, the command line bluetoothctl program was the way to go. By the way, run it as “bluetoothctl -a” when pairing a keyboard. Linking my Wi-Fi network was just a matter of selecting the SSID and entering the password. The SSH daemon is running by default so remote access was available. It was time to pull the plug on the USB keyboard and mouse.
The 1.2 GHz Raspberry Pi 3 is snappier and more power-efficient than its predecessor. Both top out about 3.8 W, but the newer board uses only 2.5 W when idling. This is because the processor idles at 600 MHz.
It boots in a few seconds and the load time for most applications tends to be more limited by the microSD card speed than the processor. The main limitation is the 1 Gbyte of DDR2 SDRAM, the same as the Raspberry Pi 2 Model B—but it is more than sufficient to run a desktop, including the Libre Office applications.
The BCM2837 uses the same VideoCore IV GPU as the BCM2836 found in the Raspberry Pi 2 Model B, but the Raspberry Pi 3 GPU runs at 400 MHz. It handled streaming HD video without a hitch.
Overall, I found the Raspberry Pi 3 to be a nice, compact desktop. It should prove to be an excellent embedded platform given its increased performance. I really like the Wi-Fi and Bluetooth support. It is doing to work well in the iRobot Create 2 that I had running a Raspberry Pi 2 (Fig. 2).
My next exercise is to check out myDevices’ Cayenne. They have a package for the Raspberry Pi that links the board to the cloud. I signed up for an account and downloaded software. It is easy to install and link to the cloud, but that is when the interesting part starts. Now I need to check out the IoT Project Builder. It has access to the rules engine that runs off events on the Raspberry Pi.
The other thing to try will be Windows 10 IoT Core on the Raspberry Pi 3. It is already designed to run on the Raspberry Pi 2 (see “Getting at the Core of Windows 10” on electronicdesign.com). The current version should work as well as Raspbian has. Of course, a tuned version will be in the works and that is where things get interesting.
It should also be interesting to see a 64-bit version of Raspbian running on the Raspberry Pi 3 to take advantage of the 64-bit, ARMv8-A architecture. The 1 Gbyte of memory may limit the use of virtual machine support, although it may be possible to use lightweight Docker images. The 64-bit support should prove very useful for image processing applications that have proved daunting for the Raspberry Pi 2. I am looking forward to a Raspberry Pi 3 Compute Module.
The 1 Gbyte of DDR2 DRAM, 10/100 Ethernet and USB 2.0 are limitations we will have to learn to live with but they are offset by the built-in 802.11n and Bluetooth support. The Raspberry Pi 3 continues deliver a popular platform for an ever growing ecosystem. Of course, it is just the opportunity for the Raspberry Pi 4.