Taz 5 with ARCHIM2

I recently upgraded my Taz5 with an Archim2 mainboard. I built up Marlin2 from scratch and it was quite hard for me because I was new to vscode, and marlin2.(Bye bye Arduino, I just started feeling comfortable with you lol) Alot has changed. It was also incredibly slow and tedious work. Not just figuring out what to do, but what had to be done and undone and also understanding the trinamic drivers of the TMC2130 stepper drivers on the Archim2, and figuring out what settings to use. Also the ARCHIM2 has essentially no documentation, except for a picture and a schematic (which I can’t really read, maybe 50% of it). Along with a few comments on a couple of items that were needed in the marlin 2 config*.h files (leaving out the other 8000 things lol). All told it probably took me close to two weeks of nights studying and researching before I got it all done and working.

My Taz5 has been extensively hardware modified. I designed and installed a removable build bed, and designed and printed a mount for a Bondtech QR extruder (with an e3dv6 hot end), custom part fan for the mount, and recently added a bltouch mount as well (for the Archim2 upgrade). I have 12mm X axis guide rods and linear ball bearings. I also have linear bearings on the Y and Z axes along with hardened steel guide rods (still 10mm). I also have an anti Z wobble upgrade (designed by piercet from this board). Also have a PT100 and its amplifier for more accurate temp readings at the extruder. And of course the bed heater and it’s thermistor are also different from the original taz 5 (part of my removable build bed design). This setup can print 290x280x240 in x, y and z respectively. Finally I also added a bigtreetech tft 70 v3 for a big fancy color touch screen OR marlin lcd mode control, choice of which at the press of a button. The btt tft 70 v3 connects via serial port and has it’s own onboard processor, so you don’t need to configure marlin for it, other than to create a serial port and also tell it is still has a reprap discount full graphic lcd controller. So there is also two 10 pin ribbon cables that get connected from the screen in addition to the serial connection. (Note I didn’t add this controller until I put in the Archim2, I don’t think it would be easy to put it on the Rambo board).

I had been wanting to add bltouch because even though leveling on my bed design (3 point leveling) was relatively easy and stable, the glass for my beds are just not flat enough to use the whole surface at once without mesh levelling. Also because the original taz comes with a Rambo 1.3L it’s likely just not powerful enough to handle all the data of mesh levelling and driving all three axes at once. So I decided to go to 32 bit at the same time as adding bltouch.

ARCHIM2 has some drawbacks, it’s only 84mhz and it is expensive. HOWEVER and this was the deal maker for me, it’s essentially a drop in replacement for the Rambo. It even uses all the same connectors so I didn’t even have to change them (except in one minor case, the control case fan). So it saved a ton of mechanical work potentially created by going with a different (cheaper) board with a different form factor and likely different connectors in some places. Also lots of potential wiring changes. None of that is required of the Taz 5 going to an Archim2. From a mechanical installation standpoint, it’s no different than replacing a broken Rambo 1.3L or 1.4 with a new one. You can even use the same power supply. Even the power connector pops right into the Archim2. The polarity order didn’t even change! Super easy from that standpoint.

So over the next several days I will add some pictures and post all the marlin files for my build. Just keep in mind the customizations I’ve made will impact some of the settings if you want to try this upgrade and your Taz 5 is totally stock or changed in different ways than mine.

Let me know if you’re interested in me continuing this thread that will motivate me to continue. I don’t want to talk to myself!

Happy printing.

Billy D.

That sounds like a great modification!

Please do share your results once finalized. I know a lot of users may be interested in this modification.

Attached are a few pictures of my custom mount, removable build bed and bigtreetech tft70 v3 control. I show the color touchscreen mode and then the marlin mode. (12864 emulator). You can see I’ve mounted the bltouch directly behind the extruder, so no X offset. It is 26mm behind in Y so you can mesh the entire bed surface except the first 26mm in Y.

marlin_modded_files.gcode (88.2 KB)

CAUTION, this is not a gcode file. Download it and change the extension to .zip instead of .gcode. Then you can unzip the contents.

These are the files I modded to configure Marlin 2.0.x bugfix from 4/8/21

