Skip to the content
PCBKitNew board
4 layers65 × 61 mmSerberus, the printed circuit board in 3D

Multi-headed and Multi-Protocol embedded system hacking tool.

Size
65 × 61 mm
Copper layers
4
Thickness
1.61 mm
Parts
108
Nets
154
Pads
540
Tracks, vias
1,321, 350
Pours
4
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
15 May 2025
Updated
15 May 2025

Overview

Serberus is an open-source printed circuit board by suddenabnormalsecrets, from the suddenabnormalsecrets/Serberus repository on GitHub, published under the Apache-2.0 licence. It is a 4-layer board of 65 × 61 mm with 108 parts on 154 nets, routed with 1,321 tracks and 350 vias.

It is built around the SN74LVC8T245PW, 74HCT595PW-Q100,11 and 93LC66BT-I/OT, with the AP7365-18WG, AP7365-33WG and FT4233HPQ among its other parts. Its parts include 31 capacitors, 26 resistors, 11 diodes, 9 ICs and 9 connectors. It belongs with the FPGA and CPLD boards of this library.

Main components

8

README

README.md


SERBERUS [blocked]

Multi-headed and Multi-Protocol embedded system hacking tool.

Serberus Board

OVERVIEW

  • Note: This is not an officially supported Google product
  • The Serberus is a serial Man-in-the-Middle hardware hacking tool
  • It has 4 channels, based on the FTDI 4233
  • Has the ability to connect to JTAG, SPI, I2C and SWD interfaces
  • Has a Level shifter and switch to allow you to connect to logic voltages of 1.8, 2.5 and 3.3v or any arbitrary voltage between 1.65v and 5.5v

BOARD RENDERING

Serberus Board

CONTENTS

System Requirements

No drivers should be required, the FTDI devices are supported by most operating systems. The UART ports will work right away with screen, putty or your favorite serial console or serial access application such as OPENOCD.

What makes the Serberus unique:

The Serberus is based on a couple of earlier FTDI USB to TTL tools, the TIMEP and the TIGARD. The items below are some of the major changes from those designs.

  • 3 UART Ports
  • J-Link Compatible JTAG connector - use any of those J-link to XXX connectors or breakouts
  • Indicators for each of the 4 serial channels - help debugging
  • 2.54 MM Logic Analyzer connector - Easily connect the most common logic analyzers or an MSO scope

Basic Usage

When you plug in the Serberus, your system will be recognize the FTDI chip and the 4 serial ports.

UARTS

The first, third and forth serial ports are intended for UART. You can use your favorite serial access tool, (Putty, screen) to access them as you would any other USB to serial device
example
screen /dev/ttyUSB0 {baudrate}

JTAG

I need to do a little more work here as most of the tools like pyftdi and flashrom do not look for the FT4233. pyftdi should work with --vidpid flag and the value 0403:6041. You may need to change udev permissions

SWD, I2C, SPI

Details coming soon

SWITCH 1

Switch 1 is the rotary target voltage select switch, it has 4 positions. The first position is intended to match the voltage of your target and should rarely be needed, however it is included for those one-off scenarios where your target has a strange voltage between 1v6 and 5v5 but will not work with the provided levels. It will also adapt if your target changes voltage during the power up process. (I encountered this only once in all my years of testing.) J9 must have a jumper on it to make this connection.

The remaining 3 positions match the likely voltages of 1v8, 3v3 and 5v. Ideally in your workflow you will test your target and know what voltage level is appropriate. This switch works by taking the output of the voltage regulators U1, U2 or the 5v VBUS voltage and sending it to the level shifters VREF pin, to match the logic level of these signals.

PositionFunction
1VTARGET
21v8
33v3
45v

SWITCH 2

Switch 2 is for combining various inputs to allow the second serial port to be used for JTAG, SPI, SWD and I2C. Switch to the left is for JTAG and SPI, separating the necessary TX and RX pins while the right position combines them for SWD and I2C.

Jumpers J8 and J9

J8

connect VREF to VTARGET, allowing you to take the voltage level of your target and use that as the voltage level of the level shifters. J8 must have a jumper in place and SW1 must be in the first position for this feature to function.

J9

For iCE FPGA programming, I added this feature from the TIGARD as it was an easy feature to include for a minimal cost. Close the jumper to connect UARTA_RX and Misc_RX, make sure SW2 is in JTAG mode.

UART

