I've got a few devices made using the arduino board. I was asked to update the program. However I've different version which must be used for different arduino boards. Is there a way to get to know which arduino board (Nano, Micro, Tiny, etc.) is inside the device? Without disassembling the device.

I've got usb port or ICSP pins on the device's case. I can't open the case and learn the interior.

  • 3
    \$\begingroup\$ What device? Most devices don't have any Arduino board inside them. \$\endgroup\$ – immibis Jun 17 at 5:32
  • \$\begingroup\$ This question would probably get a quicker answer at Arduino Stackexchange. \$\endgroup\$ – The Photon Jun 17 at 5:51
  • 1
    \$\begingroup\$ Please be more specific. Do you mean, "is it possible to identify an arduino via the USB connection"? \$\endgroup\$ – Drew Jun 17 at 6:08
  • \$\begingroup\$ @Drew , via ICSP or USB (if it exists). \$\endgroup\$ – zhekaus Jun 17 at 6:22
  • 1
    \$\begingroup\$ The MCU can be identified by running avrdude which will report the device signature that can be looked up here. If you have old versions of the software, you can read the software that's currently flashed and compare it with that, then you'll know which is the corresponding updated software. \$\endgroup\$ – Dmitry Grigoryev Jun 17 at 11:18

Since you are speaking (in the comments) about accessing the ICSP connector, I assume you have direct access to the board.

In this case, identifying the "arduino board" is pretty easy; almost all the boards have their name written in the overlay layer, so you just have to read it.

Now, since this was pretty easy, I assume that your circuit is a custom board with a microcontroller with the arduino bootloader flashed. If this is the case, then you should proceed to check the microcontroller, then finding similar boards with the same micro and comparing.

For instance the most known microcontroller with arduino support is the ATmega328P. It is used on the UNO, the PRO MINI and the NANO. The ATmega32U4 is used on the LEONARDO and the MICRO. The ATmega2560 is the uC for the MEGA. And so on.

  • \$\begingroup\$ I said I can't disassemble the device. Therefore I can't see the board! All I've got is usb or ICSP ports on them, outside the case. \$\endgroup\$ – zhekaus Jun 17 at 9:17
  • 1
    \$\begingroup\$ @zhekaus sorry but you added that info after I posted this answer; that's the reason why you should add all the details in the question before posting it... \$\endgroup\$ – frarugi87 Jun 17 at 13:12
  • \$\begingroup\$ @zhekaus Alright, so you can't disassemble the device. Have you got the initial version of the code, which you are planning to modify? (If not, how are you planning to figure out connections between the Arduino and the rest of the device? Without the schematic, and even without being able to look inside of the device, that is.) \$\endgroup\$ – Nick Alexeev Jun 17 at 13:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.