Regardless of which marlin 2 exists when you download it, you can use these files as a guide to configure your Taz 5.

Sorry I am not very good with vscode, and lack the knowledge on how to otherwise share this configuration. I suppose I will figure that out at a later date. In the meantime this will have to do.

Inside the zip file the configuration*.h files and a few other files I had to mod in order configure it the way I wanted.

In the pins file I’ve revised a few things to allow the case cooling fan to run off of HEAT2 output of Archim. And also to setup an analog input for the PT100 amplifier output for E0’s temperature sensing. The variant.cpp has some changes as well to achieve this, around line 317. This places the input for the amplifier on pin 20 of the GPIO connector on the archim board. I also switched servo 0 from pin 20 to pin 19 of the same connector, this is where the servo connection for the BLtouch goes. BLtouch gets power from the 5v output at near the upper left of the picture shown. The final connection for BLtouch is the Z stop minimum input. You will no longer use the Z axis endstop and it is replaced by the BLtouch probe. More to come tomorrow. Note the picture is upside down because that is how it is mounted in the taz5 case.

Modified Configuration.H and Configurationadv.H for improved Serial function with TFT70V3 touchscreen

Also fixed a mistake as I am driving the board with 24v and I had the chopper default set to 12v.

configH_and_configadvH_files_revB.gcode (80.9 KB)

As always change the extension to .zip after downloading.

Update. I am struggling with this touchscreen. The marlin emulator mode works perfectly. But the touchscreen relies on a serial connection and I haven’t been able to get it reliable. So currently I can’t recommend this screen. The easy thing to do would be to just keep the stock Taz5 controller. But I like to beat my head against the wall, so I haven’t given up yet!

Ok great news I have it fully working now. Attached are the finalized config files I used, please ignore previous ones. In the first post, you will also need to refer to the changes I made to the archim2 pins file as well as the changes made to variant.cpp (also found in the first post). This is assuming you are copying my configuration exactly, which consists of a BLtouch, the Taz 5 printer, the BTT touchscreen, a bondtech qr extruder, and the Archim2 mainboard. Please post any questions and I will try to help.

If anyone wants the bondtech mount I designed for the Taz 5 let me know and i will post it.

If you change any of the hardware you’ll just have to modify the config files accordingly.

Ps I have disabled stealthchop for the tmc2130 stepper drivers in the Archim2, because I was having problems with them and the only benefit I can see is they are quieter and I don’t care about that. I imagine as Marlin2 matures those drivers will be less problematic. It may also be that I have something setup wrong. I know you can’t use linear advance with stealthchop on the extruder, and linear advance is too important for me to sacrifice for a quieter extruder. As far as X Y and Z steppers go, I was getting occasional freezes. I don’t care enough about it to chase it down.

As usual after downloading revise the .gcode extension to .zip and then unzip.

config_files_for_marlin2_revC.gcode (81.7 KB)

Well I figured out the issue with stealthchop and corrected the problems in the config files. Attached are the latest config files (and the other files I modified) to build Marlin 2.0.x bugfix as of 4/26/21

Download and change .gcode to .zip and unzip for all the files.

By the way I didn’t enable hybrid threshold for the stepper drivers, the sound of the steppers in that mode are awful. If you want it to increase your travel speeds by using hybrid threshold, you can simply remove the // in front of the hybrid threshold define.

Marlinbugfix2 4-26-21.gcode (89.0 KB)

Wow, this is awesome! I have a taz 5 with a fried rambo 1.3, and the replacement I just got was DOA. Now, I’m inspired to go with the newer board.
Do you have a filament runout sensor hooked up?

No filament runout sensor yet, But it should be straightforward to add. If you add one please share the configuration.

Please note the current for my bondtech extruder on E0 (for the TMC2130 stepper) should be 680mah (not 950 as I have in the configadv file). If you are using the stock Taz 5 extruder it would be same as X and Y at 850mah. Also I had Z set to 1150 which is a little risky for the TMC2130’s and I have lowered it to 1000. They have a 1200mah max continuous rating (the 2130’s) and I’d rather have a little cushion there. 1000’s enough to drive the two Z stepper motors.

