Introduction: DIY Bare Minimum Arduino Mega 2560

Picture of DIY Bare Minimum Arduino Mega 2560

[2017 Update] Eagle files please click here.

The objective of this project is to create a version of Arduino Mega 2560 board that has lower component count and smaller board size.

Personally to be used for robotics projects that require ATmega2560's 256 KB flash and digital/analog pins, where the size, weight, and USB port location of the original design is not ideal.

References:

Electronics/PCB knowledge provided by:

Step 1: Prototype

Picture of Prototype

A prototype board was made as proof of concept, the components, placements, and connections are:

  • ATmega2560 chip from an Arduino Mega2560 clone (functional chip and bootloader) removed with a hot-air gun, soldered on to a TQFP100 breakout PCB.
  • Connect all VCC/AVCC (chip pins 10, 31, 61, 80, 100) together and GND (chip pins 11, 32, 62, 81, 99) together.
  • 0.1uF bypass capacitor x 3, connected in parallel to 3 of the VCC/AVCC and GND pairs (chip pins {31,32}, {61,62}, {99,100}).
  • 10k pull-up resistor x 1 connected between RESET (chip pin 30) and VCC/AVCC.
  • LED x 1 and 1k current limiting resistor x 1 connected between D/13 (chip pin 26) and GND, this is same as the Arduino Mega "L" LED, to be us as indicator to test prototype.
  • 16MHz ceramic resonator connected between chip pins 33 and 34, with resonator's ground pin connected to chip's GND.
  • CP2102 USB to UART TTL Module (one that has a DTR pin), with the connections:
    • 0.1uF capacitor x 1 between module's DTR pin and RESET (chip pin 30).
    • Module's RX to D1/TX (chip pin 3).
    • Module's TX to D0/RX (chip pin 2).
    • Module's 5V to chip's VCC/AVCC.
    • Module's GND to chip's GND.

After the driver for CP2102 was installed, a few sample Arduino sketches such as "Blink" and "Fade" were uploaded to make sure the chip was still functioning before designing the board in Eagle PCB.

Step 2: EAGLE PCB: Revision I

Picture of EAGLE PCB: Revision I

Additional components compared to the prototype board:

  • LED x 1 and 1k current limiting resistor x 1 between chip's AVCC/VCC and GND as power indicator.
  • Schottky diode between CP2102 module 5V input pin and onboard 5V pin, to prevent reverse-current going to computer's USB port when CP2102 module and an external 5V DC power source are connected at the same time.

Specifications/features of the board layout:

  • Total component count on board is 12.
  • Board dimension is 38.1mm x 38.1mm.
  • Connector pins to match CP2102 module.
  • All digital pins and analog pins arranged in sequential order.
  • Mounting holes.
  • 4-layer PCB (failed attempt to route the traces in 2-layer).

Step 3: PCB Production: Revision I

Picture of PCB Production: Revision I

PCB's were made by a manufacture found on China's www.taobao.com; the cost for 4-layer PCB was 300RMB (45USD) excluding shipping for 10 pieces of 10cm x 10cm board (total of 48 "Naked Mega" produced, with panelizing and extras boards giving by the manufacture), production time was 6 days.

The leaded HASL process was selected for surface finish, this finish is not very flat, thus silkscreen (text and logo...etc.) wasn't pretty; next revision will probably try Electroless Nickel Immersion Gold (ENIG) as the surface finish, cost would be 400RMB (60USD) for the same order.

Step 4: Solder Components: Revision I

Picture of Solder Components: Revision I

Step 5: Upload Bootloader

Picture of Upload Bootloader

Used an Arduino Uno to upload bootloader onto the ATmega2560 chip, connections:

  • Arduino UNO SS (D10) -> Naked Mega Reset/RST pin.
  • Arduino UNO MOSI (D11) -> Naked Mega MOSI (D51).
  • Arduino UNO MISO (D12) -> Naked Mega MISO (D50).
  • Arduino UNO SCK (D13) -> Naked Mega SCK (D52).
  • Arduino UNO VCC/5V -> Naked Mega 5V.
  • Arduino UNO GND -> Naked Mega GND.

Downloaded Mr. Nick Gammon's Atmega_Board_Programmer, and upload bootlaoder to chip using Serial Monitor of Arduino IDE according to instructions.

Step 6: Upload Sketch

Picture of Upload Sketch

If the driver for CP2102 was installed, when connected the Naked Mega can be programmed like an original Arduino Mega 2560.

Step 7: Cost Breakdown

