DIY Bare Minimum Arduino Mega 2560
by FuzzyStudio in Circuits > Arduino
111238 Views, 236 Favorites, 0 Comments
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:
- 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
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
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
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
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.
Upload Sketch
If the driver for CP2102 was installed, when connected the Naked Mega can be programmed like an original Arduino Mega 2560.
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.
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).
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.
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.
Stencil for Solder Paste: Revision I-b
Place Components and Reflow Solder Paste - Revision I-b
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.
Robot Made With Naked Mega
A batch of Naked Mega is available to be purchased on Tindie.
Thank you for your support.