diff --git a/README.md b/README.md index 0fb0c12..3984a99 100644 --- a/README.md +++ b/README.md @@ -7,9 +7,8 @@ A 4-layer PCB with STM32G071CB microcontroller equipped with two USB Power Deliv STM32 can communicate via [Power Delivery protocol](https://www.usb.org/document-library/usb-power-delivery) over both USB-C plug and "DATA/PWR" USB-C receptacle, which are directly connected to each other to pass power and USB 2.0 data through. -CH342 provides access to 3.3V UART on USB-C plug's SBU pins and to STM32 over "DBG/MCU" USB-C receptacle, allowing it to be flashed without additional tools. - -This allows to access debug console on devices that only expose it on SBU pins after entering an alt-mode or sending custom VDMs over PD. +CH342 provides access to 3.3V UART on USB-C plug's SBU pins and to STM32 over "DBG/MCU" USB-C receptacle. This allows to access debug console on devices that only +expose it on SBU pins after entering an alt-mode or sending custom VDMs over PD, and to flash STM32 without additional tools. Debubo can also be used as a Power Delivery sniffer / injector (as a man-in-the-middle). @@ -30,7 +29,9 @@ It also gives you control over Rd / Rp resistors on both CC pins, allowing it to ## Input / Output Debubo breaks a bunch of extra interfaces out as pin headers: USB-C plug's SBU lines, 5V and 3.3V power, SWD, I2C, UART to MCU, SPI, GPIO for custom use and MCU reset line. -There's also a LED and a push button for custom purposes. Pins of unused interfaces can be repurposed as GPIO. +There's also a LED and a push button for custom purposes. Pins of unused interfaces can be repurposed as GPIO or DAC/ADC where available. + +Note that current drawn from 3.3V rail (including power drawn by STM32) should not exceed 10 mA - it's provided by CH342's integrated LDO. USB-C plug's SBU lines are connected to CH342's UART0 (TX - SBU1, RX - SBU2), STM32's USART1 (TX - SBU1, RX - SBU2) and USART4 (TX - SBU2, RX - SBU1). @@ -39,7 +40,7 @@ STM32's bootloader-capable USART2 is connected to CH342's UART1. ## Modifications - two solder jumpers near the plug (JP1, JP2) allow you to bridge top and bottom D+/D- pairs on the USB-C plug together -- cutting the trace on the bottom solder jumper (JP3) allows you to provide your own Vio (note that STM32 USART will still be 3.3V) +- cutting the trace on the bottom solder jumper (JP3) allows you to provide your own Vio to CH342 (note that STM32 USART will still be 3.3V) ## Firmware