Home JGAurora A5S, A1 & A3S-V2 Modifications & Upgrades

Adding BLTouch and Unified Bed Leveling to the A5S and A1

FrezapFrezap Posts: 21Member, 🌟 Super Member 🌟
edited November 2019 in Modifications & Upgrades
News: When using Klipper I could use the Pins PB3 and PA15 for servo and signal. That means BLTouch support without soldering! Since I converted my A5S into a Hypercupe and won't go back to marlin I won't and can't do any more developing on this.


DISCLAIMER: I only have a BLTouch Clone from TriangleLabs, so this guide is based on that! So if you want to follow this guide with an original BLTouch please comment below if it works!

Hi everyone! I finally figured out how to add BLTouch to the JGAurora A5S and A1.

To do this mod you will need a soldering iron and a bunch of wire.
If you dont want to solder new wire to your controlboard you have the option to unplug your screen and control the printer via a host.

!!!!Follow this guide at you own risk!!!!
Please tell me imediatly if there is something wrong with the firmware!!!! Since I modified more then just the BLTouch on my own printer I can't test this specific build!!!!

If you haven't opened the printer before follow this guide by Da Hai Zhu:
The A5S will look a bit different on the inside, so watch out for the LCD ribbon cable and SD card ribbon cable!
...And don't forget to unplug the printer while working on the electronics!

Since using the endstop pins on the controlboard from JGAurora is problematic we will solder two wires to the SRAM pins exposed next to the lcd header.


PF4 will be our Signal wire, PF5 our Endstop/Sensor wire.

Wireing the BLTouch is visualized below:



This is how it looks in my case:


I secured some of the cables to the board with some tape afterwards.

You might want to test the functionality carefully before closing up the case again.

You can route the wire through either the hole in the case under the lcd in the front or the back at the power supply. Alternatively I drilled a hole right at the vertical frame.

Once the wiring is set up you can flash my modified Firmware. Besides adding BLTouch support and Unified Bed Leveling there are other small tweaks and changes.

You might have to immediatly autotune the PID values for the heated bed by sending a "M303 E-1 S60 C8 U1" to prevent thermal runaways. Don't forget to tune the hotend PID values later too.

Then get an initial value for the z-Probe offset: http://https//www.youtube.com/watch?v=y_1Kg45APko 
This will probably not give you a perfect first layer. You will be able to adjust the offset while printing the first layer just like babystepping. It wont be automatically saved to eeprom though.

For a detailed guide to Unified Bed Leveling see this video: http://https//www.youtube.com/watch?v=ONpKxkil16Q
It should be possible to do all this from the LCD but I didn't bother to look into it.

This is my starting Gcode adapted from the original slicer guide from the wiki:
;M190 S60 ; Heat up the print bed and wait, probably not needed
G28 ; Home all axis
G29 L1 ; Load mesh bed level
G29 J3 ; Check/Update bed level
G1 X0.0 Y0.0 F1000.0
;M109 S200 ; Heat up the hot end and wait, probably not needed

G90
G1 Z15.0 F6000 ; Move up 15mm at 6000mm/min (note: more than the max speed set in the printer firmware)
G92 E0 ; Reset extruder length to zero
G1 X0.0 Y0.0 F1000.0 ; go to edge of print area
G1 Z0.200 F1000.0 ; Go to Start Z position
G1 X60.0 E9.0 F1000.0 ; intro line
G1 X100.0 E21.5 F1000.0 ; intro line
G92 E0.0 ; reset extruder distance position


I hope this will make using a BLTouch possible for the people who crave ABL. It enabled me to start prints with perfect and consistent first layers every time.

And most importantly, thanks to Samuel for his amazing work on the printer and the firmware. He is the one who made this possible!


PS!!!! Please tell me immediatly if there is something wrong with the firmware!!!! Since I modified more then just the BLTouch on my printer I can't test this specific build!!!!

Thanked by 2Samuel Pinches eyes
Post edited by Frezap on

