E-Paper Display Project

Why he's me of course,raspberryPihardwareCqr codes

Aim - Get a QR code onto an E-paper display that contains the wifi password.

stuff:

First I set up my pi by connecting it via wire to the router.

You wanna enable ssh otherwise doing it via the gui is a massive pain in the arse. If you haven't already done this you'll need to connect it to a screen and plug in a mouse/keyboard. Crap I know but there you go.

To enable ssh you need to run

  sudo raspi-config

and follow the steps to enable ssh. You won't miss it.

While you're at it you'll need to enable the SPI interface. It's just another option in the raspi-config.

Ok unplug your pi from your peripherals and just connect it to your wifi router (wire or wireless) and power it on.

Ok so your pi is on, connected to your network, now shell into it. You may need to find it on your network, so a quick nmap scan should do the trick. Run this in your local machine terminal:

  nmap -Sn 192.168.1.0/24

and look for the ip address associated with 'raspberrypi'. The above command scans the sub-net for all connected devices.

Once you've shelled in and have a terminal open we're ready to rumble.

You wanna pretty much follow the waveshare docs (opens in a new tab) according to what e-paper display you have.

I'm just gonna write here a simplified version for you.

step 1 - connect the e paper display

using the 8 pin

they have a little graph of which wires go where. It's not perfectly color coordinated, but if you look on the e-paper they have the names of each of the wires right next to where they're soldered onto the board. See:

wire names from the e-paper

So according to the table, GND goes into the GND pin, the DIN wire goes in pin 19 etc. e-paper col maps to the "board" col.

Note that above I mean pin 19 and not GPIO 19 - they're different. classic rookie mistake. classic.

8 pin mapping from board to pi

NOTE! When I connected the VCC wire (grey for me) to pin 1 it stopped my pi from connecting to the network. Fuck knows why, so I connected it to pin 17 and all was good.

I used this graphic (opens in a new tab) for reference.

mine looked like this in the end: final wiring to the pi

using the board

this is a lot easier but less fun because you feel like more of an infantile putting lego together rather than the true engineer you want to be.

just line up the holes and connect them together. They make a satisfying click when they're in.

step 2 - blindly follow the mysterious installation steps

so waveshare have a few libs to install before you can get anything on screen. See the link I set above. Follow that.

I followed the C version because I enjoy the suffering. I'm also trying to improve my low level language skills so, as my Russian uncle used to say, no work no fish (opens in a new tab).

so you've installed all these packages and libs of unknown origin. Who knows what's being monitored on your pi/network/life, but who cares - You're ready to test something out.

Follow the steps till you've got one of the tests running on the display.

step 3 - modify the c file in the examples folder that corresponds with your e-paper device

So you know it says you need to compile the c file that corresponds to your epaper display version with

sudo make -j4 EPD=epd2in13V4

We need to find the c file in the examples directory that corresponds with the EPD you've selected.

mine was epd2in13V4.

thus, go to the examples directory and find EPD_2in13_V4_test.c or your corresponding file.

in fact there is a list file that has them all neatly laid out here (opens in a new tab). looks like this:

list of EPD codes

I tried to create my own file but ran into some thorns when trying to modify the make file which is just a bunch of if else statements.

So I just edited the example file.

I am trying to keep this as quick tutorial to get something up and running. Why? beacause I have a child.

Which means time is about as abundant as agreement between a pro-life and pro-choice supporter.

If someone wants to lemme know how to create your own file and compile it please let me know would genuinely be interested in where I was going wrong.

tbc ...

bisous