raspberry pi 3 – the adventure continues

I spent some time this evening running the Raspberry Pi 3 (referred to as RP3 from here on out) through some paces, starting with bringing up the i2c interface. I’d done this early on with the original Raspberry Pi a little over two years ago using the Arch Linux distribution. I followed those directions but with Raspbian as the target distribution, and I failed to enable the i2c buss.

Rather than spend an inordinate amount of time trying to debug Raspian I grabbed the second of my 32BG Samsung micro SDHC cards and following the directions on the Arch Linux | ARM wiki, I created a bootable Arch Linux card and brought up the RP3 under Arch Linux for ARM. The current page for the RP3 instructions states up front this is the older 32-bit ARM release. Because this is a bare-bones distribution compared to Raspbian, the RP3 needed to be hard wired into my network in order to update the distribution as well as install additional packages, such as support for WiFi. I should note that it was simple to install Arch Linux WiFi support, and when it was installed, it enabled the RP3’s internal WiFi network. Once that was up and running I pulled the network cable and carried on.

I installed the same packages for the RP3 as I did for the original Raspberry Pi, and when I went back to reboot it, I didn’t see the i2c buss. I did a little digging and discovered I had to edit the /boot/config.txt file on the RP3, making the following changes to the file:

  • uncomment device_tree_param=i2c_arm=on
  • uncomment device_tree_param=i2s=on
  • uncomment device_tree_param=spi=on

With those three lines uncommented and with the necessary drivers installed from the earlier packages /dev/i2c-1 was finally enabled.

I should note that the same Arch Linux ARM micro SDHC card boots both the RP2 as well as the RP3.

I should also note that I needed to fix how the Apple aluminum keyboard worked as I documented here.

Because the RP3 requires more power than any other Raspberry Pi to date (5v at 2.5A), I’m using an Apple 12W USB power adapter. I’ve got more than a few around the house these days, and their output is rock solid and clean. So far it runs the bare bones system without anything else attached.

Next steps will be to install X and TWM. Or I just might use the seven virtual keyboards that work now (one of the benefits of a properly configured Apple keyboard).

I’m trying to move as fast as I can to catch back up to where I was back in 2014. I’m working towards an IoT framework around Arch Linux with baked-in encryption. For real this time.

And maybe, just maybe, add a dash of some of the CoreOS features that have caught my fancy. A lot has happened these past two years, and I have a lot of serious catching up to do.

raspberry pi 3 model b

Raspberry Pi 3 Model B

I ordered the latest and greatest Raspberry Pi over the weekend from Amazon, along with a couple of C++ reference books, two Samsung micro SDHC 32GB cards, and a Sunbeam heating pad for my right leg. Everything arrived earlier this evening with a doorbell ring that sent the dogs into their usual barking mode.

Earlier in the day I’d grabbed the latest Raspbian image from the Raspberry Pi foundation and had it uncompressed and ready for use for when the Pi3 arrived. Then, in between getting supper ready, I copied the image to one of the 32GB cards and booted up the Pi3.

Raspbian desktop – Feb 2016 boot image

I used this image rather than the image I could get from Raspian.org. I wanted to play it safe and make absolutely sure I could not only boot it, but be able to bring up the WiFi interface that is now built into the Raspberry Pi 3 board. And I did. Connecting to my wireless router was absolutely dead simple. What I found interesting is that the system booted immediately into the desktop, and didn’t even attempt to resize and use the full 32GB micro SDHC card on first boot. I’ll investigate why later.

I didn’t do much more than power on the board and take a quick peek at some of the features. Since this image is built for 32-bit rather than full 64-bit, I was unable to see if the kernel could identify it as a 64-bit ARM architecture. As far as this Raspbian is concerned it’s still running on a 32-bit machine.

And run it did. I can’t believe how much smoother and faster the Pi3 is over every other earlier release. What I find amazing is that it’s all still just $35 for the board. It now feels like a “real” computer. Everything is very smooth, with no jitters and delays, especially when working on the graphical desktop.

I will be digging deeper going forward, in particular picking up where I left off a good year ago using Node.js to provide control and an interface. A lot has happened and I’ve been giving a lot of thought to so-called Internet of Things devices, of which the Pi3 is a very good example. I want to add solid encryption to the device now, both for data at rest (the file system) as well as data on the wire. I was already headed down a path of locking down all but the absolutely needed ports into the Pi2 when I stopped.

2016 is going to be an extremely interesting year for cheap, powerful itty bitty computers.