# DCCMFL1616
![DCCMFL1616](./images/DCCMFL1616.png)  
The DCCMFL1616 is a family of DCC Multi-Functional locomotive decoders based on the ATtiny1616 microprocessor.  

The basic schematic for all the controllers are the same except the interface / connector to the locomotive.  
All electronics designs were created with KiCAD and are licensed under the [EUROPEAN UNION PUBLIC LICENCE v. 1.2](./LICENSE)  
The firmware to run these decoders is available [in antother repository on our git-server](https://git.schauaus.at/Fahrzeugsteuerungen/DCCMFL-Firmware).

## Versions available

### DCCMFL1616_660
The DCCMFL1616_660 is designed according to [NEM standard 660](https://www.morop.org/images/NEM_register/NEM_E/nem660_en_2022.pdf) and to be used with an 21MTC interface.

## Hardware
### Absolute maximum ratings
| Parameter                  | Value  |
|----------------------------|--------|
| max. rail voltage          | 30V    |
| max. total system current  | 1A     |
| max. current 5V rail       | 600mA  |
| MCU operating voltage      | 5V     |
| MCU nax. operating current | 200mA  |
| MCU max. current per pin   | 20mA   |

### Operating characteristics
| Parameter           | Min. | Max. | Unit|
|---------------------|------|------|-----|
| rail voltage        | 8    | 24   | V   |
| current per I/O pin | 0    | 5    | mA  |

### Connections
 
#### Programming and debugging interface
Additionally, there is a pin-connector for programming and debugging (UDPI for programming, UART for debugging).  
![DCCMFL1616 Render](./images/programming_interface.png)
| Pin on DCCMFL1616 | Pin on Arduino |
| ----------------- | -------------- |
| UPDI              | 6              |
| VCC               | 5V             |
| GND               | GND            |
| RX                | RX             |
| TX                | TX             |
- Upload [DCCMFL1616 firmware](https://aaskablackwolf.servehttp.com:3000/BlackWolfModelRailway/DCCMFL1616_FIRMWARE) using [JTAG2UPDI-Firmware](https://github.com/ElTangas/jtag2updi) uploaded to your Arduino.
- debug decoder using UART on TX/RX pins using [DCCMFL1616 firmware](https://aaskablackwolf.servehttp.com:3000/BlackWolfModelRailway/DCCMFL1616_FIRMWARE) with DEBUG-statements enabled and the Arduino RESET pin connected to GND.