Best 3D printer I ever *bought* is also best deal + Klipper thoughts (Flashforge AD5M)

I do not know how the LCD screen talks to klipper. I don’t know if the GUI on the LCD is just a tweaked, reskinned version of Linux like what would normally be present in a Klipper install, or some much more differentiated thing that hacks the Klipper intsall.

Yes, the printer has Wifi. According to the Klipper-knowledgable people looking at this, they say that the Klipper install is missing SSH, but one such person figured out how to install SSH through the bootloader, and I have done so. I got logged into the “root” via SSH (I think), but I did not know what more to do then.

This repo on Github has various resources listed,

and the second item in this list is the one I used to add SSH:

Upgrades

Just video with working klipperscreen (Big thanks @consp and @xblax) https://github.com/g992/flashforge-ad5m-5mpro-research/assets/48438685/81126859-a501-477d-9745-5bbe95120e88

1 Like

According to this tutorial…

https://www.reddit.com/r/FlashForge/comments/1alkbbm/adventure_5m_root_access/

… the following info resulted from their investigation. This probably means something to someone, but I don’t understand this stuff much at all. I bolded one part I thought sounded related.

open a telnet session using the new user and password.

r/FlashForge - Adventure 5M root access

This is a embedded Linux distribution created using Buildroot. this Linux system has some basic Linux commands and applications.

r/FlashForge - Adventure 5M root access

Klipper is located in the /otp folder

r/FlashForge - Adventure 5M root access

The printer configuration is located in the config folder

r/FlashForge - Adventure 5M root access

The printer.cfg includes the content of the printer.base.cfg. You can configure Klipper using those files.

The printer runs the following 3 applications:

/opt/PROGRAM/software/2.4.5/firmwareExe -1 -D -qws

/opt/Python-3.7.11/bin/python3.7 /opt/klipper/klippy/klippy.py /opt/config/printer.cfg -l /data/logFiles/printer.log -a

/opt/PROGRAM/ffstartup-arm -f /opt/PROGRAM/ffstartup.cfg

As far as I was investigating firmwareExe is the binary application providing the user interface.

The files uploaded for the printer are stored in the /data folder

r/FlashForge - Adventure 5M root access

The USB is mounted in the /media folder. You can use the USB to copy files from/to the printer.

The printer doesn’t have Fluidd or Mainsail. Maybe you can install Fluidd manually. I never installed Fluid manually.

The binary files are located in /opt/PROGRAM/software/.

r/FlashForge - Adventure 5M root access

I think the system has enough space to install Fluidd.

# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 1.2G    758.7M    465.1M  62% /
df: /dev/shm: No such file or directory
tmpfs                    53.9M      1.3M     52.6M   2% /tmp
tmpfs                    53.9M     28.0K     53.9M   0% /run
devtmpfs                 44.7M         0     44.7M   0% /dev
/dev/mmcblk0p7            5.8G     83.0M      5.4G   1% /data

# free
             total       used       free     shared    buffers     cached
Mem:        110404      77432      32972       1352       1952      27860
-/+ buffers/cache:      47620      62784
Swap:            0          0          0

Well, those are my findings.

2 Likes

Looks like the board runs a Linux variant- probably Armbian. Hope someone makes a GPL request and the resulting source dump helps the community.

Might be really interesting to others trying to fit Klipper into some of the smaller ARM targets.

My understanding (which is not great) is that the Linux info was in regard to the LCD touch screen.

Since I now have SSH access (and also Telnet, though I have no idea how to use that). if someone wants me to run a command sequence in SSH, I’m happy to do so. I’m a bit on the newb side of that so I would need decently detailed instructions.

If you have SSH access, the output of these commands would be interesting. Depending on what’s in the build you have, some or all of these may not work. There’s probably a bunch of others that folks would think of.

