diff --git a/doc/devices/SWTG018AS_A_V2_0.md b/doc/devices/SWTG018AS_A_V2_0.md
new file mode 100644
index 0000000..0d12ecd
--- /dev/null
+++ b/doc/devices/SWTG018AS_A_V2_0.md
@@ -0,0 +1,54 @@
+# SWTG018AS-A V2.0
+
+The following is a documentation for the unmanaged switch marked as `SWTG018AS-A V2.0`.
+It is e.g. sold under the Ampcom brand, but no branh-markings are found on the device.
+
+The original software is running UART on 9600 baud rate.
+
+Using a SOIC clamp in-board is the only method for initial installation.
+
+The board has a single flash chips `BS` with 4M-bit size. The front switch, switches between the two flash chips.
+These can be programed independently by using said switch - so it is e.g. possible to run the original and new firmware in parallel.
+
+### Label specifications
+
+- **Name**: 9-Ports 2.5G Ethernet Switch
+- **Ports**:
+ - 8 × RJ45: 10/100/1000/2500 Mbps
+ - 1 × SFP+: 1000 / 2500 / 10000 Mbps
+- **Power**: 12V DC, 1A barrel connector
+
+
+
+### What works
+The device is fully supported:
+- All 8 2.5GBASE-T RJ45 ports work at 10/100/1000/2500 Mbps
+- The SFP+ port supports 1G, 2.5G and 10G modules
+- LEDs work with the same indiciations as the OEM firmware
+
+### PCB overview
+
+**Board markings**
+- Top silkscreen: SWTG018AS-A-V2.0.1_19649
+
+Top side
+
+
+
+Bottom
+
+
+
+### J1, serial console
+
+| `J1` pin | Signal |
+| -------- | ----------- |
+| 1 | 3V3 |
+| 2 | GND |
+| 3 | RX (Input) |
+| 4 | TX (Output) |
+
+
+## Power supply
+
+Input power is delivered via barell plug, `12V 1A` adapter was provided.
diff --git a/doc/devices/photos/SWTG018AS_A_V_2_0/label.jpg b/doc/devices/photos/SWTG018AS_A_V_2_0/label.jpg
new file mode 100644
index 0000000..3580718
Binary files /dev/null and b/doc/devices/photos/SWTG018AS_A_V_2_0/label.jpg differ
diff --git a/doc/devices/photos/SWTG018AS_A_V_2_0/pcb_bottom.jpg b/doc/devices/photos/SWTG018AS_A_V_2_0/pcb_bottom.jpg
new file mode 100644
index 0000000..4453578
Binary files /dev/null and b/doc/devices/photos/SWTG018AS_A_V_2_0/pcb_bottom.jpg differ
diff --git a/doc/devices/photos/SWTG018AS_A_V_2_0/pcb_top.jpg b/doc/devices/photos/SWTG018AS_A_V_2_0/pcb_top.jpg
new file mode 100644
index 0000000..527453b
Binary files /dev/null and b/doc/devices/photos/SWTG018AS_A_V_2_0/pcb_top.jpg differ
diff --git a/machine.c b/machine.c
index 7521d84..8b8fdbf 100644
--- a/machine.c
+++ b/machine.c
@@ -176,6 +176,47 @@ __code const struct machine machine = {
void machine_custom_init(void) { }
+#elif defined MACHINE_SWTG018AS_A_V_2_0
+__code const struct machine machine = {
+ .machine_name = "SWTG018AS-A V2.0",
+ .isRTL8373 = 1,
+ .min_port = 0,
+ .max_port = 8,
+ .n_sfp = 1,
+ .log_to_phys_port = {1, 2, 3, 4, 5, 6, 7, 8, 9},
+ .phys_to_log_port = {0, 1, 2, 3, 4, 5, 6, 7, 8},
+ .is_sfp = {0, 0, 0, 0, 0, 0, 0, 0, 1},
+ .sfp_port[0].pin_detect = GPIO38,
+ .sfp_port[0].pin_los = GPIO_NA,
+ .sfp_port[0].pin_tx_disable = GPIO_NA,
+ .sfp_port[0].sds = 1,
+ .sfp_port[0].i2c = { .sda = GPIO39_I2C_SDA4, .scl = GPIO40_I2C_SCL3_MDC1 },
+ .reset_pin = GPIO_NA,
+ .high_leds = { .mux = LED_27 | LED_29, .enable = LED_28 | LED_29 },
+ .port_led_set = { 0, 0, 0, 0, 0, 0, 0, 0, 1},
+ .led_sets = {
+ { /* RJ45: First LED, yellow, second LED: green */
+ LEDS_2G5 | LEDS_LINK,
+ LEDS_2G5 | LEDS_1G | LEDS_100M | LEDS_10M | LEDS_LINK | LEDS_ACT,
+ 0,
+ 0,
+ }, { /* SFP PORT, SINGLE GREEN LED */
+ LEDS_2G5 | LEDS_1G | LEDS_100M | LEDS_10M | LEDS_LINK | LEDS_ACT | LEDS_10G,
+ 0,
+ 0,
+ 0,
+ }},
+ .led_mux_custom = 1,
+ .led_mux = { 0x00, 0x01, 0x04, 0x05, 0x08, // 65e0
+ 0x09, 0x0c, 0x09, 0x0d, 0x10, // 65e4
+ 0x11, 0x0e, 0x14, 0x11, 0x12, // 65e8
+ 0x15, 0x15, 0x16, 0x18, 0x19, // 65ec
+ 0x1a, 0x19, 0x1d, 0x1e, 0x1c, // 65f0
+ 0x1d, 0x20, 0x21 },
+};
+
+void machine_custom_init(void) { }
+
#elif defined MACHINE_HG0402XG_V1_1
__code const struct machine machine = {
.machine_name = "HG0402XG V1.1",
diff --git a/machine.h b/machine.h
index 7763d32..1c894df 100644
--- a/machine.h
+++ b/machine.h
@@ -14,6 +14,7 @@
// #define MACHINE_HORACO_ZX_SG4T2
// #define MACHINE_TRENDNET_TEG_S562
// #define MACHINE_HG0402XG_V1_1
+// #define MACHINE_SWTG018AS_A_V_2_0
// #define MACHINE_SWTGW218AS
// #define MACHINE_HI_K0402WS
// #define MACHINE_DEFAULT_8C_1SFP