I have been working on creating a stand alone atmega2560 arduino. When trying to program it with a serial adapter using the rx and tx pins nothing was happening. After a lot of debugging I found the problem was with the chip.

I found that the ones that worked said atmega2560 16AU 0721, the ones that did not work said Atmega2560 16AU 1241. When looking on eBay, i noted that the Atmega2560 16AU comes with many different versions of those last four numerals, does anyone know what the last four digits on top of the atmega2560 16AU mean?

  • Since you have an ICSP header please use my chip detector sketch to report on the chip. It will tell you if it responds (thus proving the chip is more-or-less OK) plus the fuse settings, and what bootloader is installed. You can edit this information into the question. – Nick Gammon Jan 14 '18 at 6:07
  • 1241 = 41st week of 2012. 0721 is 21st week of 2007. – Majenko Jan 14 '18 at 17:16
  • indeed the problem was with the Bootloader. I was using the default one available in the Arduino IDE. I changed to use the one create by Nick Gamon, github.com/nickgammon/arduino_sketches , and problem solved. I can now program the ATMEGA2560 via serial. – Camilo Jan 15 '18 at 19:35

The last four digits are a date code - the date of manufacture.

It's in the form YYWW where YY is the last two digits of the year, and WW is the week number.

So 0721 is the 21st week of 2007, and 1241 is the 41st week of 2012.

| improve this answer | |

The data sheet (or supplemental product-line documentation) will specify the formal package marking codes, but for an ATmega, the 16AU is part of the variant specification but the following would appear to be date or lot codes.

These are probably not your problem.

More likely, the chip you are trying to interact with via the serial port

  • does not have a bootloader flashed (normally they are sold blank)
  • has a bootloader which requires a different baud rate
  • is fused for a clock source you are not providing
  • has the brownout detector set lower than the supply you are providing
  • is improperly or incompletely soldered
  • is damaged

While there was the infamous case of Sparkfun being sold a reel of power supply chips falsely marked as ATmega328's, this is still a relatively unlikely possibility compared to the more likely ones above, especially the simple lack of a bootloader. And a date code is no proof of authenticity - though if you ended up co-mingly inventory from various sources/purchases, it might help you with preliminary sorting them.

| improve this answer | |
  • Thanks Chris...I used the iCSP header to install the same bootloader in both chips. I have several chips of the one that do not work, and it is the same problem with all of them, so I do not think it is a defective chip. I also checked all connections and soldering. I will check the baud and clock. – Camilo Jan 14 '18 at 5:53
  • That information belongs in the body of your question - use the edit button. – Chris Stratton Jan 14 '18 at 5:55
  • You should use the ISP to load a sketch which tries the other serial ports and produces output without needing input. Also which toggles pins at a known rate, and then measure that rate and see if it is correct... – Chris Stratton Jan 14 '18 at 5:56
  • I think Chris is very likely right about the clock source. The default for the low fuse byte is for the "divide clock by 8" bit to be programmed, which means that you would be able to interface via ICSP, but to use the bootloader the baud rate would be 8 times too slow. – Nick Gammon Jan 14 '18 at 6:12
  • Any suggestion to fix this problem? I have installed the bootloader available in the arduino IDE in both chips. – Camilo Jan 14 '18 at 6:31

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.