CCR2004-16G-2S+
MikroTik router, 19-inch rack, 1U. 16 × 1000BASE-T, 2 × SFP+ (10GE), 2 × IEC C14 inlet.
Ports
| Port | Type | Speed | Side | Notes |
|---|---|---|---|---|
| 16 × ether1 – ether16 | 1000BASE-T | 1G | front | — |
| 2 × sfp-sfpplus1 – sfp-sfpplus2 | SFP+ (10GE) | 10G | front | — |
| serial0 | Console (RJ45) | — | front | console |
| 2 × psu1 – psu2 | IEC C14 inlet | — | rear | power |
Specifications
- Vendor
- MikroTik
- Type
- Router
- Mounting
- 19-inch rack, 1U
- Size
- 210 mm depth
- Weight
- 1.18 kg
- Ports
- 21
Source: the vendor's own site and the NetBox device type library. Vendor's page, checked 2026-11-11.
# MikroTik CCR2004-16G-2S+
# Converted from the punchdown catalog on 2026-11-10. Source of the data: vendor and netbox.
network: 1
imports:
- ../../defaults/types.network.yaml
models:
mikrotik/ccr2004-16g-2s+:
name: CCR2004-16G-2S+
vendor: MikroTik
role: router
mount: 19in
size: { units: 1, depth: 210 }
weight: 1.18
ports:
ether1..16: { type: 1000base-t }
sfp-sfpplus1..2: { type: 10gbase-x-sfpp }
serial0: { type: console-rj-45, role: console }
psu1..2: { type: iec-60320-c14, role: power, side: rear, native: "PSU {n}" }
x-family: ethernet-routers
x-airflow: front-to-rear
x-full-depth: false
x-module-bays: 2
faces:
front:
background: "#e3e3e3"
padding: { x: 3, y: 3 }
layout:
row:
gap: 0
items:
# The vents: V, /, Λ, \ repeating every 25.85 mm. Each kind is its own cutout, pinned to an edge of the
# strip; a region narrower by half a period, pinned left or right, shifts its pattern a quarter period.
- column:
width: 59.2
height: 38.45
gap: 0
justify: start
align: end
items:
- row:
width: 58.3
height: 5.4
margin: { top: 5.9 }
items:
- cutout-chevron: { width: 45.38, height: 5.4, position: { left: 0, top: 0 }, mask: { pattern: { length: 11, height: 5.3, thickness: 1.3, columns: 2, gap-x: 14.85, margin: 0 } } }
- cutout-chevron-inverted: { width: 45.38, height: 5.4, position: { right: 0, top: 0 }, mask: { pattern: { length: 11, height: 5.3, thickness: 1.3, columns: 2, gap-x: 14.85, margin: 0 } } }
- cutout-diagonal-slots: { width: 58.3, height: 5.4, position: { left: 0, top: 0 }, mask: { pattern: { length: 6.96, thickness: 1.3, columns: 2, rows: 1, gap-x: 20.55, margin: 0 } } }
- cutout-diagonal-slots: { width: 58.3, height: 5.4, position: { left: 0, top: 0 }, mask: { rotation: 90, pattern: { length: 6.96, thickness: 1.3, columns: 1, rows: 3, gap-y: 20.55, margin: 0 } } }
- row:
width: 59.2
gap: 7.35
margin: { top: 12.4 }
items:
- sfp-sfpplus1: { lights: link-activity, margin: { left: 21.7 } }
- sfp-sfpplus2: { lights: link-activity }
# Even ports on top, odd below, in two blocks of eight.
- grid: { ports: ether1..16, rows: 2, order: odd-bottom, groups: 4, gap: 2.1, group-gap: 10.9, margin: { left: 4.6, right: 6 } }
- column:
height: 38.45
gap: 0
justify: start
align: start
items:
- row:
width: 226.9
height: 5.4
margin: { top: 5.9 }
items:
- cutout-chevron: { width: 226.9, height: 5.4, position: { left: 0, top: 0 }, mask: { pattern: { length: 11, height: 5.3, thickness: 1.3, columns: 8, gap-x: 14.85, margin: 0 } } }
- cutout-chevron-inverted: { width: 226.9, height: 5.4, position: { left: 0, top: 0 }, mask: { pattern: { length: 11, height: 5.3, thickness: 1.3, columns: 9, gap-x: 14.85, margin: 0 } } }
- cutout-diagonal-slots: { width: 213.97, height: 5.4, position: { left: 0, top: 0 }, mask: { pattern: { length: 6.96, thickness: 1.3, columns: 9, rows: 1, gap-x: 20.55, margin: 0 } } }
- cutout-diagonal-slots: { width: 213.97, height: 5.4, position: { right: 0, top: 0 }, mask: { rotation: 90, pattern: { length: 6.96, thickness: 1.3, columns: 1, rows: 9, gap-y: 20.55, margin: 0 } } }
- row:
gap: 0
width: 228.6
margin: { top: 3.13 }
items:
- serial0: { label-position: none, margin: { left: 2.2, right: 0.5 }, caption: { text: CONSOLE, text-style: { size: 2.17 } } }
- button: { id: reset, width: 3.8, height: 3.8, margin: { left: 3 }, caption: { text: RESET, text-style: { size: 2.17 } } }
- panel: { id: cover, width: 8.8, height: 21, color: "#d4d4d4", margin: { left: 2, right: 5 } }
- leds:
gap: 2.2
items:
- { id: user, text: USER }
- { id: fault, text: FAULT }
- { id: pwr2, text: PWR 2, color: "#3c6fb0" }
- { id: pwr1, text: PWR 1, color: "#3c6fb0" }
- grow
- column: { gap: 1, align: end, items: [ { logo: { text: MikroTik, width: 26, height: 6 } }, { label: { id: model, text: CCR2004-16G-2S+, width: 29.5, height: 3.6 } } ] }
rear:
background: "#dcdcdc"
padding: { x: 3, y: 3 }
layout:
row:
gap: 0
items:
- column:
background: "#bdbdbd"
width: 51
height: 38
gap: 0
justify: start
align: start
margin: { left: 10.6 }
items:
# Slots along the top: one left of the handle, three above the inlet.
- row: { gap: 9.9, margin: { top: 3, left: 9.9 }, items: [ { cutout-horizontal-slots: { width: 6.2, height: 2.7, mask: { pattern: { length: 5.8, thickness: 2.3, columns: 1, margin: 0.2 } } } }, { cutout-horizontal-slots: { width: 20.8, height: 2.7, mask: { pattern: { length: 5.8, thickness: 2.3, columns: 3, gap-x: 1.5, margin: 0.2 } } } } ] }
# Two rows of four tall openings behind the handle, then the inlet.
- row: { gap: 1.8, align: start, margin: { top: 6.05, left: 3.3 }, items: [ { cutout-vertical-slots: { width: 18.4, height: 15.7, margin: { top: 5.8 }, mask: { pattern: { length: 7, thickness: 3.4, columns: 4, rows: 2, gap-x: 1.6, gap-y: 1.7, margin: 0 } } } }, { psu1: { label-position: none } } ] }
- column:
background: "#bdbdbd"
width: 51
height: 38
gap: 0
justify: start
align: start
margin: { left: 8 }
items:
# Slots along the top: one left of the handle, three above the inlet.
- row: { gap: 9.9, margin: { top: 3, left: 9.9 }, items: [ { cutout-horizontal-slots: { width: 6.2, height: 2.7, mask: { pattern: { length: 5.8, thickness: 2.3, columns: 1, margin: 0.2 } } } }, { cutout-horizontal-slots: { width: 20.8, height: 2.7, mask: { pattern: { length: 5.8, thickness: 2.3, columns: 3, gap-x: 1.5, margin: 0.2 } } } } ] }
# Two rows of four tall openings behind the handle, then the inlet.
- row: { gap: 1.8, align: start, margin: { top: 6.05, left: 3.3 }, items: [ { cutout-vertical-slots: { width: 18.4, height: 15.7, margin: { top: 5.8 }, mask: { pattern: { length: 7, thickness: 3.4, columns: 4, rows: 2, gap-x: 1.6, gap-y: 1.7, margin: 0 } } } }, { psu2: { label-position: none } } ] }
- grow
# Each fan turns behind a ring of hexagons cut in the case, around a solid hub.
- fan: { id: fan-1, width: 36.5, height: 37.5, grille: { mask: { pattern: { preset: hex-grid, size: 4.8, gap-x: 0.8, gap-y: 0.8, margin: 0 }, shape: { ring: { outer: 36.5, inner: 19 } } } } }
- fan: { id: fan-2, width: 37.5, height: 37.5, margin: { left: 48, right: 40 }, grille: { mask: { pattern: { preset: hex-grid, size: 4.8, gap-x: 0.8, gap-y: 0.8, margin: 0 }, shape: { ring: { outer: 37.5, inner: 19 } } } } }
source:
url: https://mikrotik.com/product/ccr2004_16g_2splus
checked: 2026-11-11
x-from: vendor and netbox
x-faces: measured by hand from the NetBox photos on 2026-11-11 (docs/face-examples.md)
x-netbox: mikrotik-ccr2004-16g-2s-plus
x-reference-image: https://cdn.mikrotik.com/web-assets/rb_images/2563_hi_res.png
x-netbox-elevation: [ front, rear ]