Tzirf

General Category => Tech Gadgets => Topic started by: tzirf on Mar 30, 2024, 12:26 AM

Title: USBValve A USB Monitoring Device
Post by: tzirf on Mar 30, 2024, 12:26 AM
USBValve is a handy gadget that is used to test and verify USB devices and provide immediate feedback on the attached OLED Screen. The entire point of this project is to provide a monitoring device that detects and outputs everything that is happening over the USB port its plugged into. With the female USB Port you can check questionable USB devices before plugging them into your computer. This could save you the hassle of spreading malware or other harmful software. Additional it can detect badusb devices as well, such as the rubber ducky. 

The best part is this project that uses off the shelf components that can be purchased and assemble for $10.00-$20.00, depending on where you live and how you decide to build it.

Those components are:
Raspberry Pi Pico
USB to Micro USB Cable
Female USB Port
128x64 or 128x32 4pin OLED Screen
USBValve Custom PCB or Generic Breadboard   

The project was started by a user who goes by the name cecio and you can find their github page here (https://github.com/cecio/USBvalve?tab=readme-ov-file) All credit goes to cecio for the project.

Additionally I created a tutorial on how to build your own, which you can find here (https://www.tzirf.com/tech-gadgets/usbvalve-how-to-build-it-video-tutorial/) 

That being said I see a lot of utility and potential in this project so I decided to make one myself. Introducing the USBValve.

I have the Raspberry Pi Pico soldered to the USBValve Board. I am waiting on the female USB Port and the OLED screen.
IMG_8223.JPG


OLED Screen installed. Still waiting on the female USB Port.

IMG_8226.JPG




Title: Re: USBValve A USB Monitoring Device
Post by: tzirf on Mar 30, 2024, 05:17 PM
Female USB Port showed up today, so I soldered it in place.
IMG_8231.JPG


USBValve is now completely built. Loaded the firmware up and here is a working unit!!!

IMG_8233.JPG

A quick note about the screen and what is displayed. This device is a monitoring unit, so anything with expected behavior has a Plus sign (+) next to it. For example I plugged in a flash drive and it shows on the display as ++ Mass Storage. Anything with an explanation point (!) indicates that the device is doing something that isn't expected. Can detect and also display if a device attempts to automatically transmit data. For example if you were to plugin a USB flash drive that had malware on it and the malware was designed to grab say text files from your computers "Document" directory, the USBValve would prevent this from happening and the screen shows that it was attempting to transmit data.
IMG_8268.JPG
Title: Re: USBValve A USB Monitoring Device
Post by: Grocerybill on May 01, 2024, 06:18 PM
This is awesome. I've got a completed hardware kit and have a couple of questions- 
I want to power this with a battery to make it mobile. Can the pins protruding from the LED screen be used? I was planning on "modifying" a microusb cable to a battery to power it but using the pins would be cleaner.

Could this be used to test a charging port? For example, can a usb to (whatever) cable be used to connect the usbvalve to a charging connection and test the charging connection and if so, would it power the usbvalve or possibly over volt it?

Thanks so much!
Title: Re: USBValve A USB Monitoring Device
Post by: tzirf on May 01, 2024, 09:06 PM
Quote from: Grocerybill on May 01, 2024, 06:18 PMThis is awesome. I've got a completed hardware kit and have a couple of questions- 
I want to power this with a battery to make it mobile. Can the pins protruding from the LED screen be used? I was planning on "modifying" a microusb cable to a battery to power it but using the pins would be cleaner.

Could this be used to test a charging port? For example, can a usb to (whatever) cable be used to connect the usbvalve to a charging connection and test the charging connection and if so, would it power the usbvalve or possibly over volt it?

Thanks so much!

@Grocerybill

You can power a USBValve with a portable battery (also called a power bank) using the same Micro USB port you would use if you connected it to a computer, aka the USB on the Raspberry Pi Pico. There are a couple things to keep in mind, some portable batteries/power banks will auto power off if enough power isn't being drawn. Unfortunately because the USBValve uses a Raspberry Pi Pico, its power draw is very low and this "feature" will kick in thus turning the USBvalve off after a few seconds. That being said you can still use these to test devices with the USBValve you just need to be quick and pay attention to the screen before it turns off. Or purchase a portable battery that lacks this feature. The other thing to keep in mind is that you will not be able to look at the debugger while using it this way. Currently the debugger only partially works and can only be accessed using a computer.

You can use it to test charging cables. That being said if you were to plug a charger into the USB A port it would not power the USBValve. Additionally (I have not done testing on this) but I suspect it would cause damage to the device. Remember there is no safety circuit to prevent something like a USBKiller device from overvolting and damaging the USBValve, so this would also apply to the charger scenario. Since the device is supposed to be powered and plugged in using the Micro USB side of the Pico, any power coming in from the USB A side would cause damage.