good morning YouTube so I wanted to follow up on the previous video so this is the other RepRap a
discount full graphic controller that I have I think this was actually the one that came with
the rumble board and you can see here I haven't flipped these two connectors so there's still the
way they're shown on the silk screen and I just wanted to show you what happens here if you don't
flip those connectors so you can see I got the the flashing LED there by the LCD connector and
nothing on the screen but you can see if I turn the coder knob there I do get activity on that
connector this other display I had would sometimes flash the backlight when you hit the switch here
but I don't see that happening on this this particular display but that's what happens you
get nothing here now the amazing thing with these connectors you can swap these side to side put
this connector in this location put this one over here you can turn them upside down and right-side
up and it won't hurt this thing because I've done every possible combination of those cables
and that's power and data coming over to power this device and you cannot plug these in in a
fashion that actually damages this so somebody's actually done some really clever design work to
make these connectors basically foolproof now there's only one out of four possibilities that
actually works but the other three combinations of those two cables they won't hurt anything so I've
swapped in the full graphics smart controller that I flipped the two connectors on and this
one I think I have my final version of firmware loaded as far as supporting this device so let
me turn that on I've got a boot screen and then here's the marlin screen and we've got the SD
card working I got that compiled in and then I've got the the encoder Direction corrected there and
I've added some additional menus here so there's a bunch of menus that are optional in the Marlin
firmware build so you can get information here on the printer what board baud rate all those sort
of things you get your thermistor information there and let's see let's go yeah there's the
SD card and we'll go temperature and let's go down to fan speed and now if I go clockwise I
increase the number there but let's go up to the main screen yeah and there you can see the
little fan icon is spinning and then it gives you the speed of the fan pulse width modulation
percentage and then I've added some additional menus here so I've got the whole screen there's
a this is part of the auto bed leveling code you can do a manual bed leveling and then there's I've
gone in and adjusted my preheat parameters these things will set the actual temperatures that I use
for my my printing setup so you can customize these so what I'll do is I'll go over and show
you in the Marlin code in the Arduino IDE all the parameters that you can adjust for this okay so I
downloaded the Marlin firmware image from Taipei machine and if you go into that folder and open
up the marlin dot Ino file you get here to the 3d printer firmware and that's the main project
filed but the configuration changes that you want to do for the various display controllers
are in this configuration dot H file here and that includes also all the settings for your printer
electronics temperature sensors printer geometry and stop configuration so what I did initially
is I just went down and tried uncommenting some of these lines so for example there's the LCD if
we can go down there and find that so down here you can see where you select your LCD type so the
ultra LCD includes all of these various alpha or character based LCD screens including the 20 by 4
that I had what you're normally supposed to do is these pound define statements are commented out so
this configuration dot H file has every possible combination of hardware that's ever been used on
a 3d printer in it but they're all commented out and the idea is you uncomment by removing the two
slashes so to get the 20 by 4 screen all I did was uncommon ultra LCD and then uncomment the SD
support definitions and that included the 20 by 4 character support and the SD but when you get into
the graphics displays there's a lot more options down here so what I did to make that a little bit
easier for me to understand was I added some of my own definitions so what I did was I created
these five different pound defying statements made a unique name so I have one to enable SD
support there's one that enables the 20 by 4 LCD I have another one that enables the full graphic
control or definitions and then I did another one here the extra which enables extra and menu
features so I've kind of tried to find all these extra little pre-programmed menus and things so
I'll show you some of those and then I tried to also find this auto bed leveling code that type
a machines had enabled and that way I can turn that code on and off so with this all I have to
do is come up here and burn these things on or off if I want to compile the 20 by 4 character
LCD I would just go up here turn that on turn that off and now I have 20 by 4 LCD support ok let's go
down and I'll show you some of the areas where I added my code to insert the various options
that I have here so the first thing I did I found this custom boot screen option where you can have
a custom bitmap image displayed on your graphics controller when the Machine first boots up so I
thought that would be kind of neat I'll show you how they did that a little bit later and then
here's some of the extra menus that I found so there's this PID auto tune menu that you can put
in there and then here's another one I don't know if this one actually compiles in or not because
this mesh bed leveling wasn't enabled by taipei machines and then here with some of the auto bed
leveling code that taipei machines put in there so they use this auto bed leveling linear and then
they also enable this z safe homing and then here are some extra things I added the default preheat
constants were 184 PLA and 244 abs I put in my own typical values I typically use 220 on PLA
with no bed heat and 250 and 90 degrees on the bed for abs and then here was the LCD character-based
display ultra LCD is enabled right there here's the SD card support that's enabled right there
and then if you come down here this is where the graphics controller has some more fiddling that
you have to do you have to adjust the pulses per step and I may need to change this again
and then there's also a steps per menu item this adjusts how sensitive the encoder dial is versus
how the menus change and then here's another one I found on my full graphics controller the
encoder direction was backwards from what all of the marlin menu system is set up for here's the
main place where you enable the RepRap discount full graphics smart controller let's go down here
here's one of my extra menu items and I think that's basically the end here there's about
1,500 lines in this configuration dot H file and I was getting confused myself trying to remember
which things I had turned on which things I had turned off so that's why I came up here and just
put five lines of code and I can see exactly what I'm gonna build right here and then the
last thing I did over here here's my boot screen dot H file and this is what you can put in to
make your custom start up bitmap and then what you do is this custom start BMP is your custom
boot screen here and it's just a bunch of binary data 128 by 64 bits monochrome image and the way
I made that was I came over here and I downloaded the type a machines a logo off their website and
I believe I converted it to black and white but it comes up with black text on a white background
and then I took that black on white image and inverted it to make a white on black and then I
came over to this website I'll put a link to this in the video description it's called byte array
maker and you just browse your image here load it into the program there's your image preview and
then you just copy and paste everything in this code window yeah and one thing to watch out for
when you do copy and paste out of this byte array output is you don't want these first three lines
of code you just want this binary strings and you also don't want that laughs closed parenthesis so
what you want to do is copy this out of the file and then you come back over here to the boot
screen dot H file and you'll notice that these parameters up here are different as well as the
variable name so what you want to do is just copy and replace all of the the binary strings here and
you don't have to do that but I thought it was kind of a neat thing to do so anyway that's how
I built the Marlin firmware and then the the only other thing you need to do is you've got
to make sure you're using an Arduino mega 2560 so that's what's on the rhumba board that I'm
using I think that's the same if you're using a ramps board and then you have to set the port to
match whatever port the Arduino gets mapped to and then you can compile the image and load it
onto your rumba board in my case and I showed you how I did that in the previous videos if anyone's
interested as I can probably upload this file to my Google Drive page as well as the boot screen
dot H file you probably won't want to use this configuration dot H file because it's got all the
parameters for the type a machines printers and those are probably different than your printer
but if you want to look and see what sections of code I looked out and and enabled and commented in
or out you can just look at these pound defines and you can use those if you want I just found
this was a lot easier to keep track of what I was doing rather than try to remember 50 places in the
code where I had made changes just a lot easier to look at and then I'll try to put a copy of
this boots green dot H file up there too if you want to have a look at that so yeah if you have
any questions about that post up in the comment section down below and I'll put some of the other
videos over here on the left side you might be interested in and as always thanks for watching