Comments

  • FrezapFrezap Posts: 21Member, 🌟 Super Member 🌟
    edited September 2019
    To compile your own firmware, enable or change these defines:
    Configuration.h
    #define BLTOUCH
    #define AUTO_BED_LEVELING_UBL
    Configuration_adv.h
    #define BLTOUCH_FORCE_SW_MODE
    #define BABYSTEP_ZPROBE_OFFSET          // Combine M851 Z and Babystepping
    #define BABYSTEP_ZPROBE_GFX_OVERLAY
    pins_JGAURORA_A5S_A1.h
    #define Z_STOP_PIN         PF5
    #define NUM_SERVOS 1
    #define SERVO0_TIMER_NUM 8
    #define SERVO0_PIN PF4

    and adjust other marlin values according to your BLTouch setup and needs.

    to be able to compile with unified bed leveling enabled change line 425 of \src\lcd\menu\menu_ubl.cpp:
    snprintf_P(ubl_lcd_gcode, sizeof(ubl_lcd_gcode), PSTR("G29 P4 X%s Y%s R%i"), str, str2, int(n_edit_pts));
    to:
    snprintf(ubl_lcd_gcode, sizeof(ubl_lcd_gcode), PSTR("G29 P4 X%s Y%s R%i"), str, str2, int(n_edit_pts));


    For a more detailed look into the changes look into my github:

    Thanked by 1Samuel Pinches
    Post edited by Frezap on
  • Samuel PinchesSamuel Pinches Posts: 2,997Administrator
    This is excellent work Frezap, thank you for putting together this guide. I appreciate your efforts to get to this point!
    Thanked by 1Frezap
  • eyeseyes Posts: 70🌟 Super Member 🌟
    Thank you for your work and a great easy to follow guide. I am customizing it for binlinear bed leveling and running it before each print. I have a removable magnetic bed and I thing that removing it slightly changes the UBL settings. I have designed a new BLTouch mount for the A5S since the only ones I could find were for the A5. I also am changing the extruder to a BMG clone because I get occasional clicking and skipping from the stock extruder. Can you tell a difference with the BMG extruder?

    https://thingiverse.com/thing:3887227

    I changed my board out with a Bigtreetech SKR v1.3 32bit board to use the BLTouch. It is a little quieter with TMC 2208 stepper drivers, but I will be changing back to the stock board so I can use the stock LCD. The new board will go to my Anet Core A8 conversion.

    Thanks again!!
  • FrezapFrezap Posts: 21Member, 🌟 Super Member 🌟
    Since you are using a BLTouch the magnetic bed shouldn't have any effect on ABL, except maybe boundaries.

    Regarding the BMG, yeah I can print way faster with my BMG clone, but I am reaching speed limits because of the printer frame and long bowden tube now. I can't really tell if there is a difference in print quality, since everything else has more effect on that then the extruder upgrade.

    In theory you can use the A5S lcd with the skr, just fyi.
  • eyeseyes Posts: 70🌟 Super Member 🌟
    I wondered about that but didn't know where to connect it. Is there some other way to connect it since the plug doesn't match anything on the board? The bilinear leveling has been working great with the skr. But a few days ago my extruder started clicking and skipping. I don't know if I have a small clog or something else. I figured the BMG would fix that. How fast are you able to print with it?
  • eyeseyes Posts: 70🌟 Super Member 🌟
    While trying to solder to the SRAM points I accidentally removed the solder from PF4. I had my soldering iron on low and once I let it cool the wire pulled it right off. It looks like it goes to the processor. It there any where else I can connect?
  • Samuel PinchesSamuel Pinches Posts: 2,997Administrator
    edited October 2019
    Try the next pin along on that side, that would be PF3. Its untested, but I don't see any reason why that wouldn't work. I can't see any difference in the pin capabilities listed between those pins in the datasheet. Obviously you'd need to change the firmware pin configuration too. Anything PF0 - PF5 should be equivalent.

    Post edited by Samuel Pinches on
  • eyeseyes Posts: 70🌟 Super Member 🌟
    Thank you. I'll try that. 
  • Al_SAl_S Posts: 2Member
    Hi everyone,
    I'm kind of new to the 3D-printing modifications :)
    So my question is: 
    If I change the mainboard with a newer one that supports auto-leveling! will  I need to modify the firmware, I mean that what I already installed in my printer which is Marlin 2.D.

    cheer!
  • Samuel PinchesSamuel Pinches Posts: 2,997Administrator
    Hi @Al_S ,  welcome! Yes, you could replace the motherboard with something else. Then you would need to replace LCD too. Then, the printer is no longer a "JGAurora", so you would need to customize the firmware for a different board. Maybe something like SKR or MKS Robin.
    Cheers, Sam
  • Al_SAl_S Posts: 2Member
    Thank you Samuel for your great  help   :) 
  • eyeseyes Posts: 70🌟 Super Member 🌟
    As it turns out I had the board upside down when I damaged the solder point so PF4 was ok, I resoldered and BLTouch is working perfectly. Thank you Frezap and Samuel for all your help!
    Thanked by 1Samuel Pinches
  • Samuel PinchesSamuel Pinches Posts: 2,997Administrator
    Woohooo!! B)
  • FrezapFrezap Posts: 21Member, 🌟 Super Member 🌟
    When using Klipper I could use the Pins PB3 and PA15 for servo and signal. That means BLTouch support without soldering! Since I converted my A5S into a Hypercupe and won't go back to marlin I won't and can't do any more developing on this.
  • Samuel PinchesSamuel Pinches Posts: 2,997Administrator
    It's probably some Timer problem on STM32 that we have not yet discovered... thanks for the tip!!
  • renewestrenewest Posts: 1Member
    edited December 2019

    Hello, I am new here. I try to put the klipper firmware on an A5S.
    I use https://github.com/frezap/klipper for this. As indicated, I choose stm32f103 in the make menu 
    processor model. Bootloader 8KiB stm32duino and serial instead of USB. 
    Then I put the klipper.bin that is made on an sd card and start the printer. 
    It installs the firmware without giving an error. After restarting the printer, 
    it only shows a white screen and I cannot connect to serial.
    Any idea?
    Post edited by renewest on
  • Samuel PinchesSamuel Pinches Posts: 2,997Administrator
    edited December 2019
    Welcome @renewest !
    The reason is that the factory firmware SD bootloader/flasher does not flash the entire firmware, it only flashes the bin file to the region after the SD bootloader. To make this work, you need to change the compiler to link based on a different entry address. Please take some time to view the linker files for the Marlin firmware for the A5S. If you want to flash the entire firmware area, you need to use an ST-Link device.
    Thanked by 1renewest
    Post edited by Samuel Pinches on
  • kiduskidus Posts: 2Member
    I have a question related to that. Is it possible to upload klipper without st-link? 

  • Samuel PinchesSamuel Pinches Posts: 2,997Administrator
    edited September 2020
    @kidus welcome to the forum :)
    In theory, yes it is totally possible. But I have not explored this. The requirement would be to build a klipper firmware that has the "entry point" at the correct location the bootloader expects. You can inspect the source code project for the A5S to hopefully see how I did it for that one.
    Post edited by Samuel Pinches on
  • PolakPolak Posts: 1Member
    Hello. 

    I have fallowed this tutorial to add bltouch (antclabs) to my a5s. I did everything correctly but I'm getting stuck on making the firmware for the printer. Every time I compile with vscode the file size is 8kb and when I flash it to the printer it won't boot. Would anyone know where I can get all the files to make the proper firmware?

    Thanks in advance.
  • Samuel PinchesSamuel Pinches Posts: 2,997Administrator
  • rwaterstonrwaterston Posts: 1Member
    Hi 

    I have been trying for days to get this working with Marlin 2.07 firmware just not got what it takes anyone got a copy of both configuration h and configuration advh to send me i know i will need to alter my probe position but hopfully that may work.

    Thanks
  • pwelkapwelka Posts: 3Member
    edited October 2022

    So, looking at the annotated photo, I think the 3.3 volts is actually 5 volts (which is what the BLTouch needs to deploy/stow the probe)... at least that's what I'm seeing on my multimeter...

    Post edited by pwelka on
  • CO2CO2 Posts: 9Member

    Does anyone have any of the images that were in this post? Especially the wiring for the A5S w/ v1.1 board?

    I cant seem to find anything clear that shows the wiring and the images in this post no longer work for me :(

  • Samuel PinchesSamuel Pinches Posts: 2,997Administrator
    edited June 2023

    Thanks for letting me know .. the old jgmakerforum domain was snagged and I was still linking to it ... pictures will be back momentarily....

    Post edited by Samuel Pinches on
  • CO2CO2 Posts: 9Member

    Much appreciated @Samuel Pinches
    Looking forward to the enhanced images, see what kind of trouble I can get into this weekend :)

  • Samuel PinchesSamuel Pinches Posts: 2,997Administrator

    Fixed :smiley:

  • CO2CO2 Posts: 9Member

    Thank you!

Sign In or Register to comment.