Uploading EstlCam firmware fail on atmega2560

First time poster here, so hello ! I am pretty new to cnc machine, but have a lot of experience with fdm and sla 3d printer and electronic in general.

I’m trying to upload the Estlcam (v11.235) firmware on an atmega2560 based board ( a trigorilla mainboard, originally from a 3d printer), but the upload always fail. The progress goes from 0 to 11%, then jump to 100%, then it just say it cannot communicate with the controller, no error or any other kind of message.

Uploading other firmware (original printer firmware, marlin, modified grbl for the 2560, ect) to the board using usb or an ISP programmer work fine, so at least I know the board is ok. Only the EstlCam firmware is giving me issue.

Anyone here has any experience with this ? Any pointer would be apreciated, since there is no message or log file (that I know of) I have no idea where to start debuging the issue. :sweat:

He does specify a Mega needs to have his pinouts. How close is your Mega to a real one?

Well…it is either the mainboard you have or the upload infrastructure you are using. I can program a clone Mega2560 board from EstlCam no problems.

Have you got an arduino mega2560 to prove your EstlCam upload hardware? I suspect this will end up with your trigolla board just not being compatible with EstlCam. (As @billsey suggests, It may well have a ‘Mega2560’ controller chip on board but it is not an Arduino Mega2560 board)

@dart1280 Yeah, I think its probably a weird compatibility issue, I have 4 mega laying around , 1 original and 3 clones and I can program all of them with Estlcam. What is bugging me is that the trigorilla board I am trying to program is bare, nothing is connected to it that could affect the upload.

Like I said, I can upload marlin and even program it using the arduino IDE and even avrdude by defining it as a mega2560. Estlcam seem to be the only program that refuse to upload to it.

What bug me is that the pinout on the board should not matter when uploading to the chip, the chip doesn’t know anything about what will be connected to it and communication trough usb or isp is direct to chip (well, trough a USB to UART interface for USB, but again, should not matter).

hell I can take a 2560, solder it on a board with the bare minimum to make it work, upload the mega bootloader trough isp, add a ft232 and the arduino ide will see it as a mega2560 and will program it juste fine.

Since I don’t really mind borking the board, I will try to program a mega, extract the firmware and then upload it trough isp to the trigorilla, just to see what happen.

My guess would be that the uP mega2560 is having one of its pins held in a state not conducive with it accepting the programming. This is only the first of your hurdles though, if the Trigorilla board does not feed the correct uP pins to the correct places then EstlCam won’t work anyway. It might be safer to just use an Arduino clone Mega2560 in the first place!

Arduinoclub.de does a nice breakout board for the mega2560 that works with EstlCam

Good luck!

1 Like

at the moment i try the RAMPS 1.4 Board (with Arduino Mega).
Since some versions ESTLCAM supports the RAMPS Board.
What should i say? Works really good. Direct Control of the machine
from ESTLCAM

1 Like

@dart1280 If one of the programming pin was pulled in a state where it would make programming it with Estlcam impossible, then it would make it impossible to program with anything, those chip dont have many different ways of programming them, you either go trough a USB to UART interface or use a programmer, from there all the same pins are used for programmation.

Right now the board accept anything I throw at it exept Estlcam. I’m actually rather curious about what is happening under the hood to cause that problem, but the firmware it use is not open source so I think only @christian-knuell could answer those question and I’d prefer not to bother him about a problem with an obviously unsuported board.

One of the reason I’d like to get it to work is that I have 3 of those board, 2 are in 3d printers, one of wich I have converted into a small cnc to make pcb, the one I am doing the test I got from another printer and will use in a slightly bigger cnc I am currently building. Having the Estlcam firmware on both cnc machine would have been great since it would streamline the process, and both machine could be operated easily from the same laptop. Yeah I could do that with other software/firmware but I like how simple Estlcam is to use.

Once I get home I will try to upload directly to the chip and will post the result.

Well, extracting the firmware and uploading it to the chip using ISP worked, avrdude confirm that the upload is good after a verify but unfortunatly estlcam say it cannot find the controller. I’m starting to think the upload actually work and that the probleme is not with any pins or even the atmega2560 itself, but probably with the USB to UART chip used on the board that estlcam doesn’t like.

Maybe it didn’t have a bootloader?

1 Like

It does, made sure of that. Well I’m just about ready to give up, I know my way around firmware and cicuits, but this one seem to be over my head. I wrote a simple program that accept data over USB to UART and send back a simple “ok” when it receive any data and uploaded that to the 2560 along with the bootloader, I can open a console and connect to it and everything work, so I can’t for the life of me figure our why estlcam doesn’t see the controller once the firmware is uploaded.

I even tried uploading the estlcam firmware to the board, I then extracted it back using avrdude and compared it to the firmware I extracted from the working mega2560 and they are exactly the same ! So Estlcam actually upload the firmware to the board, just seem like once its done it can’t communicate with it. :exploding_head:

Did you try the onboard UART with a FTDI-USB module?

@keeze I wanted to try that, but the board doesn’t have pins to acess uart0, only uart3 and the bootloader only listen on uart0. I would neeed to modify the board to add acess to the rx0 and tx0 pins or modify the bootloader to use uart3. Both could be done, but at that point I’m probably better off just using the 2560 fork of grbl or marlin since both actually work with that board without any modification. Estlcam would have been the better option in my opinion but after spending a few days on this and getting nowhere, I think its time to let go :sweat_smile:

I use GRBL on ramps, because I don’t want to be bound to Estlcam. I also use the machine for my laser to run from Lightburn (GRBL) and use UGS for milling operations.

2 Likes

@keeze I know what you mean, but I already run a lots of machines with all different software/hardware/firmware combination. I got a laser cutter running proprietary firmware and use Lightburn for it, Got 2 FDM printer both using different hardware/firmware (on those I mainly use Cura) and a SLA printer using proprietary stuff, add to that the PCB cnc (currently running a version of marlin I modified for the task ) and the cnc I am working on using that board and that add up to a lot of stuff so having a couple machine use the same exact workflow would have been great. Guess I could just switch to grbl for all my cnc and just use Estlcam to generate gcode. grbl at least has the added bonus of behing open source and easily modifiable for edge case like this.

Finally ! Tried one last thing, the board did not expose the tx0 and rx0 pins so I took it upon myself to change that ! I unsoldered the resistor on the tx/rx pin, effectively cutting them from the USB to Serial (yeah called it usb to uart before but realised I was naming it wrong) then soldered 2 wire on the resistor pad on the 2560 side, then connected one of my own USB to Serial converter and voila ! Estlcam was able to upload and then connect to the chip and it work ! So the USB/Serial chip they are using on the board seem to be the problem, dunno what could cause this tough.

I’m leaving this message here for anyone searching the forum for the same info : Don’t bother. Its really not worth it to risk scrapping the board to accept Estlcam’s firmware when there are other mutch better way to go about it using other available firmware. If you really want to use Estlcam, drop the trigorilla and get an uno/grbl mega/ramps or other compatible hardware. I only really did it cause I’m a single minded obstinate fool as my wife would say !

1 Like

Which chip did they use?

CH340C per chance?.. well know for being a bit iffy

1 Like

No, its actually a silab cp2102

Well they are not known for being dodgy. …The plot thickens!

I tried to flash my other 3d printer that has the same board in it, same result, estlcam seem to flash but cannot communicate with the board once its done. Reflashed merlin on it and everything works just fine, so its not a single board issue. No joke this really puzzle me…