DIY Bare Minimum Arduino Mega 2560

42,366

188

44

Published

Introduction: DIY Bare Minimum Arduino Mega 2560

About: Let's make more physical toys!

[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

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

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

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

Step 5: 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

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

    Cost Breakdown:

    • PCB: $45.6 for 40, $1.14 for 1.
    • ATmega2560: $6-10 for 1 (price fluchuates greatly)
    • 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*.

    *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 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

    • 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

    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

    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

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

    Step 13: 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

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

    Thank you for your support.

    Share

      Recommendations

      • Creative Misuse Contest

        Creative Misuse Contest
      • Clocks Contest

        Clocks Contest
      • Oil Contest

        Oil Contest

      44 Discussions

      0
      user
      Icefeet

      Question 14 days ago

      This might be a really simple question but i've never seen them before, what are those sort of through hole ring terminal connectors you used for testing? And where do you source them?

      Do you offer a completed breakout board with all peripherals already assembled?

      absolutely BEAUTIFUL mini low-parts-count MEGA2560 !

      Well done and thanks for sharing the Eagle files for us lowly peasants to learn from !!

      VERY Nice work :)

      Hello, I wonder if an FTDI could be used to program the MCU, or it is necessary to use the CP2102?, also, the bootloader could be the original from arduino?

      Cool project! Do you have also the Eagle files for the Naked V3 version with integrated USB? Thanks!

      can you explain led blink sketch uploading process in details?

      0
      user
      t0mm0t

      4 months ago

      you just did an awesome job with that. i was already super impressed and then i just saw the naked mega 3 on your tindie page. i can't believe that you've even found the space for a micro usb and all that. i would love to rebuild those as the would be perfect for a lot of my applications. any chance to get the eagle files for the naked mega 3? because on the linked github page there are unfortunately only the ones from rev 1-b.

      i would be super thankful if you could share them.

      cheers tom

      1 reply

      Sorry for the super late reply, ah currently I'm not using Eagle, but looking to recreate the files in Eagle or CircuitMaker then share the documents.

      can you give the link from the manufacturer you used in taobao?

      2 replies

      thank you! you project are great! i'm making a tracking system and will use your project.

      Eagle says that there's an error in line161, column25: Unexpecteed ' '... Any idea ?

      2 replies

      to fix that error you need replace the line with: <schematic xreflabel="%F%N/%S" xrefpart="/%S.%C%R">

      thats solve it for me

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

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

      The same error here... Did you solved this problem?