Received my Archim2 today. I’m going to give this upgrade a try on a TAZ5. I’ll use your documentation as a guide. Mine is stock except for the Archim2 board so I’ll back out the extra modifications.

After I get that working I’ll add a BL Touch and a new print head.

Sorry I didn’t respond sooner but I’ve been buried by life and work. How did your Archim2 upgrade go BradZaguate?

I did finally get the touchscreen working. It was my fault, there was some documentation for the touchscreen that I wasn’t aware of, and I hadn’t done all the steps in Marlin2 properly to get it to work without issue. Now it is flawless and I can recommend the BTT touchscreen.

Santa is bringing me a Mosquito Magnum+ hotend along with a bondtech QR-M extruder. I am going to attempt to install a PT1000 temp RTD temp sensor and an Adafruit MAX31865 amp into my Archim2. I hope the Archim2 can handle the 50watt extruder heater! Hard to find information on this board.

I am about to attempt the same archim2 swap with a stock Taz 5. Would I be able to do the board swap and then just upload the standard Marlin firmware for the Taz 5? I am comfortable with a fair amount of software modification. I am just not fully aware of what kind of changes I would need to make with an entirely stock printer.

You have to use marlin2 for the archim2. The stock marlin for the taz will expect the rambo board. Teaching Tech on youtube has an excellent video series on using vscode to compile marlin firmware. You should be able to use my configuration.h and configuration_adv.h files posted here as a guide to what needs to be changed. Most of what I’ve done won’t effect an entirely stock printer. What I changed from stock is as follows:

  1. My build volume is different than stock. So you need to use the original build volume. X bed size, Y bed size and Z.
  2. I am using a different than stock extruder, so the steps/mm will be different. Also if you keep my 32 micro step setting all of your stock steps/mm for x y z and the extruder will have to double from what you have now. You can change it back to 16 if you want, but there is no good reason to with the archim2.
  3. I am using a bltouch, so all of that will have to be commented out of the configuration files.
  4. Do not make any changes to any of the other files I did like to the .pins file, or the .cpp file. I made these changes to accommodate the bltouch and the PT-100 temp sensor I use instead of the standard thermistor.
  5. There is one change you will have to make like I did to the .pins file actually, for the electronics box cooling fan. There is not a stock place on the archim2 to attach it, so I had to move that attachment to one of the heater outputs.
  6. All of the serial changes that I make can be ignored, as that was done for the BTT TFT70 touchscreen I added. Although I highly recommend this update it’s a great touch screen. If you buy one you can leave the serial port changes as I did.

Please feel free to ask any questions here as you go. It is a quite challenging upgrade but it is possible to do just from reading online and asking questions from ultimachine (maker of the Archim2) they were very helpful as I went along via email support.

One final quirk I should mention for the archim2 board. You will find many claiming that marlin2 can’t be installed via USB for 32bit boards but this is not true for the archim2. It’s the best way in fact. BUT each time you want to flash via USB you have to erase the prior firmware version in the archim2 so the USB port becomes active. (when it’s flashed the usb port is unavailable). This is done by pressing the erase micro button on the archim2 board (have to remove the electronics cover to do it) and while holding that down, press the reset button which faces outward from the board and is accessible through the electronics case’s side. Once that is done the usb port will be seen by your computer and then you can compile and upload your new firmware (using vscode) to the archim2’s usb.

There’s a lot to learn but if you are patient and willing to put in the study it can be done.

One other thing that isn’t very clear. In vscode when you are ready to make changes to marlin and compile you have to set the default environment in pio to DUE_ARCHIM. You’ll know more what this means when you get into vscode.

Alright, I am ordering the board today, so I will update you as progress continues. Thank you so much for the assistance, I’ve bought 2 broken printers and fixed them up. But this is my greatest challenge so far, but you have saved me so much time and I really appreciate you helping me out!

Well I am making good progress I believe, but have run into a few issues. Will I be able to use the stock LCD it has 2 plugs that I cannot identify on the Archim. Also when I go to open a PIO file it is asking for a board and I cannot locate the archim nor the processor in the available boards. Do i need to just add the code for pio in the configuration file?

Could you just share your .ini file?

In the pio config set the default environment to DUE_ARCHIM