The Arduino Mega 2560 supports all features of the OAT. It allows the most customization, however requires external stepper driver boards for all motor types.
Generate your configuration using the OAT Firmware Configurator and choose the correct board.
Refer here for which motor is connected to which position on the RAMPS board. Each position is labelled on the board:
UART describes a communication between the MCU and driver. Instructions like current settings, microstepping and others can be sent directly to the driver.
Every TMC2209 and 2208 supports this, however with some manufacturers you have to manually enable it by soldering a small bridge.
BTT TMCs always have this enabled, but if you use any other brands and have issues getting UART to work see the UART wiring page
UART requires communication wiring between the drivers and the Arduino (RAMPS) board. This is done with short cables from pins on the drivers to pins on the RAMPS board.
There are two methods of wiring:
To wire TX only - you only need to connect the appropriate TX pin of the RAMPS board to the UART pin of each applicable driver.
For TX and RX, you need a specific jumper that uses a single wire to the driver split to both the TX and RX pins of the RAMPS. There is a guide here for how to assemble the cables. It is no different than UART control on a RAMPS-based 3D printer, just using different pins on the RAMPS board. The RX pin must be connected to a pin on the RAMPS that supports interrupts.
Depending on your driver type the exact pin may be different. See sections below for reference.
The pins on the RAMPS board are specified here. For quick reference:
The RAMPS pinout is as follows:
For how to wire the LCD, see here.