1. About
  2. Features
  3. Explore

I'm in the process of tweaking the firmware (Repetier 0.92.6) because of some problems mentioned here: Delta printer printing incorrect dimensions in X and Y directions. Z dimensions are correct

But I found out that the printer manufacturer has locked the firmware (probably) and I cannot edit it. So I have to burn a new one (I guess? Correct me if I'm wrong)

Printer name: Dimension Dual Delta

Manufacturer: J Group Robotics

Website: http://www.jgrouprobotics.com/dimension-dual-delta

I have the slicer (Simplify3D) configured with the FFF profile as my printer was working completely fine up until a few weeks ago. I just want to know that if I change the firmware, would I have to change/update the profile as well? If yes, how do I do that?

Here is a screenshot of Repetier host. The "JGR" continues indefinitely:

Screenshot of log

Here is the actual log text

22:56:00.216 : OpenGL version:4.2.0 22:56:00.218 : OpenGL renderer:GeForce GT 540M/PCIe/SSE2 22:56:00.218 : Using fast VBOs for rendering is possible 22:56:06.634 : Printer reset detected - initalizing 22:56:06.661 : start 22:56:06.662 : Info:External Reset 22:56:06.662 : Info:Autoleveling enabled 22:56:06.662 : Transformation matrix: 0.999994 0.000010 0.003587 0.000000 0.999996 -0.002727 -0.003587 0.002727 0.999990 22:56:06.865 : N1 M110*34 22:56:06.865 : N2 M115*36 22:56:06.865 : N3 M105*36 22:56:06.865 : N4 M114*35 22:56:06.865 : N5 M111 S6*98 22:56:06.869 : N6 T0*60 22:56:06.870 : N7 M20*22 22:56:06.871 : N8 M80*19 22:56:06.872 : N9 M105*46 22:56:08.706 : Free RAM:1002 22:56:08.706 : Autoretract:0 22:56:08.706 : X:0.00 Y:0.00 Z:0.000 E:0.0000 22:56:08.713 : N10 M220 S100*80 22:56:08.713 : N11 M221 S100*80 22:56:08.714 : N12 M111 S6*84 22:56:08.714 : FIRMWARE_NAME:Repetier_0.92.6 FIRMWARE_URL:https://github.com/repetier/Repetier-Firmware/ PROTOCOL_VERSION:1.0 MACHINE_TYPE:Delta EXTRUDER_COUNT:2 REPETIER_PROTOCOL:3 22:56:08.714 : Printed filament:32.75m Printing time:0 days 6 hours 0 min 22:56:08.714 : PrinterMode:FFF 22:56:08.714 : N13 T0*8 22:56:08.745 : X:0.00 Y:0.00 Z:0.000 E:0.0000 22:56:08.745 : Begin file list 22:56:08.746 : End file list 22:56:09.726 : JGR 22:56:09.960 : N14 M105*18 22:56:10.972 : JGR 22:56:11.979 : JGR 22:56:12.969 : JGR 22:56:13.016 : N15 M105*19 22:56:14.028 : JGR 22:56:15.035 : JGR 22:56:16.025 : JGR 22:56:16.072 : N16 M105*16 22:56:17.085 : JGR 22:56:18.091 : JGR 22:56:19.081 : JGR 22:56:19.134 : N17 M105*17 22:56:20.157 : JGR 22:56:21.163 : JGR 22:56:22.154 : JGR 22:56:22.189 : N18 M105*30 22:56:23.202 : JGR 22:56:24.208 : JGR 22:56:25.199 : JGR 22:56:25.245 : N19 M105*31 22:56:26.253 : JGR 22:56:27.261 : JGR 22:56:28.267 : JGR 22:56:28.307 : N20 M105*21 22:56:29.319 : JGR 22:56:30.326 : JGR 22:56:31.316 : JGR 22:56:31.363 : N21 M105*20 22:56:32.376 : JGR 22:56:33.382 : JGR 22:56:34.372 : JGR 

Edit: Since it is advisable to get a new controller board and keep the current one as it is, I'm attaching a picture of what my printer is controlled by.

enter image description here

The black box on the green board reads HRD 12008. Google says its a DC-DC SMPS module but mine has some extra connectors than what I could find online.

The black board is a MKS Base v1.3

The other box is a solid state relay.

This is more intimidating than I thought it would be. How do I proceed now? If I get a brand new controller board to play with, which should it be? Also, I can't seem to locate any RAMPS shield.

1 Answer 1

The firmware is not really locked by the OEM1, you just need to upload (or, as you say burn) a new version. This is not unusual2.

Repetier is just like any other firmware that uses Arduino boards. While it may seem intimidating at first, it really is quite easy to regularly upload new firmware to the Arduino Mega 2560 board3. If you are not familiar with Arduino programming at all, then there are a good number of Repetier oriented guides out there, for example, from Repetier's own web site, Repetier-Firmware Documentation.

If are you familiar with Arduino programming, then it really is the same as uploading the Blink sketches, but the base code is just bigger, that is all.

There is too much to detail in a simple answer here and, as I stated above, there are a lot of online guides. However, en bref:

  1. Download and install the Arduino IDE to your Mac/Wintel/Linux PC;
  2. Download the latest Repetier firmware to your Mac/Wintel/Linux PC4;
  3. Connect the Arduino Mega 2560 to your PC using a USB cable;
  4. Change the settings, i.e. Boards and Port settings, in the Arduino IDE, so that your PC can "see" the Arduino Mega 2560;
  5. Open the Reptier firmware, that you have just downloaded, in the Arduino IDE;
  6. Configure the Repetier firmware source code, i.e. make some edits in the Configuration.h file5, with the tweaks that you require (which you mention in your question)6;
  7. Compile the firmware using the Arduino IDE. and (finally);
  8. Upload the firmware to the Arduino Mega 2560.

That is it. Once you have done it a few times, it will become second nature.

Watch a few online youtube videos, as well, before you start, so that you have a better idea of what to do. For example:

With respect to the Slicer's profile settings... I am not sure about that at all.

The reason that you have no RAMPS board is that, on your MKS board, the RAMPS and the Arduino are merged into one. Any new controller would work, as they all run the same firmware. There are many to choose from. As you are just experimenting (and reverse engineering) at this stage, I personally would buy a cheap Chinese Arduino Mega 2560 (€6) and RAMPS (€4) board on eBay, for a total of only €10 (if you buy them separately - don't get a combination "deal" as they are generally more expensive - although compare the prices first, you may find a bargain), to test your settings. Once you are happy with those settings, then you can spend more money on a better board, should you feel that you need it.


1 If you have to get around the licensing, then it sounds like you could/should recompile the firmware, or use some other firmware, i.e. Marlin. However, wait to see what other people suggest.

2 There really isn't much risk in uploading new firmware. The only risk, which I guess Mark is referring to, is that you may/will not have the correct firmware settings for your make of printer, and therefore the printer may not work correctly, until you get the firmware settings correct. So, in that respect, it is a good idea to buy a secondary Arduino Mega and RAMPS1.4 board to play with, for just $10 (Chinese clones work just fine). But, as you say that your board already has bad settings, and you do not wish to pay for more licensing, then you haven't much to lose by uploading new firmware to it, except the warranty. So, if I were in your position, and I did not want to pay the licensing, I would set aside the supplied controller (for possible future use/reference), and use a Arduino Mega 2560/RAMPS 1.4 combination to control the printer. That said, if your printer is still under warranty, can't you ask the manufacturer to supply you a new controller with the correct settings?

3 There is no way of extracting the code from an Arduino and then modifying it. You need the original source code files. See Is there any way to download a sketch from an Arduino? OK, you can obtain the machine code, but unless you are an expert, or guru, modifying it is impossible.

4 The installation order, of the Arduino IDE and Repetier, will not matter. You probably need to rebuild the firmware, I would guess, but I am not 100% sure. It might be a good idea to contact the vendor to see what they recommend, before overwriting their code (assuming that the control board came pre-programmed)

5 I found this video #18: Calibration extremely useful, for configuring Marlin, and understanding the firmware settings in the Configuration.h file.

6 You may find this link useful for your "tweaks": Repetier-Firmware configuration tool for version 0.92.9 version