Picture of Cost Breakdown

    Cost Breakdown:

    • PCB: $45.6 for 40, $1.14 for 1.
    • ATmega2560: $3.05 for 1.
    • 0.1uF 0805 SMD Capacitor: $0.012 for 4*.
    • 1k 0805 SMD Resistor: $0.003 for 2*.
    • 10k 0805 SMD Resistor: $0.0015 for 1*.
    • LED 0805 SMD: $0.1 for 2.
    • 16MHz Ceramic Resonator $0.08 for 1.
    • 1N5819 SOD-323 Diode: $0.0074 for 1*.

    Total: 4.3939(USD)** per Naked Mega.

    *SMD components purchased in strips containing 100 pieces.

    **Cost per board only if all 40 PCB's were used to make functional Naked Mega due to the fixed cost of PCB production.

    ***Total shipping, taxes and fees was approximately 10(USD) for the above listed orders.

    ****Cost for CP2102 USB to UART TTL was 1.37(USD).

    *****Cost for a pair of 5-pin 2.54 XH connectors plus wires was 0.18(USD).

    A small batch was made and can be purchased on Tindie.

    Step 8: Design Notes

    Picture of Design Notes
    • To use the onboard AREF/REF pin, a 0.1uF capacitor must be connected between REF pin and GND.
    • For safer operation, the external power source should have reverse current/polarity protection (e.g. Schottky diode on +5V).

    Step 9: Test

    Picture of Test

    A simple test was done by connecting each of Naked Mega's 70 I/O pins (54 digital + 16 analog) directly to a LED's anode (+) with a 1k resistor in series, with all LED's cathode (-) connected to the board's GND.

    The LED's are driven by the board directly, current draw for each LED is approximately 3mA, where the total current draw is around 210mA (3mA x 70); should be under the ATmega2560's max current output of 800mA according to Arduino Pin Current Limitations as well as 500mA output for most USB ports.

    Step 10: March 2016 Update: Revision I-b

    Picture of March 2016 Update: Revision I-b

    Changes from previous version:

    • Electroless Nickel Immersion Gold (ENIG) surface finish.
    • Moved .01uF bypass capacitors closer to the microcontroller.

    Step 11: Stencil for Solder Paste: Revision I-b

    Picture of Stencil for Solder Paste: Revision I-b

    Step 12: Place Components and Reflow Solder Paste - Revision I-b

    Picture of Place Components and Reflow Solder Paste - Revision I-b

    Step 13: Testing: Revision I-b

    Picture of Testing: Revision I-b

    Two testing boards were made with pogo pins (pin type P75-LM2/LM3), one to upload bootlaoder, another to test every pin of the board.

    Step 14: Robot Made With Naked Mega

    Picture of Robot Made With Naked Mega

    A batch of Naked Mega is available to be purchased on Tindie.

    Thank you for your support.

    Comments

    Fadymourad1 (author)2017-09-22

    Is this board compatible with ethernet shield and compiles all the arduino sketches normally?

    ToñoG (author)2017-09-11

    Hello, where can I get the BOM and the PCB file?

    LokiG1 (author)2017-08-14

    Where can be found the shcematic ?

    FuzzyStudio (author)LokiG12017-08-14

    Good day! please check here: https://github.com/FuzzyStudio/Fuzzy-Naked-Mega

    LokiG1 (author)FuzzyStudio2017-08-14

    Thanks but eagle says that there's an error in line161, column25: Unexpecteed ' '.

    FuzzyStudio (author)LokiG12017-08-14

    Hmm in Github did you click the green "Clone or download" button on the right and select "Download Zip" option? I just tried and it worked.

    LokiG1 (author)FuzzyStudio2017-08-14

    Yes, and also I've tried in a fresh new eagle install.

    edware (author)2017-02-23

    it is very interesting. i have a question, can we just program this board using Arduino IDE like we have to do in adruino2560 board?

    pip333 (author)edware2017-07-11

    these can be programmed just the same way you would program a mega 2560 board!

    antariksha (author)2017-07-05

    Hello,

    Would you be interested in customizing this one for us?
    We would buy in quantities if you are interested.

    Please get in touch with me antariksha.bahekar@gmail.com

    Regards,

    Antariksh

    sak142 (author)2017-04-28

    Can I use this bootloader for 8 bit Mega2560 or do I have to make any changes.

    beewrangler (author)2017-04-25

    What part number have you used for the ceramic resonator?

    hasjrul husnulM (author)2016-11-15

    its awesome!!! can i get this schematic eagle? i waan make something with this naked mega. please send to my email hasjrulhusnulmalik@gmail.com

    GAM51 (author)2016-11-10

    Is the Naked Mega compatible with Arduino IDE?

    abzman2000 (author)2016-02-02

    I like this, I want one, is that an 'FTDI' pinout? I'd buy kits, and I honestly hope some chinese manufacturer on ebay makes a billion for $2 each

    FuzzyStudio (author)abzman20002016-02-06

    Good day, it's similar to FTDI pinout minus the "CTS" pin, and the pin order is different.

    doggy66 (author)FuzzyStudio2016-09-07

    It would have been nice if it WAS the FTDI pinout :-(

    Gökhan Türkeli (author)2016-05-05

    Great design! Are you planning to share the eagle files?

    That would be great !

    Well, the author answered a question but this one. This means "no" I guess:)

    Sasser_Worm (author)2016-06-15

    Where to buy this for the Russian?

    FuzzyStudio (author)Sasser_Worm2016-06-15

    Good day, it is available to be purchased on Tindie: https://goo.gl/6xZlkP

    bohicarico (author)2016-02-06

    Color me impressed with your effort from start to finish!

    JoshuaY10 (author)2016-02-02

    Yep this is exactly what i want!!!

    ChipStewart (author)2016-02-02

    If anyone orders the boards, I'll buy a couple from you. This might be a good project for oshpark.com.

    ennalta (author)2016-01-31

    I love that minimalist design. I want one!

    DIY Hacks and How Tos (author)2016-01-31

    Awesome! I love the minimalist design.

    About This Instructable

    28,859views

    179favorites

    License:

    Bio: Let's make more physical toys!
    More by FuzzyStudio:15mm x 20mm size ArduinoDIY Bare Minimum Arduino Mega 2560
    Add instructable to: