Firmware upgrade from version 1.x to 2.x. User experience.
Back in October I volunteered to participate in Repetier firmware version 2 testing and the last weekend I finally started upgrading my printer’s firmware from dev. version 1 to version 2. In the following series of posts I will share my experience. Hopefully, this will save other users time and help developers to understand end-user’s experience and how to improve it.
I consider myself being advanced user. I have years of software developing experience, worked in the field of designing electronic boards and PCBs. I bought my first 3d printer almost 4 years ago, which I run on Marlin, Clipper and later on 0.9x and 1.x versions of Repetier firmware. If you are new to any of these areas, your experience may be different, but the good thing is – Repetier developers and other members of these forums are extremely helpful and I never had a case when my question here left unanswered. So, if you got a question – just post it here.
Now about my test environment. After countless upgrades done to my first 3d-printer Velleman Vertex K8400, I reached the point when I was ready to build my own 3d printer from scratch. I decided to go big with IDEX (Independent Dual EXtrusion) design that has 2 print-heads moving independently along X-axis. I may publish the photos later, once the printer is complete, but for now here are the specs of the printer that I am upgrading:
Mainboard: Ultratronics Pro 1.0 with 32bit CPU
Number of steppers: 7 (2-X, 1-Y, 2-Z, 2-Ext. Z-motors are working in sync, but each has own stepper driver)
Number of steppers drivers: 7 (4 - TMC2100 - E0, E1, E2(Z2), Z, 3 - DRV8825 - X, Y, E3(A) ) . Will be upgraded later.
Number of hot-ends: 2 (e3d-v6)
Number of fans: 4 (2 - filament, 2 - e3d-s)
Additional fans: 2 (1- mainboard fan directly connected to +12V, 1- Raspberry PI CPU fan PWM-controlled by RPI via custom extension PCB)
Print bed: 40x40cm heated by 110V AC. Moves along Z with Z-Max at the bottom.
Print surface: 3mm borosilicate glass
Network access: via Raspberry PI 3B+ (RPI) and Octoprint
Solid State Relays (SSR): 2 (one for mainboard power supply, controlled by RPI, another for heated bed). Control voltage 3V-32V DC.
End-stops: 4 - Optical, custom PCB based, use ITR9606-F sensor (schematically similar to Vertex K8400 end-stops)
Z-probe: 1 - Optical with a pin touching the bed (my own design), the sensor is the same as in end-stops. Attached to the right side of left printhead. Activated/deactivated by rear-earth magnets when printhead moves to specific X,Y coordinates.
Filament jam sensors: None
Filament sensors: None
LCD: None (to be added later)
Mainboard power supply: 12V
Additional power supplies: 2 (RPI power supply and 5V DC supply for controlling main power supply’s SSR
Mainboard connections (plug – connects to):
XMOT – X-motor (Left print-head)
YMOT – Y-motor
ZMOT – Z1-motor
ZMOT1 – Not used
E0MOT – Left Extruder-motor
E1MOT – Right Extruder-motor
E2MOT – Z2-motor
E3MOT – A-Motor (Right print-head)
E0 – Left print-head heater
E1 – Right print-head heater
E2 – Left print-head e3d fan
E3 – Right print-head e3d fan
HB – Heat bed SSR
HBIN – 12V from main power supply
Fan1 - Left print-head filament fan
Fan2 - Right print-head filament fan
T0 - Left print-head e3d thermistor
T1 – Heated bed thermistor
T2 - Right print-head e3d thermistor
T3 – Not used
T4 – Not used
X- – X-stop at the left end of X-axis activated by left print-head
X+ – X-stop at the right end of X-axis activated by right print-head
Y- – Not used
Y+ – Y-stop at the rear end of the printer activated by X1/X2 gantry
Z- – Z-probe sensor
Z+ – Connected to one of 3 Z-max sensors installed at heights 150mm, 300mm and 450mm. Sensor/height selection is done by electronic switch on custom PCB controlled by RPI. For these tests Zmax=150mm was used.
USBP (Programming port) – Connected to RPI, or to PC when firmware update is required.
USB (Native port) – Not used (never worked by some reason)
Ethernet port – Not used
TC1-TC4 - Not used
To be continued…