How may I identify the firmware in use on my 3D printer?

I have a generic printer with no support documentation.

How do I determine what firmware is in use so that I can research how to make the print run?

Send M115 to the printer. This command is

Request the Firmware Version and Capabilities of the current microcontroller.

Response example:

ok PROTOCOL_VERSION:0.1 FIRMWARE_NAME:FiveD FIRMWARE_URL:http%3A//reprap.org MACHINE_TYPE:Mendel EXTRUDER_COUNT:1

For more info see here, RepRapWiki- G-code - M115: Get Firmware Version and Capabilities.

Of course, this isn't guaranteed to tell the truth, just whatever your generic clone firmware had in its source code.

• Please excuse my beginner state. I have the printer assembled and turned on. It has an SD card. I was hoping to learn how to 'send' it anything. How does one send an M115 to the printer. Create a .bat file for the SD card?
– Gord
Aug 30 '17 at 21:31
• Your board probably talks serial. Use Marlin or Repetier host to send the G-codes to your printer Aug 30 '17 at 22:27
• After much research I am still with no answer. The printer is stand alone. I cannot connect it via marlin or repetier as I believe that requires connecting by USB. USB connect fails with Device Descriptor Request Failed. How do I identify the printer in order to get a drive for it? or am I barking up the wrong tree.
– Gord
Dec 31 '17 at 21:43
• @Gord It is very unlikely your printer needs a printer-specific driver. Take a look at the mainboard to see if you can identify the USB-to-Serial converter, and install the driver for that. It's usually either an FTDI (clone), CH340 or AtMega32u4-based one. Feb 4 '18 at 15:56
• Sending G-code commands to a printer is described in this question: What is a printer console/terminal?.
– 0scar
Jul 18 '19 at 1:04

Startup

Usually, when a printer starts up, the screen shows a boot-screen. This contains usually the firmware version, but not who or what the settings are.

In Marlin it is disabled by default, and you'd need to uncomment #define LCD_INFO_MENU in Configuration_adv.h.
Connect a terminal and send M115. In most cases, this will tell you the current Firmware and version, as it is annotated in the firmware. This doesn't mean that those lines always were updated by who changed the files, but it is a good indication what was the basis for the installed firmware.