This is the list of hardware I’ve used:
- An Inky Impression 5.7 inch e-ink display.
- (The Inky Impression comes with a 40-pin female header included to boost height for full-size Pis and standoffs included to securely attach to your Pi)
- A Raspberry Pi 3 model B+ (I had lying around) + power supply
- A micro SD card with 8 GB storage or more.
- Initially: keyboard, mouse and monitor (but if you configure the WiFi on the Raspberry Pi and configure it to allow remote SSH, you can connect to it via WiFi from the convenience of your regular computer)
For those who don’t know a Raspberry Pi: this is a very small and quite cheap computer. The Raspberry Pi 3B+ I’ve used for example is about 40 euros. But you can spend even less, because my Strava dashboard doesn’t exactly require a lot of computing power.
So you could instead use a Raspberry Pi Zero 2 W (15-25 euros), which takes up less space also. But I believe this will require soldering to attach the GPIO. And it seems to be out of stock on a lot of sites.
Attaching the Inky Impression to the Raspberry Pi
The Inky Impression screen needs to be attached to the 40 pin adapter (officially called the GPIO) on the Raspberry Pi. I’m not exactly a hardware genius, but you’ll probably see there’s only one good way to attach it.
Preparing the micro SD
At this point the Raspberry Pi still doesn’t have an operating system. That needs to be installed on a micro SD card. You will have to install the Raspberry Pi OS from a Window or MacOS computer. You will find instructions to do that here:
https://www.raspberrypi.com/software/
During the installation of the Micro SD you are asked to create a user with a password. You are going to need that later on when we log in remotely via SSH.
It is very convenient to address your Raspberry Pi later via a hostname rather than an IP address. You can already change the hostname during the installation and enable remote-SSH and SPI and I2C beforehand, but I wasn’t aware of that, so I did it later. I’ll explain how below in this blogpost.
Starting the Raspberry Pi
Insert the micro SD card in the designated slot for this on the Raspberry Pi. Now it’s time to start it up. Before you do that, attach a computer screen (on the HDMI port) and a keyboard and mouse. Next attach the power supply. It will now boot up.
You will see the operating system looks a bit like Windows with a start button and a taskbar and everything.
I’m going to assume here you don’t want have a dedicated screen, keyboard and mouse attached to your Raspberry Pi all the time. We can change the configuration so that we can access it from the comfort of your regular computer. For this we need two things:
- An Internet connection (WiFi would require no extra attached Ethernet cable)
- Remote SSH configured.
Configuring the WiFi connection
I believe the installation of the Raspberry Pi OS already comes with a question of what WiFi network you want to connect to. But in case you haven’t done that yet, look upper right on your screen and you will notice a familiar WiFi icon. Click on it and it will show a list of WiFi networks. Connect to your WiFi network of choice.
Configure Remote SSH, SPI and I2C
Remote SSH will allow us to connect remotely to the Raspberry Pi. It will allow us to type Linux shell commands from your regular computer via a SSH connection.
To configure this, open the start menu, go to Preferences, then Raspberry Pi Configuration. Click on Interfaces and enable SSH. (From: https://thepi.io/how-to-ssh-into-the-raspberry-pi/). But wait: don’t close this window yet.
Because you need to enable SPI and I2C also. I have no idea what these options are, but without it Pimoroni’s Python code won’t detect your display. It took me a while before I discovered that there is a solution for that.
Okay, now we need to try out that SSH connection. But I will leave that for the next part of this series.
Change the hostname
Like I said above, it’s very convenient to connect to the Raspberry Pi using a hostname rather than an IP address. Because if your Raspberry Pi is configured with default network settings, it will get an IP address from DHCP and therefore it will change from time to time. Suddenly your Raspberry Pi moves and you can’t connect to it anymore.
You can keep the hostname it gets by default, but if you have multiple Raspberry Pi’s in your network they’re all going to be called raspberrypi.local, so that will cause problems when connection. So we’re going to give our Raspberry Pi a hostname of our choosing.
Start the Terminal. You can find this under the Start menu, Accessories, Terminal. The Terminal allows you to run Linux shell commands (bash).
To change the hostname we’re going to edit a configuration file called /etc/hostname.
sudo nano /etc/hostname
Change the current hostname “raspberrypi” into a name of your choosing. I called mine “inkypi”. (Maybe I should have called inkypi1, because I have a second Inky Impression screen that is waiting for another application.)
So now that I have named my Raspberry Pi inkypi, I will be able to connect to it with it’s name inkypi.local.
On to the next step: connecting to the Raspberry Pi and installing the Pimoroni library.
Pingback: A Strava dashboard on a Raspberry Pi with an e-ink display (Part 1) | Expedition Data
Pingback: A Strava dashboard on a Raspberry Pi (Part 2): Installing software | Expedition Data