# Marlin 2.1.x Configuration for DIY 300x300x400 3D Printer

This repository contains the configuration files for Marlin 2.1.x firmware tailored for a DIY 300x300x400 3D printer. It includes settings for a BTT TFT35 V3.0.1 display, a BLTouch auto bed leveling sensor, and a BTT SKR MINI E3 V3 mainboard.

## Features

- Firmware: Marlin 2.1.x
- Mainboard: BTT SKR MINI E3 V3
- Display: BTT TFT35 V3.0.1 configured as TFTGLCD_PANEL_I2C
- Auto Bed Leveling: BLTouch (connected to Neopixel pins)
- Printer Size: 300x300x400 mm

## Firmware (bin file)

Rename the file to Firmware.bin and copy the file to your sd card and update your printer.

### Hardware UART Pins

- `UART1_TX_PIN`: PA9 (default usage LCD connector)
- `UART1_RX_PIN`: PA10 (default usage LCD connector)
- `UART2_TX_PIN`: PA2 (default usage TFT connector)
- `UART2_RX_PIN`: PA3 (default usage TFT connector)
- `UART4_TX_PIN`: PC10 (default usage TMC UART)
- `UART4_RX_PIN`: PC11 (default usage TMC UART)

## Display Configuration

The BTT TFT35 V3.0.1 is set up to communicate over specific hardware UART and SPI pins, as defined in the `Configuration.adv.h` file:

### Hardware UART Pins

- `UART1_TX_PIN`: PA9 (default usage LCD connector)
- `UART1_RX_PIN`: PA10 (default usage LCD connector)
- `UART2_TX_PIN`: PA2 (default usage TFT connector)
- `UART2_RX_PIN`: PA3 (default usage TFT connector)
- `UART4_TX_PIN`: PC10 (default usage TMC UART)
- `UART4_RX_PIN`: PC11 (default usage TMC UART)

### SPI Pins

- `TFT_SCK_PIN`: PA5 (Serial Clock)
- `TFT_MOSI_PIN`: PA7 (Master Out Slave In)
- `TFT_CS_PIN`: PB6 (Chip Select)
- `TFT_DC_PIN`: PB7 (Data/Command)
- `TFT_RST_PIN`: PB8 (Reset)

## Classic Marlin UI

If you prefer using the classic Marlin UI, connect the EXP1 or EXP2 connector to the mainboard and enable it in the configuration files.

## Getting Started

1. Clone this repository to your local machine.
2. Follow the Marlin firmware build instructions to compile and upload the firmware to your 3D printer.
3. Ensure all connections are made according to the pin configurations mentioned above.

## Contributing

Feel free to open issues or submit pull requests if you have improvements or suggestions.

## License

This project is licensed under the MIT License.

For detailed information and support, please refer to the official Marlin documentation.