good morning YouTube so while I was trying to get one or both of these full graphic smart
controllers working I was trying to find a test program that was maybe a little less complicated
than trying to build the whole Marlin firmware because I didn't know if I was building the Marlin
firmware correctly the Marlin firmware uses the Arduino u8g lib graphics library there's support
for the chip that's used on here I think it's an ST seven nine to zero if I remember right and I'll
show you a little bit later we'll look at the the code in the Arduino IDE and it turns out getting
this controller and that board this is the roomba board there's no built-in support in the ua g live
code at-least anything predefined in that code to support this board okay here we got the graphics
display and let me get the power here and there we have the graphics test example from the u8g
lip code running well switch over to the pc screen and i'll show you what i had to do in the arduino
ide to get this working yeah so as i mentioned i was trying to find a simple test program for the
full graphic smart controller board that i had so since the Marlin firmware used this u8g libe
which is the universal 8-bit graphics library for the Arduino I thought I could use some of those
test programs right out of the box you you don't know which particular pin setting or constructor
to use for that I just tried a couple of them and nothing worked so I looked on YouTube and
I found this fellow Z production that had posted a video a couple years ago using an Arduino mega
which is right here with the ramps board and one of these 128 by 64 pixel LCD controllers that's
the main difference then between the rhumba board that I have and the ramps board the ramps board
is basically a 3d printer shield that goes on top of an Arduino mega the rhumba board has the
mega chip and all of that support function built into the controller board so it's kind of like
an Arduino mega plus a ramps board so that's what I'm using as the rhumba I couldn't find anything
directly related to that but I figured this ramp sword was pretty close so at this fellow he he
did the same thing I did he took that and that and that plugged them all together and he tried
going in here to some of the graphics test code and didn't work here's some of the constructors
you got to pick one of these so apparently these smart controllers use this st7 9 to 0 controller
chip but even then there dozens of constructor calls that all have different parameters like he's
showing here how're the pins on the mega board hooked to the pins on the ramp board and how are
the pins on the ramp board hooked to the pins on the controller board what he ended up doing
was making himself a little table going from the mega to the pins on the LCD and trying to figure
out which pins related to which and then he broke out his own meter and tested continuity between
all the pins on the pin header so the ramps board uses this external pin header the Rumba board has
this built in you know what he came up with was a full breakdown of what pins on the megabowl
were mapped to which pins on the LCD and so he went in and he created this this special
constructor line with a 23 17 and 16 parameters I guess that's for your s clock mozi and chip
select CS pins and so I went and plugged that in and it didn't work and I didn't really want to
go through all that much work you know oming out all the pins and whatnot to get this working but
what I did was I went down through his comment and there was this fellow down here Oh bet ball
if that's pronounced right he had a comment here and he was wondering how you got how he got these
pins he didn't really show how he pulled these out of the data table that he had collected and
then this fellow posted a follow-up comment he figured out that this pin 23 was the st7 920
clock pin data pin and CSP and then he's also mentions up here that he's working with Marlin
and then he has this second set of pound of fines here where he calls out these things LCD pins D 4
pins enabled an LCD pins RS okay so I came over here to the Marlin source code so over here is
all of the other files that are in the Marlin source code and what they have is this whole
list of these pins underscore and then there's all of these different Reedy printer controller
boards dozens and dozens of them and there's this one for pins underscore ramps and here's
this pins underscore rhumba so if we take a look at the ramps in header here here's your graphical
use pins LCD pins d four pins enabled and pins RS those are the exact same things he called out here
these are essentially the definitions that Marlin firmware uses and so what I thought was how about
we come over here to pins underscore Rumba which is what I have and there they are those three
same defines pins are s pins enabled and pins D four so what I did I came over here let's go
to graphics test and I added this comment here you go to your Marlin pins underscore and then
whatever board you're using and look for what's assigned to LCD underscore pins underscore d4 and
that goes in here so in my case I used 18 42 and 19 and as you saw at the beginning of the
video graphics test works and then I went just to check that out I put the same code into the
fps demo and at the end of the video I'll cut in a screenshot of the FPS demo test program
running so anyway if you're trying to get your RepRap discount full graphics smart controller
working with something like a ramps or a rumba board or probably any of these words that are
supported in the Marlin firmware have a look at these files and then see if you can find these
pound defines in there and that'll probably tell you what pin assignments you have to put in here
for your u8g lib constructor call hopefully that helps if you have any questions post up in the
comment section down below I'll put some other related videos over here on the left side you
might be interested in and as always thanks for watching and now the FPS graphics test program