Hice un boceto, pero luego lo perdí. Sin embargo, lo subí al Arduino antes de perderlo. ¿Hay alguna forma de recuperarlo?
Debería ser posible siempre que el bit de seguridad no esté activado. Esta pregunta se hizo en EE hace un tiempo.
[¿Es posible extraer código de una placa arduino?
Pero no recuperarás el código Arduino que escribiste. El código está compilado en ensamblador y tendrás que convertirlo de nuevo a C tú mismo.
Esta respuesta no responde directamente a la pregunta, pero aún así tendrá el mismo resultado final.
El IDE de Arduino utiliza directorios temporales para almacenar archivos de construcción, incluyendo el boceto original, así como los archivos HEX e intermedios.
En un Mac, estos están en /var/folders por defecto, y en una máquina Windows están en ...\Local Settings\Temp\ (que dependiendo de la versión de Windows podría estar en varios lugares).
He encontrado que especialmente en Windows, estos archivos de compilación no se borran cuando cierras el sketch o el IDE, por lo que pueden existir en tu máquina durante mucho más tiempo de lo que te imaginas.
Además, por defecto, Crashplan, Backblaze y Time Machine hacen copias de seguridad de estas ubicaciones, por lo que incluso si se han eliminado, todavía pueden estar en una copia de seguridad.
La ventaja aquí es que recuperará el código C en lugar de ASM.
Puedes descargar el volcado hexadecimal del archivo, pero no hay forma fácil de obtener todo el código C++ y los comentarios. Si puedes entender ensamblador, podrías recrear el programa, pero eso llevaría un tiempo. Hay dissasemblers disponibles para algunos dispositivos, no sé acerca de arduino.