Monday, April 8, 2019

Initial Product Assessment & Setup: Raspberry Pi 3 B+


Raspberry Pi 3B+ Single Board Computer (SBC)
Some time ago, I had re-initialized a private project that had been under development, but had been sidelined for some time while I took care of other pressing issues. As part of the build and prototyping phase, the system needed to be implemented and tested on hardware. Although its earlier form was deployed on a much older platform, things had moved along significantly since then in terms of power and performance, and it was time to take a fresh look at what was available.

I had been aware of the Raspberry Pi since its first incarnation, but did not have much of an incentive to consider its earlier incarnations, as they were not as capable as the COTS hardware I had worked with. Things changed when I had the chance to visit a major technology firm that was doing research in robotics. I was surprised to see them leveraging Raspberry Pis both in stand-alone and clustered architectures, to perform some very impressive and cutting-edge computational and communications work. I decided that it was time to take a fresh look at the latest incarnation and see what it had to offer. I was more than pleasantly surprised.

Having looked through the latest offerings from the Raspberry Pi Foundation, my attention was caught by the latest product version - the 3B+. Looking through the product specifications [1], I was impressed with what I saw in terms of computing power and performance:
  • A Broadcom BCM2837B0 CPU, using a Cortex-A53 (ARMv8) 64-bit SoC @ 1.4GHz
  • 1GB LPDDR2 SDRAM
  • BLE Gigabit Ethernet over USB 2.0 (maximum throughput 300 Mbps)
  • Extended 40-pin General Purpose Input/Output (GPIO) header
  • Full-size HDMI 
  • 4 USB 2.0 ports 
  • CSI camera port for connecting a Raspberry Pi camera 
  • DSI display port for connecting a Raspberry Pi touchscreen display 
  • 4-pole stereo output and composite video port 
  • Micro SD port for loading the OS and data storage 
  • 5V/2.5A DC power input Power-over-Ethernet (PoE) support
  • Wireless LAN functionality with 2.4GHz and 5GHz IEEE 802.11.b/g/n/ac
  • Bluetooth 4.2
Raspberry Pi 3B+ complete kit
Although the processing power offered was impressive for such a tiny form factor, it was the last two features on the list that were the crucial factor that sold me as a customer: chipsets for IEEE 802.11 wi-fi and Bluetooth 4.2 communication capabilities integrated on-board. The platform would do what I needed for the prototype system. I went ahead and bought one from a local electronics shop, RP Electronics [2].

The kit that I purchased for the Pi 3B+ included a number of items: the Pi itself, a power supply adapter, an SD card with the OS installer and a case.

After unboxing and reading through the instruction manual (which turned out to be straightforward), I decided to run through the initial setup process and see what happened. With the HDMI connector on the Pi, I had the option of watching the setup on my computer monitor or my TV. I decided to test it on my computer monitor, which did not have a HDMI input, but was instead used with a DVI to HDMI adapter. With the NOOBS SD card in place, the Pi was connected to the monitor and powered on. The display worked as expected.
Raspberry Pi successfully tested with HDMI to DVI monitor adapter
Having confirmed that, I moved the Pi to the TV, wired it to one of the HDMI inputs, began power up and entered the OS install process. With the Pi connected to my home internet gateway over Wifi, a lot more OS options appeared as install choices (including the Screely Digital Signage Platform, which I had encountered at a Linux Foundation conference). Of all the options, I was most surprised to see Windows 10 IoT Core listed among them.
Install options list during Raspberry Pi 3B+ OS installation process
Opting for the recommendation of the full Raspbian OS, I stepped through the menus and watched a pretty painless install process that took a few minutes, with some nice splash screens interspersed in between. The end result was a setup confirmation and a process of configuring the Raspbian desktop, with locale for keyboard, timezone and OS updates. 
Completed installation of Raspbian OS
With all that finished, I was prompted to reboot. This was where I ran into problems.

The startup sequence ran into an error reading from one of the file system blocks on the SD card, and failed to a terminal window with a command prompt. Closer inspection revealed that it had entered a degraded mode, with a Busybox command prompt. That didn't leave me with a lot of command options. I used the sudo reboot -f command to reboot. The reboot process worked successfully and booted into the Raspbian desktop. However, when I went through logoff, shutdown, powered off the Pi and then turned the power on again, I ran into the same startup error and had to reboot the system from the Busybox terminal in order to achieve a successful startup.

This meant that something had gone wrong with the installation process. Either the NOOBS installer had been improperly written to the SD card, the Raspbian installer had run into errors writing or reading from it during startup, or the SD card itself was bad. 

I decided to make do with the faulty system for the next few days, and then attempt to do a clean erasing and format of the SD card, reload the NOOBS installer and go through the entire setup process again. I will cover this in the next post. See you then!

REFERENCES:
==========

 

No comments:

Post a Comment