G-code reader/writer

Is there a good program that would let me read and modify the firmware used on my printer.

Great question for @Jason

I know the tech guys use https://www.pronterface.com/ for controlling the machines from their laptops using code but I am not certain if this software allows you to read or modify firmware.

I know that you can read the model G-code with Pronterfce but I don’t know about the firmware.

What exactly do you want to do?

gcode, despite its name is a text file that you can access with something as simple as notepad:

;Filament used: 3.76933m
;Layer height: 0.2
;Generated with Cura_SteamEngine 4.13.1
M140 S50
M190 S50
M104 S200
M109 S200
M82 ;absolute extrusion mode
; Ender 3 Custom Start G-code
G92 E0 ; Reset Extruder
G28 ; Home all axes
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; Move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; Draw the second line
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish
G92 E0
G92 E0
G1 F2700 E-1.5
G1 F300 Z0.4
G0 F6000 X78.143 Y94.957 Z0.4
G1 F300 Z0.2
G1 F2700 E0
G1 F1200 X78.909 Y94.417 E0.03117

You will need a gcode reference like G-code Index but I’ve done it several times.

The big issue is that you will have to be fairly meticulous about how you document your changes as they are out of system as if you want to recreate them after making changes to the model and resliced it they will be lost.

The question is a bit unclear. Your thread title asks for a g-code reader, but your post is talking about the printer’s firmware. These are not the same thing.

Chris and Loosenut are responding to the question in your post; mykepredko is responding to the question in the thread title.

You probably want to pop back in and clarify what it is you’re asking for.

I answered the title question because the query text makes more sense if you substitute “gcode” for “firmware”.

Reading and modifying firmware (or any kind of machine level code without the source code), even if you have the skills to do it, has been frowned upon for the 40+ years I’ve been in this game.

Sorry, maybe I should have put in this explanation as to the reason for my answer.

Yes I screwed up, I will now go and flog myself mercilessly.

What I need is a program that would read/modify the firmware not g-code. Something that would let me change a setting in the firmware so I can reinstall it in the printer.

Can the firmware be changed in the printer directly instead of reinstalling a modified version???

You cannot “read” your firmware, as I indicated above it’s in machine code and it is essentially impossible to read and modify.

What you’re going to have to do is develop the skills and infrastructure to be able to build and customize the firmware that you will load into the controller.

You might want to start here to understand what firmware is, how it is customized and built:

As mykepredo says - no. That’s why it’s firmware and not software. The only way to alter firmware in any device is to compile and then flash a new instance. We’re quite lucky that most 3d printers allow users to flash the firmware, actually; on a large number of electronic devices, it’s not possible at all.

OK riddle me this.

If I need to change the thermal settings for a different type of thermistor there is a plain text description of what it is and then a spot to change it. See the pic below.

Is this not part of the firmware? If not then what and were is it and how do I work with it.

No riddle.

That’s firmware and you’ll have update the configuration files.

It took a bit of work and searching, but what you seem to be showing is a Marlin “configuration.h” or “configuration_adv.h” - I can’t remember where the thermistor information is in.

To change the specification, you will have to modify the appropriate configuration files and then rebuild.

Teaching Tech (as always) has a pretty good video explaining the process:

You might also want to go through:
Good luck - we’re here to answer questions.

OK thanks for the info.