user4527: I have a CNC router table that came into my local makerspace. The board looks like it has some standard parts, but also has some parts I don't recognize. At the heart of it is an Arduino Uno. I would like to get the code from the UNO, as a back up. I will have to do testing on this board, but I don't want to overwrite something I don't have a back up of.
is there a way to get the firmware off of the arduino, without having the ino files that generated it?
(This is a standard function on many other platforms such as PIC, I just don't know how to do it in Arudino. I am assuming the functionality also exists.)

user4527: Cool I got it using avrdude.
$ avrdude -c arduino -P /dev/ttyUSB0 -b 9600 -p m328p -U  flash:r:CNCArdunio.hex:i
> -c the platform (basically)
> -P the port where your harware is. 
> -b the baudrate.
> -p the chip architecture.
> -U momory type flash  :r option to read to file  :i option to format into Intel HEX.

caveats.Upon closer inspection this is either a very early model UNO, or a cheap clone. It comes up at /dev/ttyUSB0, and required that I press the reset button shortly before sending the avrdude command, else it resulted in
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00


4527: <p>I have a CNC router table that came into my local makerspace. The board looks like it has some standard parts, but also has some parts I don't recognize. At the heart of it is an Arduino Uno. I would like to get the code from the UNO, as a back up. I will have to do testing on this board, but I don't want to overwrite something I don't have a back up of.</p>
<p>is there a way to get the firmware off of the arduino, without having the ino files that generated it?</p>
<p>(This is a standard function on many other platforms such as PIC, I just don't know how to do it in Arudino. I am assuming the functionality also exists.)</p>
 4527: <p>Cool I got it using avrdude.
$ <code>avrdude -c arduino -P /dev/ttyUSB0 -b 9600 -p m328p -U  flash:r:CNCArdunio.hex:i</code></p>
<pre><code>&gt; -c the platform (basically)
&gt; -P the port where your harware is. 
&gt; -b the baudrate.
&gt; -p the chip architecture.
&gt; -U momory type flash  :r option to read to file  :i option to format into Intel HEX.
</code></pre>
<p>caveats.Upon closer inspection this is either a very early model UNO, or a cheap clone. It comes up at /dev/ttyUSB0, and required that I press the reset button shortly before sending the avrdude command, else it resulted in</p>
<pre><code>avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00
</code></pre>
