|
| 1 | +# **Arduino Pro Mini XL** |
| 2 | + |
| 3 | +- [**Arduino Pro Mini XL**](#arduino-pro-mini-xl) |
| 4 | + - [**Overview**](#overview) |
| 5 | + - [**Features**](#features) |
| 6 | + - [**Schematic diagram**](#schematic-diagram) |
| 7 | + - [**Module visualisation**](#module-visualisation) |
| 8 | + - [**Assembly**](#assembly) |
| 9 | + - [**Production files**](#production-files) |
| 10 | + - [**Software Compatibility**](#software-compatibility) |
| 11 | + - [**Installing MightyCore**](#installing-mightycore) |
| 12 | + - [**Getting Started**](#getting-started) |
| 13 | + - [**Burning the Bootloader**](#burning-the-bootloader) |
| 14 | + - [**Troubleshooting**](#troubleshooting) |
| 15 | + - [**Physical Specifications**](#physical-specifications) |
| 16 | + - [**Reporting bugs**](#reporting-bugs) |
| 17 | + - [**Acknowledgments**](#acknowledgments) |
| 18 | + - [**License**](#license) |
| 19 | + - [**Support**](#support) |
| 20 | + |
| 21 | +--- |
| 22 | + |
| 23 | +## **Overview** |
| 24 | +The **Arduino Pro Mini XL** is a compact microcontroller board based on the **ATmega1284P**, designed to extend the capabilities of the standard Arduino Pro Mini while retaining its familiar form factor. With increased memory, additional I/O pins, and enhanced features, this board is well-suited for embedded applications requiring greater processing power and connectivity than the ATmega328P-based Arduino Pro Mini can provide. It integrates seamlessly with the Arduino ecosystem, making it accessible to hobbyists, engineers, and developers alike. |
| 25 | + |
| 26 | +### **Features** |
| 27 | +* **Microcontroller**: ATmega1284P |
| 28 | +* **Flash Memory**: 128KB |
| 29 | +* **SRAM**: 16KB |
| 30 | +* **EEPROM**: 4KB |
| 31 | +* **Digital I/O Pins**: 22 |
| 32 | +* **Analog Input Pins**: 2 |
| 33 | +* **Analog Comparator**: 1 |
| 34 | +* **PWM Channels**: 8 |
| 35 | +* **UARTs**: 2 |
| 36 | +* **SPI**: 1 |
| 37 | +* **I2C**: 1 |
| 38 | +* **Operating Voltage**: 5V |
| 39 | +* **Clock Speed**: 20/16/8MHz |
| 40 | +* **Form Factor**: Compatible with Arduino Pro Mini |
| 41 | + |
| 42 | +--- |
| 43 | + |
| 44 | +## **Schematic diagram** |
| 45 | +<p align="center"><img src="./docs/schematic.png" alt="wiring diagram" width="80%"/></p> |
| 46 | + |
| 47 | + |
| 48 | +## **Module visualisation** |
| 49 | +(click on the image to see the 3D model) |
| 50 | +<p align="center"><a href="https://3dviewer.net/#model=https://github.com/michpro/Arduino_Pro_Mini_XL/blob/master/docs/Arduino_Pro_Mini_XL.wrl"><img src="./docs/Arduino_Pro_Mini_XL.png" alt="Arduino Pro Mini XL" width="50%"/></a></p> |
| 51 | + |
| 52 | +## **Assembly** |
| 53 | +[Interactive BOM and placement](https://michpro.github.io/Arduino_Pro_Mini_XL/ibom.html) |
| 54 | + |
| 55 | +## **Production files** |
| 56 | +Production files can be found [**here**](./production/). |
| 57 | + |
| 58 | +--- |
| 59 | + |
| 60 | +## **Software Compatibility** |
| 61 | + |
| 62 | +The Arduino Pro Mini XL is supported by the Arduino IDE through the [**MightyCore**](https://github.com/MCUdude/MightyCore) board package, which provides board definitions for the ATmega1284P. |
| 63 | + |
| 64 | +### **Installing MightyCore** |
| 65 | + |
| 66 | +To configure the Arduino IDE: |
| 67 | + |
| 68 | +1. Open the Arduino IDE. |
| 69 | +2. Navigate to `File` > `Preferences`. |
| 70 | +3. Add the following URL to the `Additional Boards Manager URLs` field: |
| 71 | + ``` |
| 72 | + https://mcudude.github.io/MightyCore/package_MCUdude_MightyCore_index.json |
| 73 | + ``` |
| 74 | +4. Click `OK`. |
| 75 | +5. Go to `Tools` > `Board` > `Boards Manager`. |
| 76 | +6. Search for "MightyCore" and install the package. |
| 77 | + |
| 78 | +After installation, select **"ATmega1284P"** under `Tools` > `Board`, and configure the variant and clock settings as needed. |
| 79 | + |
| 80 | +## **Getting Started** |
| 81 | + |
| 82 | +1. **Connect the Board**: Attach an FTDI-compatible cable or adapter to the 6-pin programming header. |
| 83 | +2. **Configure the IDE**: Select the ATmega1284P board and the appropriate serial port in the Arduino IDE. |
| 84 | +3. **Upload a Sketch**: Use a simple sketch, such as "Blink," to test functionality. |
| 85 | + ```cpp |
| 86 | + void setup() |
| 87 | + { |
| 88 | + pinMode(PIN_PC6, OUTPUT); // Onboard LED |
| 89 | + // Don't forget to close JP1. |
| 90 | + } |
| 91 | + |
| 92 | + void loop() |
| 93 | + { |
| 94 | + digitalWrite(PIN_PC6, HIGH); |
| 95 | + delay(1000); |
| 96 | + digitalWrite(PIN_PC6, LOW); |
| 97 | + delay(1000); |
| 98 | + } |
| 99 | + ``` |
| 100 | +4. **Verify Operation**: Confirm that the onboard LED blinks, indicating successful setup. **Don't forget to close JP1.** |
| 101 | +
|
| 102 | +### **Burning the Bootloader** |
| 103 | +
|
| 104 | +To burn the bootloader using an ISP programmer: |
| 105 | +
|
| 106 | +1. Connect the ISP programmer to the board’s pins. |
| 107 | +2. In the Arduino IDE, select the ATmega1284P board and your programmer. |
| 108 | +3. Choose `Tools` > `Burn Bootloader`. |
| 109 | +
|
| 110 | +Consult the MightyCore documentation for correct fuse settings. |
| 111 | +
|
| 112 | +## **Troubleshooting** |
| 113 | +
|
| 114 | +- **Upload Failures**: Verify board and port settings; check FTDI connections and drivers. |
| 115 | +- **Power Issues**: Ensure input voltage is 5V (VCC); inspect for shorts. *Board has no RAW input* |
| 116 | +- **Pin Mapping**: Confirm pin assignments, as they differ from the ATmega328P. |
| 117 | +
|
| 118 | +## **Physical Specifications** |
| 119 | +
|
| 120 | +- **Dimensions**: Comparable to the Arduino Pro Mini (18.5mm x 33mm). |
| 121 | +
|
| 122 | +--- |
| 123 | +
|
| 124 | +## **Reporting bugs** |
| 125 | +
|
| 126 | +[Create an issue on GitHub](https://github.com/michpro/Arduino_Pro_Mini_XL/issues) |
| 127 | +
|
| 128 | +--- |
| 129 | +
|
| 130 | +## **Acknowledgments** |
| 131 | +
|
| 132 | +Thanks to the Arduino community and the [**MightyCore**](https://github.com/MCUdude/MightyCore) developers for enabling support for the ATmega1284P. |
| 133 | +
|
| 134 | +--- |
| 135 | +
|
| 136 | +## **License** |
| 137 | +Copyright © 2020-2025 Michal Protasowicki |
| 138 | +
|
| 139 | +This project is released under CERN Open Hardware Licence Version 2 - Permissive. |
| 140 | +
|
| 141 | +[](./LICENSE) |
| 142 | +
|
| 143 | +--- |
| 144 | +
|
| 145 | +## **Support** |
| 146 | +If You find my projects interesting and You wanted to support my work, You can give me a cup of coffee or a keg of beer :) |
| 147 | +
|
| 148 | +[](https://www.paypal.me/michpro) [](https://ko-fi.com/F1F24CEW1) [](https://commerce.coinbase.com/checkout/ec299320-cbed-475d-976e-fdf37c1ac3d0) |
0 commit comments