Want to do an Ender 3 firmware update? We'll show you how to updade the firmware to the latest version of Marlin with manual LCD mesh bed leveling. Want to do an Ender 3 firmware update? We'll show you how to updade the firmware to the latest version of Marlin with manual LCD mesh bed leveling. B) if you have configured Marlin to use the SDCARD as the gcode source, i.e. SDCARDCONNECTION = ONBOARD in configurationadv.h, then Marlin will, on power up, take ownership of the SDCard and it will become invisible to the Macbook until you execute Release Media in the Marlin Menus and then replug the USB cable.
- Marlin is firmware for RepRap single-processor electronics, supporting RAMPS, RAMBo, Ultimaker, BQ, and several other Arduino-based 3D printers. It supports printing over USB or from SD cards with folders, and uses lookahead trajectory planning. Marlin is licensed under the GNU GPL v3 or later.
- Merlin Project is the standard for project management in industries such as Architecture & Construction, Media & Agencies, Research & Development, Education and others. For more than 15 years customers in over 150 countries have been using our flexible app to plan, manage & control their small and large projects – no matter whether you're on a Mac or an iPad!
I don’t know if it’s the lack of sleep ( I have a newborn in the house) or if this genuinely was a tough project, but I finally got everything working after five evenings of hacking.
But didn’t you have firmware installed?
Yes, I had the TH3D firmware installed, but I had a huge problem; My prints were off-centre and printing half size in the Z-axis. It transpires that the lead screw was changed on newer Ender 5’s and the firmware I had, didn’t support that.
In mid-to-late 2019, Creality upgraded the base Ender-5 leadscrew to the same one used on the Ender-5 Pro which prevents the bed from dropping once power is cut.https://github.com/MarlinFirmware/Configurations/tree/import-2.0.x/config/examples/Creality/Ender-5
Borked firmware
As someone who works in software development, I had a keen interest in the Marlin software, so I thought, rather than use someone else’s code I would compile my own. This turned out to be a harrowing ordeal…
Having compiled all my changes in version 2.4.4 of Marlin, I flashed the firmware to my Ender 5. It was only when I booted the printer to start a test print that I noticed the screen was completely blank. My intuition told me I had fudged something, so I tried to flash the board again. No change.
New bootloader
I had a gut feeling that the bootloader was probably the root cause, so I set out on a path to install a new bootloader. The problem was that my USBISP (that came with the BLTouch) wasn’t recognised on OSX and I didn’t have an Arduino Uno (which unfortunately is the only device 99.9% of YouTubers use in their videos).
After hours of searching (during the early hours while my son wouldn’t go back to sleep) I stumbled on this very poorly recorded video that was absolute gold. Here it is:
I had an Arduino Mega1248 from years ago… and it worked!
Again, during my early hour searches I found the following link. I wish I found this earlier:fwi_marlin_20_on_creality_115_silent_board
Operation “bull in a fridge” and the false success
For those of you who have tinkered with Marlin 2.0 you will know that getting it to fit on your Creality board with all the features you need is like trying to squeeze a bull into a fridge. When I added BLTouch, Auto Bed Levelling, Z safe homing and Slim LCD, I kept blowing the available capacity. I would get messages like this:
BTW, if you haven’t seen that message format before then, you probably aren’t using Auto Build Marlin with VSCode. If like me, you have spent an unreasonable amount of time messing about with Arduino IDE by installing U8Glib and finding Sanguino boards, then I highly recommend using this approach. The tool is built on PlatformIO, which handles all the libraries the project needs. There are 2 buttons;
build
and upload
.Finally, when I got a configuration that eventually fit, I uploaded it to the board and printed my first configuration cube. I have to be honest, the results were astonishing and made it all worthwhile. However, there was one big problem… I forgot to enable auto bed levelling…… fuck!
Operation OctoPrint
I had this on my list as a task to do later, but with my unsuccessful attempts at building a hex file small enough to live on the Ender 5 I was forced to bring this forward so that I could disable the SD slot and save space. I found an old Raspberry Pi 3B and installed octoprint on it. The best instructions I found are provided below. Note, at the time of writing, some of the options were obsolete.
Marlin 2.0.5.3 Update gives “err: EEprom Version”
So, with the OctoPrint build complete and tested, all I had left to do was compile the firmware with all of my configurations. Once the SD option was disabled I think the complete build was about 87% of total capacity. However, when I flashed the firmware I was greeted with the message
err: EEprom Version
. As a Mac user I had a horrible time finding software that worked and allowed me to send GCode to my printer. In the end it was the terminal that won with the screen
tool.You can use
screen
for that. Open a terminal window and type screen /dev/ttyUSB0 115200
. The general form is screen serialdevice baudrate
. You will then see everything that the printer sends. Everything you type will be sent to the printer.The only thing left to do was send an
M502
followed by an M500
and everything worked perfectly. You can find the docs for these commands, here.So that concludes my journey of running Marlin 2 on the Ender 5.
Before reading this article, you should have already read Installing Marlin with PlatformIO.
The Marlin
Sublime
extension provides access to the Auto Build
script for the Sublime IDE
.Overview:
- Install Sublime
- Install Auto Build menu
- Install Install Package Control which is used to install:
- Deviot (Deviot Console is used to launch the Auto Build Script)
- WebDevShell (this will execute the Auto Build script via the Deviot Console)
- Copy the menu configuration to the proper Sublime directory
- Install Install Package Control which is used to install:
- Restart Sublime
Install Sublime
Open the Sublime main page and then click on the “DOWNLOAD FOR …“ button where the “…“ will list your operating system.
This will download the Sublime installer. Install as usual for your operating system.
Install Auto Build menu
- Install Install Package Control
- Click on Tools then Command Palette
- Start typing Install Package Control into the search box. Click on Install Package Control when it pops up in the window.
- Click on the OK in the success popup.
- Install WebDevShell
- Click on Tools then Command Palette
- Start typing Install Package Control into the search box. Click on Install Package Control when it pops up in the window.
- Start typing WebDevShell into the search box. Click on WebDevShell when it pops up in the window.
A Success window will NOT popup. - Install DeviotUsing the previous step as a guide, install Deviot.Install Python 2.7 if promptedPlatformIO CLI/core will be automatically installed if needed
- Copy the Auto Build menu to the correct subdirectory
Copy the directory
buildroot/share/sublime/auto_build_sublime_menu
to the Sublime
extension directory and then (re)start Sublime
.The
Sublime
extension directory is usually located at:- Windows - C:/Users/YOUR_USER_NAME/.Sublime/extensions/ or C:/Users/YOUR_USER_NAME/AppData/Roaming/Sublime Text 3/Packages
- Mac - /Users/YOUR_USER_NAME/Library/Application Support/Sublime Text 3/Packages/User
- Linux - /home/YOUR_USER_NAME/.config/sublime-text-3/Packages/User/
Restart Sublime
Open the Marlin folder
Click on
File
and then Open Folder...
This brings up the
Open Folder
dialog. Select the folder that has the Marlin
and buildroot
folders in it.You should see something like the following. If not, repeat this step from the beginning.
Run Auto Build
- Click on the “Auto Build” menu near the right end of the menus in the main menu bar.
This brings up the Auto Build menu.
Marlin Firmware For Cr10s
- Click on the desired action
Marlin Firmware For Mac Os
This brings up the Deviot Console window and the (first) Auto Build window.
After this everything is the same as in the Atom IDE