The top connector has 3 UART connections, it is a standard 20 pin flat cable connector. The first UART has all 7 signal pins connected, for those rare instances where they are needed. The first UART is mapped to the first 4233 channel.
The second and third UARTS are mapped to the 3rd and 4th channels ports, as the second is used by the combined JTAG/SWD/I2C and SPI port. These ports only have TX and RX connected.

UART Header Pinout

PinFunction
1VTARGET
2VTARGET
3GND
4TX-C
5TX-A
6RX-C
7RX-A
8GND
9RTS-A
10NC
11CTS-A
12RX-D
13DTR-A
14VTARGET
15DSR-A
16TX-D
17DCD-A
18RX-D
19NC
20GND

JTAG

The JTAG header is presented on J3, the right side of the board opposite the USB connector. The connector is a 20 Pin standard pitch Flat cable style. It is intended to match the Segger J-LINK pinout as much as possible, making it easier to use the many J-Link connectors to make a direct connection to an accessible header on your target.

JTAG Header Pinout

PinFunction
1VTARGET
2NC
3TRST
4GND
5TDI
6GND
7TMS
8GND
9TCK
10GND
11MISC_RX*
12GND
13TDO
14GND
15SRST
16GND
17NC
18GND
19NC
20GND

*Connected to BDBUS 6 as an input on the FT4233, only needed for bizarre on-off connections, for most purposes, leave as NC.

SPI

SW2 in leftmost position (1)

SPI Pinout:

PinFunction
1CS
2VTARGET
3CIPO/MISO
4WP (PULLUP)
5EN (PULLUP)
6CLK
7GND
8COPI/MOSI

I2C

SW2 in rightmost position (2)

I2C Pinout:

PinFunction
1SCL
2SDA
3VTARGET
4GND

CORTEX

A 10 pin cortex debug connector is present and will enable an easy connection to this common debug connector.

CORTEX Pinout

PinFunction
1VTARGET
2CORTEX PIN 2
3GND
4TCK
5GND
6TDO
7NC
8TDI
9GND
10SRST

Logic Analyzer

The 14 pin header at the bottom next to the SPI and I2C connectors replicates most of the signal lines for easy connection to a logic analyzer or digital MSO lines of an oscilloscope. The pin header is standard 2.54mm pitch to easily connect using standard Dupont style jumper wires.

Logic Analyzer Pinout

PinFunction
1CLK
2COPI/TDI
3CIPO/TDO/SWDIO
4TMS/CS
5TRST
6SRST
7TX-A
8RX-A
9TX-C
10RX-C
11TX-D
12RX-D
13GND
14GND

POWER DELIVERY

The FT4233 is capable of power delivery (PD) and the design includes a DPO2036 for OVP. No other PD features have been added and the FTDI settings are at default. Power delivery is something that could be added but is well beyond the scope of this device for its initial release. Please feel free to experiment with forked designs.

License

Copyright
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Parts

