Jump to content
Ultimaker Community of 3D Printing Experts
jcosmo

Unresponsive after firmware update

Recommended Posts

Hi,

I recently downloaded the latest Cura and thought I might as well update the firmware in my UMO, as it had been a long time since I'd done this.

I had cura set up as having a UMO, and when I triggered the fireware update it, without any questions, uploaded a fireware which dropped support for all the add-ons I've applied over time, bringing me back to a machine with just a single hot end and no heat bed. Previous versions of Cura have asked what features the UMO has before uploading the firmware.

I thought that perhaps it was because I'd said I had a UMO instead of a UMO+, which to me seemed to be the UMO with all the addons I had - except perhaps the second hot end. So I added a UMO+ to Cura and updated the firmware a second time.

The firmware updated, but left the Ulticontroller showing some very wierd stuff, so I rebooted the printer, at which point it failed completely.

The Ulticontroller comes up with just blue light, no text, and the printer does not respond to any kind of external command.

In an attempt to diagnose the problem I have removed the Arduino from the printer, thinking perhaps I could upload firmware to it via the Arduino software directly. The Mega board is detected by the computer, and Arduino software, but I am unable to upload anything to it at all, continually receiving timeouts.

The board, on receiving power, begins to flash the L light extremely rapidly, never stopping - maybe this is an indicator of something, I've no idea - certainly other people seem to be posting that this is implying some kind of problem.

Can anyone suggest a mechanism via which I can get the Ardunio back to the point where Cura, an older version, is capable of uploading firmware again? I have tried using an second arduino as an ISP, and attempting to reload the bootloader on Mega, to no avail.

Thanks for any pointers

Share this post


Link to post
Share on other sites

You may have to use different software to upload than Cura. Other's had this same problem and that was the solution. I'm not sure if printrun/pronterface can do it but one solution is to use the arduino IDE. Unfortunately you might also have to build Marlin to have the IDE upload it :(. Anyway get printrun from here:

http://koti.kapsi.fi/~kliment/printrun/

If you go the Arduino IDE route there are tons of people (1000 for every one person on this forum) who will likely have the same question: "how do I load hex file using IDE without building first?".

Share this post


Link to post
Share on other sites

He already had the card out of the printer and tried Arduino IDE without success.

Unfortunately I'm completely useless when it comes to Arduinos so I'm of no real help. My first thought was to check if it even shows up in device manager, but since it is being detected by Arduino IDE I figure it does already.

Share this post


Link to post
Share on other sites

You may have to use different software to upload than Cura.  Other's had this same problem and that was the solution.  I'm not sure if printrun/pronterface can do it but one solution is to use the arduino IDE.  Unfortunately you might also have to build Marlin to have the IDE upload it :(.  Anyway get printrun from here:

http://koti.kapsi.fi/~kliment/printrun/

If you go the Arduino IDE route there are tons of people (1000 for every one person on this forum) who will likely have the same question: "how do I load hex file using IDE without building first?".

 

I have taken the arduino out of the printer, it detects fine under windows and mac, as an arduino 2560.

I've built my own marlin in the past, although in this case it's irrelevant, as any attempt to upload a sketch even as simple as Blink, to it directly results in continual timeouts.

I've attempted to use a second arduino to replace the bootloader, and this fails as well.

Thanks for the ideas.

Share this post


Link to post
Share on other sites

Success at this end.

Using the wiring described here:

   http://www.gammon.com.au/forum/?id=11635

Slightly different to the wiring described in places like this:

  https://learn.sparkfun.com/tutorials/installing-an-arduino-bootloader

I was able burn the bootloader.  It claimed to error, but did actually work, and I can now upload marlin again.

 

Hey jcosmo,

Could you please clarify exactly what wiring you used from the link you mentioned and how you went about it in more detail?

Did you use arduino as ISP to wire to the board? Did you use the sketch from gammon.com or the arduino as ISP sketch?

Getting the same problem here...

Edited by Guest

Share this post


Link to post
Share on other sites

 

Success at this end.

Using the wiring described here:

   http://www.gammon.com.au/forum/?id=11635

Slightly different to the wiring described in places like this:

  https://learn.sparkfun.com/tutorials/installing-an-arduino-bootloader

I was able burn the bootloader.  It claimed to error, but did actually work, and I can now upload marlin again.

 

Hey jcosmo,

Could you please clarify exactly what wiring you used from the link you mentioned and how you went about it in more detail?

Did you use arduino as ISP to wire to the board? Did you use the sketch from gammon.com or the arduino as ISP sketch?

Getting the same problem here...

 

Hiya,

Sorry for the delay in replying.

When using other arduino->arduino wirings (aka sparkfun) they were suggesting wiring the 'programmer' pins 10->13 through to the ISP pins on the mega.  This never worked for me, I can't remember the exact error, but it was a no go.  The 'dud' mega remained in the state where L flashed continually and rapidly.  On a side note I got the same error regardless of Windows, Mac or Linux as well.

So - my process:

I used an Arduino Uno as my programmer.  I happened to be on Windows when it finally all worked, and running Ardunio 1.0.5.

To Set up the programmer I connected it via usb, selected the Uno as the board, and the standard programmer (AVRISP mkII), and uploaded the example sketch named "ArduinoISP".  This went without a hitch - and I presume has done so for you as well.

I then followed the wiring diagram on http://www.gammon.com.au/forum/?id=11635

In particular the section headed "Wiring for Mega2560 and similar"

It's very simple - you connect the the ISP headers straight through from the Uno to the Mega, with the one exception - the reset pin on the Mega is wired through to pin 10 on the Uno.  I did not have a cable as shown in that diagram, I just used a bunch of female-female jumpers I had.  The wiring for the ISP header (needed to identify which pin on the mega is the 'reset') can be found in lots of places: http://letsmakerobots.com/files/userpics/u1533/ISP_pin_configurations.jpg for example

I did not use the software found on gammon.com.au.

I then changed the arduino software settings over to the Mega board, and to the "Arduino as ISP" programmer, connected the Uno to the computer via USB, and chose 'burn bootloader' from the Tools menu.

Instant change in the Mega - the L light stopped flashing.  The transmit/receive lights on the Uno went nuts, and a few minutes later (don't remember exactly) it completed, and gave an error in Arduino software, something about verification failure I think.  I ignored this completely - I'd seen someone else post a forum that they had received an error of this kind when burning the bootloader and that they had just burnt it a second time.  I didn't bother, I disconnected the ISP wires, plugged the Mega into the PC and it immediately detected properly, and I was able to upload a Blink sketch to it without problems.

I fired up an older version of Cura - 15.04 - and used it to burn the firmware.  This went without a hitch, and I was back to a version with dual nozzles, heat bed, all the other goodness :)

Put the Mega back in the printer and the world was a happy place.

Edited by Guest
  • Like 2

Share this post


Link to post
Share on other sites

Thank you very much for your answer jcosmo!

Although there's even poetry in it :D, I did those exact steps days ago without success. I've managed to burn bootloaders on undetected arduinos before, so I'm pretty confident the process you describe should've worked, but this board never worked before (I'm trying to build a 2nd UM2 from scratch), so there's probably something defective with the hardware itself (China, you know...).

Actually, I've tried so many things that it makes me tired just to think about writing it down! lol But I tried gammon's software, ArduinoISP as you mentioned, creating custom arduino board, etc, no go. I have an USBtinyISP programmer on the way, maybe that does the trick.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Welcome to the Ultimaker Community of 3D printing experts. Visit the following links to read more about our Terms of Use or our Privacy Policy. Thank you!