template and source for hardware projects
Go to file
King Kévin f1b16e644a doc: add v1 changes 2022-06-27 15:21:34 +02:00
library@e482148d18 add parts library (as submodule) 2021-07-22 12:26:46 +02:00
picture doc: add pictures 2022-06-27 15:19:45 +02:00
.gitignore ignore output files 2021-07-22 12:36:45 +02:00
.gitmodules add parts library (as submodule) 2021-07-22 12:26:46 +02:00
.qeda.yaml lib: add used parts 2021-07-22 13:10:45 +02:00
CHANGELOG.md doc: add v1 changes 2022-06-27 15:21:34 +02:00
DEVELOPMENT.md doc: mention EasyEDA 2022-06-27 15:13:52 +02:00
LICENSE.txt add CERN-OHL-S license 2021-07-22 12:22:58 +02:00
README.md doc: update for v1 2022-06-27 15:19:28 +02:00
usb_bug_detector.brd.json brd: add completed EasyEDA board export 2022-06-27 15:11:51 +02:00
usb_bug_detector.sch.json sch: add completed EasyEDA schematic export 2022-06-27 15:09:35 +02:00
version switch to version 1 2022-06-27 15:02:31 +02:00


the USB bug detector identifies USB type-A cables (or devices) with integrated circuits.


to use the USB bug detector, follow the steps provided on the back of the board:

  • insert a CR1220 coin cell battery in the USB bug detector for it to be operational
  • press on the RESET button to arm the test
  • the BUGGED LED should be off
  • plug the USB cable in the USB receptacle
  • if the BUGGED LED switches on, the USB cable embeds an integrated circuit (e.g. a bug)
  • if the BUGGED LED remains off, the cable is same to use

after the test, to save power, press again on the RESET button.

to ensure that the USB bug detector works, after pressing on the RESET button, press on the SIMULATE button. this will simulate a USB plug with integrated circuit. the BUGGED LED should switch on. this also ensures the battery is not empty.

when the LED is on, the USB bug detector draws 3 mA. when the LED is off, the USB bug detector draws 64 nA. this results in a idle battery life of 62 years (for a typical 35 mAh CR1220 battery). this is on par with the self life of the battery (~ 1%/year).

mode of operation

an NOR-gate-based SR-latch is used. the RESET button triggers the R signal to reset the latch. when a USB cable is plugged, power is provided by the battery to the cable. if an integrated circuits is present, current will flow through. a 1 k Ohm resistor on the low side (e.g. ground) will create a voltage. if the plug draws more than 1.6 mA, the resulting 1.6 V will trigger the S signal to set the latch. the BUG LED will indicate when the SR-latch is set. the latch remains set until the RESET button is present. thus, even if the plug stops drawing power, the LED remains on.

this minimum 1.6 mA current draw is often caused by the decoupling/bypass capacitor required by integrated circuit, or accompanying voltage regulator. when charging, the capacitor acts as a short for a small time, allowing current to flow. on USB plugs with just resistors, or LEDs, the resulting current flow is not large enough.

the SIMULATE circuit simulates an integrated circuit by putting a 100 nF capacitor across the USB receptacle.

because of the 1 kOhm inline resistor, and limited 3.3 V provided by the battery, a maximum of 3.3 mA can be drawn by the USB plug. this is often not enough to power up integrated circuit properly, particularly if they use a radio interface. thus it is safe to use the USB bug detector on bugs, without activating it.