The Raspberry Pi is by far the most popular ARM Linux hobbyist board with over 10 million pieces already sold. There are plenty of how-to and tutorials on the web, notably on elinux.org, so I won’t try to list all Raspberry Pi tutorials available, but instead will only list the few I’ve done in this blog.
Other Raspberry Pi How-tos
I explained how to install WordPress in my Raspberry Pi on top of Nginx using one of the minimal images listed below. Installing APC: sudo apt-get install apc, and configuring W3 Total Cache to use APC Object Cache will boost performance further.
The Raspberry Pi developers added VP6, VP8, MJPEG, and OGG Theora software decoding support at the beginning of 2013. At the time, it required to build omxplayer yourself, so I provided instructions to build omxplayer using the Raspberry Pi rootfs as an NFS share.
A few months, later I wrote another post about media playback, a bit less technical, explaining how to install OpenElec 3.0.0 on the Raspberry Pi.
When the Raspberry Pi foundation launched its camera module, I wrote a Raspberry Pi camera tutorial using the information I gathered on the Internet.
I wanted a case for my Raspberry Pi, something cheap that would also allow me to easily add extra boards. There was nothing on the market for this purpose, so I decided to create my own modular Raspberry Pi enclosure using perfboards, the total BoM cost was $7.30, which was definitely on the low-cost side, even it required some effort. After that, I added a relay and some LEDs to the perfboards to show the modular concept of this RPi case, and control these with the minimal Yocto image.
Bluetooth Low Energy (BLE) is one of the exciting new technological development that took place this year, and I wanted to play around a bit to I bought Texas Instruments SensorTag ($25) and explained how to control this BLE device with a Raspberry Pi.
The Raspberry Pi 4 is the fastest Raspberry Pi around (in 2019), but is it fast enough for your needs? Not to worry, as you can learn how to overclock Raspberry Pi 4 to 2.0 GHz and beyond to extract extra performance.
While Raspberry Pi boards have good multimedia capabilities, some users want to use those headless, for example as router boards, so we explain how to set up and configure OpenWrt on Raspberry Pi.
You may not always have physical access to the Raspberry Pi, or some Raspberry Pi products may feature a custom user interface that makes screenshotting difficult or impossible. To work around this issue, I explain how to take remote screenshots on Raspberry Pi SBC.
The latest board from the Raspberry Pi Foundation is not the most powerful, but Raspberry Pi Pico board is still fun to play with as the first MCU grade board from the organization, so we wrote a getting started for Raspberry Pi Pico using both C and MicroPython.
Start Playing with Raspberry Pi without the Raspberry Pi
It took a while before the Raspberry Pi became readily available, with lead times over 2 months common at the time of launch. So I wrote some post to get started before you receive the hardware by running a similar system in QEMU (Quick EMUlator):
- ARM1136 emulator running Debian in QEMU. This was before the kernel and images become available for the Raspberry Pi, so it’s mainly for historical reference, and should not be used at this point.
- Running the first Debian image for Raspberry Pi in QEMU.
- Running Raspberry Pi Fedora 14 Remix in QEMU.
The last two instructions can still be used but were written in early 2012, so you may want to download newer images to give it a try.
Minimal Images for Raspberry Pi
When I worked a few years ago, I spend some time optimizing firmware to reduce its footprint, which cheap memory storage this becomes less relevant for consumer products, but can still be useful for cost-sensitive applications, and for training purposes. I did three posts explaining how to create with minimal images without a desktop environment and extra packages:
- 84MB compressed image based on Raspbian. It’s still using a little over 400MB on the SD card, but it’s convenient as you can simply install the required packages with apt-get.
- 46MB compressed image based on Slitaz distribution. It’s much smaller than Raspbian with a rootfs of just 18.6MB, and tazpkg package manager allows you to install packages just like apt-get would do in Debian based distributions. There may be less supported packages than in Raspbian however.
- 12MB compressed image built with Yocto. There are two advantages to this method. The rootfs is still very small (42.8MB), and it helps you learn about the Yocto Project, which becoming more and more popular in the embedded Linux space. It’s a bit more difficult to install packages, however, as they need to be compiled with the Yocto build system.