Today I want to show you how you can set up and control octoprint using a screen, from
next to your printer.
This is cool, so even if you don't have octoprint, maybe it will change your mind by the end.
Let's go.
OK I'll start with a bit of an explanation why this video exists in the first place.
When you buy your shiny new printer, it's so exciting and you enjoy or at least have
no issue with constantly having to move the SD card from the printer to the computer to
prepare the gcode to print.
Over and over again.
But after a while, it gets old.
And so does the SD card.
Octoprint isn't the only solution to this problem, in fact a few printers have and are
implementing their bespoke versions, but octoprint is in my opinion the best option in most cases.
I absolutely recommend using octoprint on your printers, but there is one downside.
Well, two I guess.
The first is you need - and don't rush to the comments, I know you can run it on android
phones but I hate that solution, you need a raspberry pi.
They're getting more available now, so if you can't get one then hang on.
The second downside is the upside, but turned around.
With octoprint you control the print via a web server running on the Pi itself, meaning
you can access the server from anywhere you have a web browser.
Anywhere, in fact, other than the printer itself.
From the printer itself, you just have a blank box.
That's something that bugs me a bit I guess.
But no more, because that's where OctoDash comes in.
To put it simply, Octodash is a touchscreen based front end for octoprint that allows
you to access most functions you need to perform from next to the printer, and can be run on
the same Pi that's running octoprint.
I'll show you a cool trick later on though so stick around, because it's even better
than that.
And of course Octodash isn't the only screen software for octoprint, there's also octoscreen,
but I'm not covering that here.
This tutorial is going to be mainly focused on these two hyperpixel screens which have
been kindly provided by Pimoroni themselves.
After having some discussions with Pimoroni, it seems that a lot of people get stuck specifically
on the process of setting up these screens for running octoprint based displays, so I
agreed that in exchange for being provided with samples, I'd try to clarify the process
and that's why we have this video.
I did possibly bite off more than I could chew, but these screens are really shiny and
the image quality is crazy good so...worth it!
Anyway that means I did receive a product in exchange for a video so the sponsored flag
has been ticked.
I'm not under any contract to plug Pimoroni but I will anyway, if you're a maker especially
in the UK, you should definitely check them out, they sell some really cool things...and
unlike random ebay purchases they actually support all their hats and displays and stuff
by providing setup scripts and documentation.
If you have a non hyperpixel screen like either maybe a 7 inch display like this one, or a
tiny one like this one, then the general process is the same but you can ignore most of the
latter half where I will put "hyperpixel only" on screen, which seems like the most sensible
way of doing this.
I'm going to assume in this tutorial for the sake of not making it tedious and an hour
long, that a few things are prerequisites.
Firstly, that you know how to set up the Pi in the first place using the Pi imager to
make an SD card, and secondly you can navigate your way to an ssh shell on the pi using for
example Putty.
I'll try to put some links below to tutorials on that.
The general overview for the process, something I think is important to tell you so you don't
get lost in the details, is on screen now.
All methods involve some version of raspberry pi OS, with octoprint, which is written in
python code, sitting on top of that, and octodash running as a separate process and only talking
to octoprint by means of its API.
For octodash to work on your screen also you need to install some kind of "stuff" for want
of a better word to make that screen work.
So I suppose it's a three, or four stage setup process in most cases.
[Option one: ] Currently this is the best option because it works out of the box.
This option is very time specific for hyperpixel owners, I'll cover that in a moment, but as
of...may 2022, this is the option I recommend for everyone, and all the screens I tested.
This process is very simple and uses the current release of Octopi and Octoprint, and is a
built image, which you burn to an sd card in the usual way with the pi imager - you
can just follow the steps to get octoprint running which involves following these instructions
precisely as it says.
Once it's set up, navigate to the respective IP address and follow the prompts which will
get you to a working instance of octoprint.
This is the point where you need to take care of installing the drivers for the screen you
have.
For a hyperpixel, you need to follow the latest instructions on the pimoroni site, at the
time of making the tutorial that is the set of commands on screen now.
If you have an adafruit screen like the one I have here, the process is similar but the
commands are different, again just cut and paste the instructions as they are on the
adafruit site, the link is below.
Y ou will be wanting to choose yes to mirroring hdmi with these kinds of screens.
With an hdmi touch screen like this one, you need do absolutely nothing.
It should already be working and in the correct orientation out of the box.
Nice.
Yes I know there's no image of it working.
Sorry.
Not sorry.
Installing octodash to the side of all this, is very simple, it's a one line install.
Just cut and paste this line from the octodash website, into an SSH prompt.
Click the default options during install and I recommend these plugins but you can change
them later at any time.
At the end of the install you will be asked to reboot and this time, you should.
This final step is for hyperpixel owners only, and more specifically those of you with the
rectangle version.
The square owners, sorry, you can't rotate the screen, yes I know this one is square,
hold your horses a moment.
Those of you with the rectangular one, you will want to run the commands on screen, this
will rotate the display to landscape.
That's it.
You might need a final reboot before you set up octodash, which is pretty simple to do,
it usually detects the running session of octoprint so you can go ahead and print some
stuff and mess around with it.
Maybe print a case.
If you find a nice one, let me know so I can print it for myself.
Setup option two is to use what's currently the 1.0.0 Release candidate of octopi which
at some point will become the release version, and at this time, is kind of a non option
for hyperpixel owners.
This is where it gets a bit hard for me to explain the "sitch".
You see, at the time of making this, this version will not work with hyperpixel screens.
I was unable to find an easy workaround for this.
I don't want to go too far into the reason why this is an issue, but it's because the
new Bullseye version of the raspberry pi OS breaks compatibility for the hyperpixel, and
while it's had a rewrite to make it even simpler to use, that doesn't come in until a later
version of the linux kernel than the one in this version currently.
This of course may all change by the time you reas this, version 1.0.0 of Octopi may
end up on a later kernel.
If it does, I will update the description I guess.
If you have a different type of screen to a hyperpixel then you will be absolutely fine
with this version, but for hyperpixel users you need to skip to option 3.
Option 3, is the workaround to option 2.
This will become relevant later.
And I guess hopefully irrelevant later than that.
But while we're in this weird place where Octopi builds are using kernel 5.10 on Pi
OS bullseye, we have to do this.
This, being a manual install of Octoprint on top of an install of Pi OS lite.
Don't panic, it's pretty simple actually.
I've put the steps on screen but I'll link below to the respective guides.
The process in a nutshell is to flash the non desktop version of the most recent Pi
OS which should be bullseye lite, using the pi imager as before.
Importantly make sure your username is Pi, don't change it.
Once you have it, same as before get yourself an SSH connection into the pi.
It's worth issuing a uname -r to check you are running kernel 5.15 or later to avoid
wasting time.
You will want to then follow the new pimoroni issued instructions to set up and rotate the
screen.
This is a single line addition to /boot/config.txt, just copy and paste it, the line is the same
for both screen shapes except for an sq on the end for square.
Then because octodash doesn't use your standard desktop environment, there's some obligatory
shennanigans to be done.
You need to see this part of the guide, but the long and short is to cut and paste this
text into a script that you can run.
In your ssh client, you want to do a sudo nano rotate.sh (call it what you want) and
just copy all this text as I am, and paste it into that newly created file.
Save it with ctrl-O and then exit with ctrl-X.
Annoyingly you're going to need to make this runnable which is just this text here, paste
that to your console and it'll make it an executable file.
This is the part where we install octoprint.
Ordinarily this might be a pain to do, but luckily thanks to foosel who by the way is
the creator of octoprint, we have explicit and no nonsense instructions on how to do
this.
Follow them.
Follow them exactly.
If you do this, you'll have octoprint up and running in maybe 5 minutes or less.
So - Now we're back on track as before, run the same single line script install for octodash.
And choose the same options as before, and click yes to the options that it basically
tells you that yes is a good idea.
Reboot at the end and reconnect.
You should now have the screen working but portrait by the way.
If it's not, then uh oh.
But it should be.
Next we have to run exactly these two lines to rotate the screen.
The first line installs a dependency we need for the touch screen, make sure to do that
or the touch screen won't rotate with the actual screen.
The second line does the rest of the work.
And that's it.
You might want to just reboot one more time for good luck.
But that's an octoprint and octodash install done the hard way.
For now I hope the bulk of that makes sense, it was quite tricky to collate all that into
one video, if any of it doesn't make sense or is wrong, let me know and I'll update the
description.
All the links are below.
If you made it this far then I will reward you with a really cool feature of octodash.
Because it just taps into the API of octoprint, it can happily run on a different Pi to the
one you're printing with.
So you have the option to run more then one octodash session, you could have a screen
at your desk controlling your printer too, or you could have it in another place to see
your print progress remotely.
Very cool.
Anyway that is it - Next episode will be on TPU, then the one after that will be Steppers
episode 2 I think.
Stuff always comes up, for example I already know I have a printer to review between those
two.
Oh well.
Shh..it's our secret, let's not tell the non subtitle watchers.
Bye! :)