[SOLVED] TAZ 2.0: GLCD shows nothing (factory reset from USB?)

Hi guys, after updating the firmware as instructed by lulzbot helpdesk, my GLCD shows nothing :frowning:
It lights up, but shows no number, letter, or anything for that matter.

I reported the issue but they say I should try again and that they no longer support my machine (the “old” TAZ 2) and my only hope is in the forum…
The GLCD was working fine. For some stupid reason I decided to I update the firmware, and I did so using the “Marlin-12v.cpp.hex” file through CURA, as recommended by Lulzbot. And then everything went to hell.

Is there a way to do a complete factory reset? It would have to be through the USB from my computer I guess, since I see nothing in the GLCD. By the way what is the function of the two wholes below the GLCD? One of them is a button…

Please if you would give me a hint, I’m worried already :frowning: and I need to make a few prints! First the USB connection started failing (which I reported in another post) but now this seems even more serious because I can’t even print from the SD :’(

Any help, comment, whatever, will be super appreciated!! Thanks!

Printer: TAZ 2.0
Board: RAMBo_1-1b
Original Firmware: Marlin 1.0.0
PRONTERFACE report:
MendelMax_2-0_RAMBo_1-1b_GLCD_v1_12V on Nov 25 2013 08:37:41

Windows7pro 64BITS

The LCD is driven by a couple of files and settings inside the firmware package. I would suspect no one has ever used cura to update a taz 2 and that particular package probably doesn’t have the LCD files.

Try using the arduino firmware uploader and go find the other firmware package and try uploading it. If that one doesn’t work, let me know which one you try and I can probably fix it for you.

Thank you SO much for replying and offering help. I will try tonight when at home.

Just one thing so I don’t mess up again: when you talk about the “arduino firmware uploader” you mean the “old” way of flashing the firmware (ie https://www.lulzbot.com/support/re-flashing-your-3d-printers-firmware)
right?

I’ll try this and report back. Again, THANKS !!

Yeah, the old way is the way I was referring to. Good luck with it!

OK, I have tried. I try explain in detail hoping it will make it easier to understand and hopefully y to help me!
This what happens when I follow the instructions (https://www.lulzbot.com/support/re-flashing-your-3d-printers-firmware)

First I need the values of ESTEPS and DEFAULT_AXIS_STEPS_PER_UNIT. In the webpage it says that information should be found with the documentation of your 3D printer, which is not my case (TAZ 2). I got the manual but the documentation does not include these “technicalities”. So there’s the problem of knowing the right values for my TAZ 2.0
ESTEPS: When I send M503 command in Pronterface, I get nothing back. So I’m doing something wrong or it’s not behaving as expected according to the instructions:


Fortunately I had written down the values from a previous LCD inspection. So the value is Esteps/mm: +0824.0

DEFAULT_AXIS_STEPS_PER_UNIT: this one I have no idea. I never knew these values. And there is definitely no documentation about this included in my printers papers. I noticed there’s a file (Configuration.h~) which looks like the “original” of the “current” one I need to verify/change (Configuration.h). I assume Configuration.h~ it’s the “original” file because it names the printer something like “This Mendel” while Configuration.h uses the name “TAZ” instead.
Having no more information available and no more knowledge/expertise, I assume the Configuration.h file is a modified Configuration.h~ suited for my TAZ. This assumption may very well be flat wrong, but I really need to try something.
I checked that the values for DEFAULT_AXIS_STEPS_PER_UNIT are different in Configuration.h~ and Configuration.h so again at the risk of being wrong I assume the values could be fine for my printer and left them like that.
#define DEFAULT_AXIS_STEPS_PER_UNIT {100.5,100.5,800,800} // default steps per unit

Now, I assuming those values are OK or at least would let me continue, I tryed the re-flashing of the firmware and it didn’t work :frowning:

  1. when I try to verify Marlin.ino the Arduino IDE gives warns me the board should be the Mega 2560.
    In file included from /Marlin.h:23,
    from cardreader.cpp:1:
    /pins.h:1617:2: error: #error Oops! Make sure you have ‘Arduino Mega 2560’ selected from the ‘Tools -> Boards’ menu.
    So, I select the option “Arduino Mega 2650 or Mega ADK”.

  2. Then I try again verify/compile and it yields further errors:
    In file included from /dogm_lcd_implementation.h:38,
    from ultralcd.cpp:28:
    dogm_font_data_marlin.h:12: error: ‘u8g_fntpgm_uint8_t’ does not name a type
    dogm_font_data_marlin.h:171: error: ‘u8g_fntpgm_uint8_t’ does not name a type
    In file included from /dogm_lcd_implementation.h:40,
    from ultralcd.cpp:28:
    ultralcd_st7920_u8glib_rrd.h:42: error: ‘u8g_t’ was not declared in this scope
    ultralcd_st7920_u8glib_rrd.h:42: error: ‘u8g’ was not declared in this scope
    ultralcd_st7920_u8glib_rrd.h:42: error: ‘u8g_dev_t’ was not declared in this scope
    ultralcd_st7920_u8glib_rrd.h:42: error: ‘dev’ was not declared in this scope
    ultralcd_st7920_u8glib_rrd.h:42: error: expected primary-expression before ‘msg’
    ultralcd_st7920_u8glib_rrd.h:42: error: expected primary-expression before ‘void’
    ultralcd_st7920_u8glib_rrd.h:42: error: initializer expression list treated as compound expression
    ultralcd_st7920_u8glib_rrd.h:43: error: expected ‘,’ or ‘;’ before ‘{’ token

Ok, give me a few minutes to make a fixed version for you to try.

Ok, try this one. It’s customized to set your e-steps or Extruder Steps to the 824 value. You will want to unzip the file, which should result in a “Taz 2 Firmware” folder. My computer is clean, but you will want to do a virusscan to be safe.

Once you have the folder find the Taz 2 *Firmware\Marlin-RAMBo_1-1b_GLCD* folder. You should see an ArduinoAddons and a Marlin folder as well as 2 other folders you can ignore. Open ArduinoAddons and make sure it has content. You specifically want to make sure it has ArduinoAddons\Arduino_0.xx\libraries\U8glib and ArduinoAddons\Arduino_1.xx\libraries\U8glib as that drives your display.

Now go back several folders to b]Firmware\Marlin-RAMBo_1-1b_GLCD[/b] and open the Marlin folder. Find Marlin.ino and double click on it. Verify the Configuration.h tab contains a line #define DEFAULT_AXIS_STEPS_PER_UNIT {100.5,100.5,800,824} // default steps per unit for Ultimaker now, where 824 is customized for your extruder steps.

Once you have checked all that, go up to Sketch: Verify / Compile. it should process, but not yet upload to your printer and finish without errors.

If it compiles correctly, go to File: Upload. If all goes as planned, it should upload fine. I just tried this exact file on my end, and it worked here.

If it doesn’t work, you may have UAC turned on. In that case, find where you installed Arduino to, right click on it and select “Run as Administrator” then navigate to the folder where you unzipped the firmware to, open the marlin.ino file and try it again.

Hope that helps!
Taz 2 Firmware.zip (2.62 MB)

Hi, thanks so much again for helping. I still can’t make it work, this is what happens.

I unzipped the ZIP file (it was clean) and checked that these two folders exist and are non-empty:
\Taz 2 Firmware\Marlin-RAMBo_1-1b_GLCD\ArduinoAddons\Arduino_1.x.x\libraries\U8glib**
and
\Taz 2 Firmware\Marlin-RAMBo_1-1b_GLCD\ArduinoAddons\Arduino_0.xx\libraries\U8glib**

Next, I checked the Configuration.h file and the values are as you said:
#define DEFAULT_AXIS_STEPS_PER_UNIT {100.5,100.5,800,824} // default steps per unit for Ultimaker

So, that step is OK.
However, unfortunately it won’t compile. When I open the Marlin.ino and (after selecting the board: Mega 2560 and the correct COM port) I try Sketch: Verify / Compile I get the following errors:
In file included from /dogm_lcd_implementation.h:38,
from ultralcd.cpp:28:
dogm_font_data_marlin.h:12: error: ‘u8g_fntpgm_uint8_t’ does not name a type
dogm_font_data_marlin.h:171: error: ‘u8g_fntpgm_uint8_t’ does not name a type
In file included from /dogm_lcd_implementation.h:40,
from ultralcd.cpp:28:
ultralcd_st7920_u8glib_rrd.h:42: error: ‘u8g_t’ was not declared in this scope
ultralcd_st7920_u8glib_rrd.h:42: error: ‘u8g’ was not declared in this scope
ultralcd_st7920_u8glib_rrd.h:42: error: ‘u8g_dev_t’ was not declared in this scope
ultralcd_st7920_u8glib_rrd.h:42: error: ‘dev’ was not declared in this scope
ultralcd_st7920_u8glib_rrd.h:42: error: expected primary-expression before ‘msg’
ultralcd_st7920_u8glib_rrd.h:42: error: expected primary-expression before ‘void’
ultralcd_st7920_u8glib_rrd.h:42: error: initializer expression list treated as compound expression
ultralcd_st7920_u8glib_rrd.h:43: error: expected ‘,’ or ‘;’ before ‘{’ token

Just in case it’s of any use for you, I activated the option “show verbose output during compilation” in Preferences so there’s a lot more of information in the error messages, maybe it’s relevant? I attach the messages in the attached HTML (to keep the font color). Here it is:
ArduinoIDE_errmsg02_verbose.pdf (44 KB)

Ok, very wierd. That zip file copy compiles fine for me. Ok, next step, grab all the files out of Taz 2 Firmware\Marlin-RAMBo_1-1b_GLCD\ArduinoAddons\Arduino_1.x.x\libraries\U8glib\ and paste them directly into Taz_2_Firmware.zip\Taz 2 Firmware\Marlin-RAMBo_1-1b_GLCD\Marlin and then try it again.

Your arduino isn’t seeing the ug8lib files at their standard location. I’d try putting copoes of the stuff from the U8glib folder in all of the subdirectories until it compiles correctly and see if that works.

If that doesn’t work, let me know, we can maybe try plan B.

One other thing to try as well: Copy the Ug8lib files into c:\program files\Arduino\libraries as well.

OK I have copied the U8glib folder into …\arduino-1.0.1\libraries\U8glib\ and…
IT WORKS!!! :slight_smile: :slight_smile: :slight_smile: :slight_smile: :slight_smile:
THANKS SO MUCH!!!

Now I still have the USB connection failure issue (hopefully I can still print from the SD card), but I’ll start another topic for that. Again, THANKS THANKS THANKS!!!

One of the strong reasons I bought the TAZ in the first place is that it is open source both for hardware and software. Thanks to this is there are people like you, thanks so much!!!

By the way, just out of curiosity:

  • Is there a special reason why all of this firmware update had to be done with that old version of the Arduino soft instead of the newer one?
  • what is the function of the button below the LCD? (to the left of the knob)? It looks like a typical reset button, but it does not seem to act like that… (actually it seems to do nothing)

Glad you got it working, you’re welcome!!!

The cura version of the firmware is embedded in a hex file, which is possibly a bin-hex format. At any rate it is more difficult to get into it and fix things. Using the native arduino uploaded is just easier to troubleshoot. Now the taz 2 firmware as it exists is a bit older file versions than the files found in the latest taz 5 firmware, and you could make a taz 2 firmware out of the latest build, it takes a fair amount of firmware editing and programming to do so. Its probably easier to upgrade the hardware at that point.

The little switch may actually be the emergency stop switch. Its either that or the LCD reset.

Lulzbot support told me the hex file that Cura is using is generated by the Arduino software when you compile. You just have to find the location it is saved to on your system and then use Cura to write to the board. We were on that topic because my Taz 2 doesn’t want to accept a firmware upload from the Arduino software. No errors are reported but the new settings never show up.