Machine won't update firmware

Printer firmware discussion
Post Reply
kharrisma
Reactions:
Posts: 5
Joined: June 8th, 2023, 8:13 pm
3D Printer(s): Creality Ender 3

Machine won't update firmware

Post by kharrisma »

Hi folks,

Machine: Creality Ender 3. Alterations from original "as recieved" setup: BigTreeTech SKR Mini-E3 -ver- 2.0, with the BigTreeTech TFT35 E3 touchscreen display. Managed to update the firmware with this setup; talk about a vertical learning curve!

Just installed an Antclabs BL Touch auto bed leveling probe. Came with individual connectors that engage only one pin; cut those off and re-pinned to fit a single 5-position JST connector, and plugged it into the "Z_PROBE" socket on the board.

Powered on, immediately got 50% red flashing light (equal on and off time, or what they call "flashing slowly") , with no pin deployment. Unable to move any axis in any direction other than manually pushing it. Will not auto-home. Did some digging, and this is an error condition - - mis-wiring of the ground or +5V gives an 80% flash rate (they call it "fast flashing.") I was able to sneak past this by pulling the probe pin down before powering on,then it would pull the pin up, send it back down, and pull it up again, and now it's a solid red (which is supposed to mean "normal operation.") Still won't move any axis in any direction though.

Downloaded and "installed" (more later on that...) firmware for the BL Touch from the github repository for that control board. Renamed it to "firmware.bin" and copied it to a blank 8mb microSD card. Inserted the card in the machine, powered on, got a pause, then got the display and a moment later it confirmed "Ender 3 ready." The probe, from the up position, extended and retracted twice, with a solid red light. Got it to move in the X and Y axis, but still nothing in the Z axis, and it won't auto home either. Oddly, after trying to move the Z axis, subsequent attempts to move the X or Y axis now fail, with a red status message on the display, "Busy working - please wait." Waiting is useless, because nothing ever happens, and it still won't respond to motion input commands.

Subsequent attempts didn't even go that well... sometimes the probe will fail the self-test and start blinking and it recognizes "Ender 3," other times it passes the probe self-test but says there's no printer connected. Darned thing is all over the place with it's behavior.

Decided to pull the BL Touch and re-flash it to it's pre-BL Touch state... but now it won't flash at all. It just boots right up to the normal operating display with no black "working" screen as it usually does when updating. Tried downloading the github repository again and compiling it through Visual Studio again; got errors the first two times, corrected what it didn't like, and it finally compiled a FIRMWARE.bin.

Stuffed that into the machine... and it still fires right up to the normal display, no black updating screen.

What should I be looking for? No idea where to take this, short of pulling all the new hardware out and going back to the original Creality board and display, something I'd rather not do.

Any ideas greatly appreciated!
User avatar
LePaul
Reactions:
Posts: 3970
Joined: February 7th, 2016, 10:26 pm
Location: Bangor, Maine USA
3D Printer(s): 24 - Yes I have a problem!
Contact:

Re: Machine won't update firmware

Post by LePaul »

I've had to do this a lot with the three CR-10S machines I upgraded to SKR Mini E3 v3 and the TFT35 screens

I upload via vsCode, then after uploading the new firmware, I do an M502 and M500

It sounds like you are using some pre made firmware?
kharrisma
Reactions:
Posts: 5
Joined: June 8th, 2023, 8:13 pm
3D Printer(s): Creality Ender 3

Re: Machine won't update firmware

Post by kharrisma »

UPDATE: There is SO much incomplete and just plain wrong "information" out there... Turns out this machine IS updating the firmware, it's just not behaving at all as everything I've read or watched on the 'tube says it should.

Yes, I was using "pre-fab" firmware. I've learned the hard way why rolling your own is a much better way to go... IF you can find accurate information. Subsequent flash attempts were made via VS Code, and still didn't get what was described as normal update behavior.

As described everywhere I've looked, when updating, the screen should be dark (with maybe a progress indicator bar?), then boot up as normal. Maybe that's true for the stock display, but this is definitely not the case for the BTT TFT35 E3 v3.0. It appears that the display card and the control card boot independently, *then* do a handshake to establish communication. When updating the control card firmware, the display boots normally, but says "No printer connected." No blank display as described pretty much everywhere. THEN, when the control card has updated the firmware, the display changes to "Ender 3 ready."

Last update I tried, I renamed the machine "Ender 3A" in configuration.h, then ran the update. This time, I got the display immediately as usual, the "No printer connected" message, then after a moment, "Ender 3A ready." So it IS updating, it's just not behaving as expected, according to all the info I've been able to find.

STILL can't get the BLTouch to work, though. Won't home... X & Y fine, Z moves to bed center, goes up, and shuts down "with errors" which are unspecified.

I'm learning the hard way why it's a better idea to buy something not made in China; not because it's bad hardware, but because the support is nearly non-existent. At least you can get ahold of someone at Prusa and have a dialog AND get accurate information when you need it. Try getting this kind of thing out of China!

What I've learned: 1.) You MUST have the entire Marlin (version) directory loaded into VS Code, because it contains everything required to create a .bin file, such as lookup tables for thermistors and pinouts for specific microprocessors. 2.) It can save you some work downloading example configurations for your machine, BUT you have to be careful to not mix Marlin versions in doing so... AND you also have to be careful even with those. My current issue is that the card-specific configuration.h assumes a stock Ender 3 display, but I have a BTT TFT35 E3 v3.0 display, so that has to be changed. To what, I have no idea... again, trying to find specific technical information like that is like searching for hen's teeth. Whatever card is actually in use in the display *might* be listed in there, but it it IS, they're *not* calling it a "BTT TFT35 E3 v3.0" 3.) Once you have the hardware-specific configuration.h (and other *.h files) set up and saved, you have to delete the same "generic" *.h files in the Marlin directory and copy your new *.h files into that Marlin directory... THEN you can try building.

All kinds of close detail out there... but what I couldn't find was "the big picture," how all this stuff fits together, the overall process. The learning curve has been nearly vertical!
Post Reply

Return to “Firmware”