DIY Bare Minimum Arduino Mega 2560
by FuzzyStudio in Circuits > Arduino
111659 Views, 236 Favorites, 0 Comments
DIY Bare Minimum Arduino Mega 2560
![IMG_0861.jpg](/proxy/?url=https://content.instructables.com/FZJ/KE1M/IM6LFIGI/FZJKE1MIM6LFIGI.jpg&filename=IMG_0861.jpg)
[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:
- Mr. Nick Gammon's How to make an Arduino-compatible minimal board
- TSJWang's DIY Arduino Mega 2560 or 1280
Electronics/PCB knowledge provided by:
Prototype
![IMG_0666.jpg](/proxy/?url=https://content.instructables.com/F4N/V95B/IK1FM58P/F4NV95BIK1FM58P.jpg&filename=IMG_0666.jpg)
![IMG_0687.jpg](/proxy/?url=https://content.instructables.com/F8X/FQ36/IK1FMJ96/F8XFQ36IK1FMJ96.jpg&filename=IMG_0687.jpg)
![Atmega2560pinout.jpg](/proxy/?url=https://content.instructables.com/FAA/6GDW/IJYUVVO8/FAA6GDWIJYUVVO8.jpg&filename=Atmega2560pinout.jpg)
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.
EAGLE PCB: Revision I
![Screenshot 2016-02-01 01.22.01.png](/proxy/?url=https://content.instructables.com/F17/52AG/IJYUVVP0/F1752AGIJYUVVP0.png&filename=Screenshot 2016-02-01 01.22.01.png)
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).
PCB Production: Revision I
![IMG_0653.jpg](/proxy/?url=https://content.instructables.com/FH0/6U2F/IK1FM4UY/FH06U2FIK1FM4UY.jpg&filename=IMG_0653.jpg)
![IMG_0654.jpg](/proxy/?url=https://content.instructables.com/FBQ/SL5R/IK1FM4WX/FBQSL5RIK1FM4WX.jpg&filename=IMG_0654.jpg)
![IMG_0684.jpg](/proxy/?url=https://content.instructables.com/FNK/LPDK/IK1FM5RW/FNKLPDKIK1FM5RW.jpg&filename=IMG_0684.jpg)
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.
Solder Components: Revision I
![IMG_0659.jpg](/proxy/?url=https://content.instructables.com/FU5/T623/IK1FM51V/FU5T623IK1FM51V.jpg&filename=IMG_0659.jpg)
![S20160129_001.jpg](/proxy/?url=https://content.instructables.com/FWF/LOO8/IJYUW1KJ/FWFLOO8IJYUW1KJ.jpg&filename=S20160129_001.jpg)
![IMG_0664.jpg](/proxy/?url=https://content.instructables.com/F4O/MKE6/IK1FM552/F4OMKE6IK1FM552.jpg&filename=IMG_0664.jpg)
Upload Bootloader
![IMG_0661.jpg](/proxy/?url=https://content.instructables.com/FAK/WARB/IK1FM53P/FAKWARBIK1FM53P.jpg&filename=IMG_0661.jpg)
![IMG_0652.jpg](/proxy/?url=https://content.instructables.com/FIW/1UEY/IK1FM4TA/FIW1UEYIK1FM4TA.jpg&filename=IMG_0652.jpg)
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.
Upload Sketch
![IMG_0663.jpg](/proxy/?url=https://content.instructables.com/FBV/Z6ME/IK1FM54I/FBVZ6MEIK1FM54I.jpg&filename=IMG_0663.jpg)
![IMG_0667.jpg](/proxy/?url=https://content.instructables.com/FII/UEUS/IK1FM5A4/FIIUEUSIK1FM5A4.jpg&filename=IMG_0667.jpg)
If the driver for CP2102 was installed, when connected the Naked Mega can be programmed like an original Arduino Mega 2560.
Cost Breakdown
![IMG_0675.jpg](/proxy/?url=https://content.instructables.com/FMX/WZFL/IK1FM5MA/FMXWZFLIK1FM5MA.jpg&filename=IMG_0675.jpg)
![IMG_0668.jpg](/proxy/?url=https://content.instructables.com/F4E/JR9D/IK1FM5H8/F4EJR9DIK1FM5H8.jpg&filename=IMG_0668.jpg)
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.
Design Notes
![IMG_0689.jpg](/proxy/?url=https://content.instructables.com/FCZ/K02D/IJYV4ZT3/FCZK02DIJYV4ZT3.jpg&filename=IMG_0689.jpg)
- 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).
Test
![IMG_0695.jpg](/proxy/?url=https://content.instructables.com/FC0/YXQJ/IJYV4ZTH/FC0YXQJIJYV4ZTH.jpg&filename=IMG_0695.jpg)
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.
March 2016 Update: Revision I-b
![IMG_0853.jpg](/proxy/?url=https://content.instructables.com/FQB/18U8/IM6LFIFC/FQB18U8IM6LFIFC.jpg&filename=IMG_0853.jpg)
![IMG_0854.jpg](/proxy/?url=https://content.instructables.com/FQI/7NNV/IM6LFIFN/FQI7NNVIM6LFIFN.jpg&filename=IMG_0854.jpg)
![IMG_0852.jpg](/proxy/?url=https://content.instructables.com/FAG/W0OB/IM6LFIF1/FAGW0OBIM6LFIF1.jpg&filename=IMG_0852.jpg)
![IMG_0851.jpg](/proxy/?url=https://content.instructables.com/FJX/PUJP/IM6LFIEN/FJXPUJPIM6LFIEN.jpg&filename=IMG_0851.jpg)
Changes from previous version:
- Electroless Nickel Immersion Gold (ENIG) surface finish.
- Moved .01uF bypass capacitors closer to the microcontroller.
Stencil for Solder Paste: Revision I-b
![IMG_0855.jpg](/proxy/?url=https://content.instructables.com/FHP/3MFK/IM6LFIFP/FHP3MFKIM6LFIFP.jpg&filename=IMG_0855.jpg)
![IMG_0856.jpg](/proxy/?url=https://content.instructables.com/F06/Z05Z/IM6LFIFQ/F06Z05ZIM6LFIFQ.jpg&filename=IMG_0856.jpg)
![IMG_0857.jpg](/proxy/?url=https://content.instructables.com/FVX/NANB/IM6LFIFR/FVXNANBIM6LFIFR.jpg&filename=IMG_0857.jpg)
Place Components and Reflow Solder Paste - Revision I-b
![IMG_0858.jpg](/proxy/?url=https://content.instructables.com/FAJ/JAUE/IM6LFIFU/FAJJAUEIM6LFIFU.jpg&filename=IMG_0858.jpg)
Testing: Revision I-b
![IMG_0860.jpg](/proxy/?url=https://content.instructables.com/F7U/KATQ/IM6LFIGH/F7UKATQIM6LFIGH.jpg&filename=IMG_0860.jpg)
![IMG_0859.jpg](/proxy/?url=https://content.instructables.com/FMK/IXJ6/IM6LFIGB/FMKIXJ6IM6LFIGB.jpg&filename=IMG_0859.jpg)
![IMG_0864.jpg](/proxy/?url=https://content.instructables.com/FET/SAIA/IM6LFIH1/FETSAIAIM6LFIH1.jpg&filename=IMG_0864.jpg)
![IMG_0865.jpg](/proxy/?url=https://content.instructables.com/F1O/GTQP/IM6LFIH2/F1OGTQPIM6LFIH2.jpg&filename=IMG_0865.jpg)
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.
Robot Made With Naked Mega
![IMG_0866.jpg](/proxy/?url=https://content.instructables.com/F6F/ZLTL/IM6LFIH4/F6FZLTLIM6LFIH4.jpg&filename=IMG_0866.jpg)
A batch of Naked Mega is available to be purchased on Tindie.
Thank you for your support.