108
QtyValueFootprintReferences
18100nCapacitor_SMD:C_0402_1005MetricC5, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C22, C26, C28, C31 +2
1310kResistor_SMD:R_0402_1005MetricR1, R2, R7, R11, R12, R13, R14, R18, R19, R20, R21, R27, R28
72u2Capacitor_SMD:C_0402_1005MetricC1, C2, C3, C4, C6, C9, C10
5GREENLED_SMD:LED_0603_1608MetricD5, D7, D9, D11, D13
4100Serberus:R_Array_Convex_4x0402_RoundRectRN3, RN4, RN5, RN6
4100kSerberus:R_Array_Convex_4x0402_RoundRectRN1, RN2, RN7, RN8
4330Resistor_SMD:R_0402_1005MetricR4, R5, R10, R16
4MountingHoleMountingHole:MountingHole_3.2mm_M3_ISO7380H1, H2, H3, H4
4REDLED_SMD:LED_0603_1608MetricD6, D8, D10, D12
2100Resistor_SMD:R_0402_1005MetricR25, R26
2100kResistor_SMD:R_0402_1005MetricR23, R24
21MResistor_SMD:R_0402_1005MetricR3, R17
22k2Resistor_SMD:R_0402_1005MetricR15, R22
230pFCapacitor_SMD:C_0402_1005MetricC23, C24
2330Serberus:R_Array_Convex_4x0402_RoundRectRN9, RN10
2330pCapacitor_SMD:C_0402_1005MetricC29, C30
2600R, 0.5AInductor_SMD:L_0402_1005MetricFB1, FB3
2SN74LVC8T245Package_SO:TSSOP-24_4.4x7.8mm_P0.65mmU5, U6
112MHzSerberus:Crystal_SMD_3225-4Pin_3.2x2.5mm_RoundRectY1
112k, 1%Resistor_SMD:R_0402_1005MetricR6
11uCapacitor_SMD:C_0402_1005MetricC27
174HCT595PW-Q100,11Serberus:SOP65P640X110-16NU9
193LC66BT-I/OTSerberus:SOT-23-6_RoundRectU4
1AP7365-18Serberus:SOT-23-5_RoundRectU1
1AP7365-33Serberus:SOT-23-5_RoundRectU2
1BLUELED_SMD:LED_0603_1608MetricD2
1BSH103Serberus:SOT-23_RoundRectQ1
1CORTEXSerberus:PinHeader_2x05_P1.27mm_Vertical_SMDJ6
1DNPCapacitor_SMD:C_0402_1005MetricC25
1DPO2036DBB-7Serberus:QFN45P200X200X65-13NU8
1FT4233HPQSerberus:QFN40P900X900X100-77N-DU3
1GNDTestPoint:TestPoint_Keystone_5000-5004_MiniatureTP1
1HACKJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP1
1I2CConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ7
1LAConnector_PinHeader_2.54mm:PinHeader_2x07_P2.54mm_VerticalJ4
1MODESerberus:SSSF021500SW2
1SN74LVC2T45DCURSerberus:SOP50P310X90-8NU7
1SPISerberus:PinHeader_2x04_P2.54mm_VerticalJ5
1SWD/JTAG2Serberus:RHDRRA20W64P254_2X10_3306X885X910PJ3
1TARGETSerberus:NR01105ANG132ASW1
1UART 1,3,4Serberus:RHDRRA20W64P254_2X10_3306X885X910PJ2
1USB_C_Receptacle_USB2.0Serberus:USB_C_Receptacle_HRO_TYPE-C-31-M-12J1
1V_MergeConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ9
1YELLOWLED_SMD:LED_0603_1608MetricD1
1iCE40Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ8

Questions

How big is the Serberus PCB?

It measures 65 × 61 mm and has 4 copper layers, 1.61 mm thick.

What parts does the Serberus use?

108 parts, built around the SN74LVC8T245PW, 74HCT595PW-Q100,11, 93LC66BT-I/OT and AP7365-18WG. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Serberus KiCad files?

From the suddenabnormalsecrets/Serberus repository on GitHub, at the commit this page was made from: the board is Serberus.kicad_pcb and its schematic Serberus.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Serberus design in my own project?

Its repository publishes it under the Apache-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 4 layers50 × 60 mmJtag ft, the printed circuit board in 3D

    Jtag ft

    BroGamesJaj/jtag-ft

    A simple FT2232HP board to program and debug fpgas and other jtag capable hardware.

    62 parts
  • 2 layers30 × 32.8 mmWild Spy Open Source Timer, the printed circuit board in 3D

    Wild Spy Open Source Timer

    Wild-Spy/OSTBoardHardware

    Hardware design for the Open Source Timer board.

    88 parts1Apache-2.0
  • 2 layers95 × 50 mmFlick, the printed circuit board in 3D

    Flick

    aswild/flick

    Open source end-to-end latency testing

    49 parts
  • 8 layers150 × 160 mmV3a scattered, the printed circuit board in 3D

    V3a scattered

    Infinionist/krt-timiq-trial

    KiCadRoutingTools placement trial on the CERN TimIQ RF board: raw working material

    458 parts
  • 2 layers25.4 × 55.8 mmCb usb, the printed circuit board in 3D

    Cb usb

    panStamp/kicad

    Kicad projects

    28 parts15GPL-2.0
  • 4 layers49.5 × 48.3 mm9pin2supergun, the printed circuit board in 3D

    9pin2supergun

    turmoni/9pin2supergun

    Project to read a CD32, Mega Drive/Genesis, or generic 9-pin gamepad and output each control to a separate pin

    54 partsApache-2.0
  • 2 layers56 × 73 mmDecentCart2040, the printed circuit board in 3D

    DecentCart2040

    bleroy/3d-junkyard

    Random 3D models

    86 parts69
  • 6 layers190 × 140 mmLatest, the printed circuit board in 3D

    Latest

    dennisss/dacha

    Monorepo for awesome tools/projects/libraries

    442 parts397Apache-2.0