lscpu
lspci
lsusb
free -m
uname -a
cat /etc/*release*
cat /etc/*version*

Here you go!

Last login: Mon Mar  4 11:40:50 on ttys000
dougjoseph@MBP-16-2021-M1-Max ~ % ssh root@192.168.1.33 -A
root@192.168.1.33's password: 
# lscpu
Architecture:        armv7l
Byte Order:          Little Endian
CPU(s):              2
On-line CPU(s) list: 0,1
Thread(s) per core:  1
Core(s) per socket:  2
Socket(s):           1
Vendor ID:           ARM
Model:               5
Model name:          Cortex-A7
Stepping:            r0p5
BogoMIPS:            48.00
Flags:               half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae
# lspci
lspci: /sys/bus/pci/devices: No such file or directory
# lsusb
Bus 003 Device 001: ID 1d6b:0002
Bus 001 Device 001: ID 1d6b:0002
Bus 004 Device 001: ID 1d6b:0001
Bus 002 Device 001: ID 1d6b:0001
Bus 003 Device 003: ID 0bda:c811
Bus 003 Device 002: ID 05e3:0610
# free -m
             total       used       free     shared    buffers     cached
Mem:           107         97         10          0          5         48
-/+ buffers/cache:         43         64
Swap:            0          0          0
# uname -a
Linux kunos 5.4.61 #52 SMP PREEMPT Wed Aug 23 15:33:33 CST 2023 armv7l GNU/Linux
# cat /etc/*release*
NAME=Buildroot
VERSION=2019.02.1-svn19
ID=buildroot
VERSION_ID=2019.02.1
PRETTY_NAME="Buildroot 2019.02.1"
# cat /etc/*version*
cat: can't open '/etc/*version*': No such file or directory
# 

2 Likes

Looks great Doug!

BTW do you remember what the print speed in mm/s was when you printed that benchy in 14 minutes?

Well, all I know is their print profile for OrcaSlicer calls for:

Outer wall: 200 mm/sec
Inner wall: 300 mm/sec
Infill types ranging from 250 to 270 mm/sec
Top surface: 200 mm/sec

etc.

PS: I have printed quite a lot of stuff using their profile, and the quality is great, even at those fast speeds. Thing is amazing.

1 Like

Flashforge Adventurer 5M (AD5M) - simpler, easier, faster drag chain termination at hotend (v1.0)

https://www.printables.com/model/785667-flashforge-adventurer-5m-ad5m-simpler-easier-faste

For those upgrading AD5M printer with printed enclosure and wish to avoid replacing hotend top or awkward existing plan

The Flashforge Adventurer 5M (“AD5M”) is a fantastic printer at a great price. The design for the printed enclosure upgrade is very nicely designed and well thought out. There was really only one aspect of the design that seemed could be improved.

This is a simpler, easier, faster, and more durable… drag chain termination at the hotend/extruder. Two prep steps and three install steps:

Steps to prepare:

  1. Print one extra cable chain link and install it onto the chain. (This should bring the total links to 21. If you still need the file for printing the chain, click here and tap on the menu choice labelled “If you want to do 100% DIY: Drag chain kit”.)
  2. Print the two parts in this listing (using 40% infill for strength), and CA glue them together as shown below. The parts print as oriented and without any need of support.

Print slice plan shown in OrcaSlicer:

Parts glued together with CA glue:

A “ridge” (shown below in x-ray view) fits into a corresponding detent to help with alignment during glue-up:

Steps to install:

  1. Attach the new part to the cable chain. (It has a part at the top that resembles the male end of a cable chain link.)
  2. Where the cable goes into the hotend / extruder, there is a small tab with two screws in it. This tab secures the cable. Remove the two small screws, and save them for reuse.
  3. Replace the small tab with the bottom of the new part. Tighten the same two screws into it that used to hold the old tab in place. Save the old tab if you wish, just in case.

That’s pretty much it. You’re now done. All the other steps from the install should be followed as in the manual for the enclosure upgrade.

I have video of this install, and after I get it edited and posted, I will include it here.

My PayPal tip jar: https://paypal.me/design8studio

They are getting very close to cracking this puppy!

https://www.reddit.com/r/FlashForge/s/qOcMhWiIcD

1 Like

Yes, I’ve already been following that thread pretty closely. Thanks!

Buildroot is a way to sort of define a makefile for everything you want on the image and then build it all to make a completely custom OS. I used Yocto once and it was similar. Very neat end result, but a bit of a pain to use.

I forget, what is our goal? A web interface? It sure seems possible.

I’d imagine klipper, moonraker, mainsail, crowsnest, etc.

The whole shabang!

I’m not going to say it’s impossible, but the free -m shows only 10MB of free memory and no swap. So I am guessing anything more than the smallest api code would not work.

1 Like

There are at least a couple of varied goals. One is to commandeer the LCD with a free range Klipper interface such as Klipperscreen, which probably has prerequisites I don’t know about yet

As mention above, another goal is to just have the whole shebang of a free range Klipper install.

All this is beyond my current knowledge or understanding.

1 Like

My first glance take on this is that they’ve done a lot of work to shoehorn a Klipper implementation into a fairly low memory Cortex-A7. So the first thing that studying their implementation might teach the community is how to fit Klipper into similar small footprint targets.

It doesn’t look like there’s a whole lot of free memory, so there doesn’t appear to be a lot of room for a bunch of additional software to be added to the Klipper host in their implementation.

It’s always interesting to study, though.

This is a good word to describe it.

Good news for those desiring more “open” use of Klipper on this store-bought printer:

On Mar 11, 2024, at 8:25 PM, xblax notifications@github.com wrote:

The waiting has come to an end, finally :tada:

I have set the repository GitHub - xblax/flashforge_adm5_klipper_mod: Unoffical mod for Flashforge Adventurer 5M (Pro) 3D printers to run Moonraker, custom Klipper, Mainsail & Fluidd to public and everybody who’s interested can now have a look and help testing. Please note that it’s still beta.

That also means that we no longer have to hold this issue hostage for public discussions of the mod that we have been working on for some time. I will close it and invite everyone continue the discussion in the Adventurer 5M Klipper Mod v00.03-beta Release Announcement or the other open topics in the mod repository.

Here again is the direct link to the repo: GitHub - xblax/flashforge_adm5_klipper_mod: Unoffical mod for Flashforge Adventurer 5M (Pro) 3D printers to run Moonraker, custom Klipper, Mainsail & Fluidd

2 Likes