3
\$\begingroup\$

I'm working on constructing a do-it-yourself version of the Arduino Uno on a breadboard and then protoboard.

According to the Eagle files available for download here, they use an ATMEGA16U2-MU(R) MCU for the USB to serial interface / programming interface.

Is there a DIP-style Atmega equivalent which would perform the duties of the ATMEGA16U2-MU(R) with no modification to the bootloader provided for the Arduino Uno? If so, what might this be?

Is there another approach I should be taking? Preferably, I'd like to retain the Uno design's capability of being able to burn bootloaders on top of uploading programming.

\$\endgroup\$
3
  • 1
    \$\begingroup\$ Take a look at proto-advantage.com/store/product_info.php?products_id=2200104 - they'll mount a part from Digikey as well if you're not confident on the soldering side \$\endgroup\$
    – PeterJ
    Aug 28, 2013 at 4:58
  • \$\begingroup\$ The atmega used for serial does not use the same bootloader/firmware as the atmega used for the arduino code. There is no DIP version of the ATMegaxUx. You could make small adaptor boards and presolder the atmega16u. \$\endgroup\$
    – Passerby
    Aug 28, 2013 at 5:51
  • \$\begingroup\$ The wide pitch flatpacks are not hard to solder. Use flux, solder the first corner, check alignment, solder the opposite, check again. Then use flux and surface tension to solder all pins. Few USB interfaces are sold in DIP, though there are modules, or you could do software USB on another ATmega. \$\endgroup\$ Aug 28, 2013 at 11:13

2 Answers 2

1
\$\begingroup\$

There's not an equivalent of the ATmega16U2 in a DIP package but one common way to adapt SMT parts to a DIP package is via an SMT prototyping adapter. There are quite a few companies that manufacture such adapters but here's an example product from a company that will also solder any parts available from Digikey onto the adapter if you're not confident on the soldering side of things:

TQFP-32 to DIP-32 SMT Adapter (0.5 mm pitch, 5 x 5 mm body)

But taking a step back on your project if you're prepared to do a little extra work there are a few different ways you could go about programming an ATmega328 without using a seperate microcontroller for the sake of in-system programming:

  • You've mentioned being able to change the bootloader itself but really once "fully sorted" you shouldn't need to change it often, so maybe you could write a serial bootloader and use one of the FTDI serial to USB chips or pre-made adapter leads (some come with 0.1" connectors). That would also cover basic serial communication over USB.

  • You could use the ICSP interface for initial bootloader programming and a device such as the AVR Dragon that can do high-voltage programming. It also has some nice debugging features that will be useful during initial development.

  • Another option for initial programming of the bootloader when using a DIP package is simply loading your own bootloader by plugging it into the Uno before transplanting the chip into your own design.

Atmel have some example bootloader projects and while it may seem onerous at first sometimes rolling your own is the best solution and gives a lot of insight into how things work behind the scenes. Otherwise there are some open source AVR bootloader projects that include both the firmware and PC side of things that may be a good starting point.

\$\endgroup\$
1
\$\begingroup\$

Unfortunately, there is no USB-232 PTH package in distribution, that is easily purchasable.

Note that the original Arduino (pre Diecimila, no longer mentioned much) did not have built in USB. Rather it relied on a Serial Connector. The modern equivalent is exampled with the SparkFun Arduino Pro's which have a standard .100SIP@6 header which readily connects to the RS232 Basic to convert to USB. With many various flavors of the FTDI Basic Breakout or FTDI Cable 5V

I would recommend that your design simply implement the Arduino Pro 328 (or alike) and use an above adapter. Note there are other form factors and suppliers. Breakout Board for FT245RL USB is a better fit for Bread Boards.

Note that these are cheaper. If you are not connecting your application is not connected to your PC then it is only a convenience vs. cost.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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