Coder Social home page Coder Social logo

usbvalve's Introduction

logo, landscape, dark text, transparent background

Expose USB activity on the fly

The two models The Watch 1.2

I'm sure that, like me, you were asked to put your USB drive in an unknown device...and then the doubt:

what happened to my poor dongle, behind the scene? Stealing my files? Encrypting them? Or just installing a malware? With USBvalve you can spot this out in seconds: built on super cheap off-the-shelf hardware you can quickly test any USB file system activity and understand what is going on before it's too late!

With USBvalve you can have an immediate feedback about what happen to the drive; the screen will show you if the fake filesystem built on the device is accessed, read or written:

Selftest Readme

and from version 0.8.0 you can also use it as USB Host to detect BADUSB devices:

HID

This is an example of the BADUSB debugger available on serial port:

If you prefer videos, you can also have a look to my Insomni'hack Presentation

USBvalve Watch

Starting from version 0.15.0 a new Pi Pico Watch version is supported. To compile the new version you have to uncomment the #define PIWATCH line at the beginning of the code. The hardware is a RP2040-based 1.28-inch TFT display and watch board. You can find some more info here. This is also fully compatible with the Waveshare RP2040-LCD-1.28.

Repository Structure

docs: documentation about the project, with a presentation where you can have a look to all the features

firmware: pre-built firmware for the Raspberry Pi Pico. You can just use these and flash them on the board. I prepared the two versions for 32 and 64 OLED versions

PCB: Gerber file if you want to print the custom PCB . It's not mandatory, you can use your own or build it on a breadboard

USBvalve: sources, if you want to modify and build the firmware by yourself

utils: some utilities you may use to build a custom FS

pictures: images and resources used in this doc

STL: STL files for enclosure. In 1.1 and 1.2 folders there are full enclosures (thanks to WhistleMaster). In folders 1.2_64 and 1.2_64_simple there are enclosures for the 128x64 screen (thanks to rtmq0227). If you want something lighter to protect the LCD you can go with USBvalve_sliding_cover.stl.

Build USBvalve

Part list

If you want to build your own, you need:

  • A Raspberry Pi Pico (or another RP2040 based board, like Arduino Nano RP2040)
  • an I2C OLED screen 128x64 or 128x32
  • (optional) a USBvalve PCB or a breadboard
  • (optional) a 3D printed spacer to isolate the screen from the board (https://www.thingiverse.com/thing:4748043), but you can use a piece of electrical tape instead

Building instructions

Thanks to Tz1rf we have a great Video explaining the building process step-by-step.

Almost all the job is done directly on the board by the software, so you just need to arrange the connection with the OLED for output.

Starting from version 0.8.0 of the firmware, USBvalve can detect HID devices (used to detect BADUSB). This require an additional USB port behaving as Host. If you are not interested in this, you can use the old instructions in docs folder and use PCB version 1.1. Otherwise go ahead with PCB version 1.2 (we have version for USB-A or USB-B, see folder).

With USBvalve PCB

  • solder a USB female port in USBH area. This is for version A, but there is a version for USB Micro-B as well if you prefer
  • place the Raspberry Pi Pico on the silk screen on the front
  • you don't need to solder all the PINs. Just the following:
    • D4 and D5 (left side)
    • D14 and D15 (left side)
    • GND (right side, third pin from the top)
    • GND (right side, third pin from the bottom)
    • 3v3_OUT (right side)
    • VBUS (right side)
    • the 3 DEBUG pin on the bottom: SWCLK, GND and SWDIO
  • place the 3D printer spacer or a piece of tape on the parts of the OLED that my touch the Raspberry
  • solder the OLED (with a header) on the 4 PIN space

Some of the OLEDs have the GND and VCC PINs swapped, so I built the PCB to be compatible with both versions:

For example if your OLED has GND on PIN1 and VCC on PIN2 like this:

You have to place a blob of solder on these two pads on the back of the PCB:

Otherwise you should the opposite and place the solder on the other PADs:

Without USBvalve PCB

Pico Pi

If you are using a breadboard or just wiring, all you have to do is to ensure to connect the proper PINs at the OLED screen and to the Host USB port.

The mapping is the following:

  • PIN6 of Pi --> OLED SDA
  • PIN7 of Pi --> OLED SCL
  • PIN19 of Pi --> D+ of USB Host
  • PIN20 of Pi --> D- of USB Host
  • PIN23 (GND) of Pi --> GND of USB Host
  • PIN38 (GND) of Pi --> OLED GND
  • PIN36 (3V3OUT) of Pi --> OLED VCC
  • PIN40 (VBUS) of Pi --> VCC of USB Host

If you want to use the DEBUG functions, you can also place a header on the 3 SWD PINs at the bottom of the board.

With USBpipe PCB

Caution

This PCB is for experienced electronic makers DON'T USE IT IF YOU AREN'T SURE YOU CAN HANDLE IT!

USBpipe PCB

USBpipe is a dedicated PCB for this project.

You can find everything you need in ./PCB/USBpipe/ folder.

Front

Back

Flash Firmware

To flash the firmware, follow these steps:

  • Connect the Raspberry Pi Pico with the USB cable, by keeping the BOOTSEL button pressed (the big white button on the board)
  • release the button
  • you will see a new drive on the system, named RPI-RP2 (in Linux envs you may have to manually mount it)
  • copy the proper firmware file (with extension uf2) in the folder, depending on the OLED you used
  • wait few seconds until the mounted folder disappear

It's done!

Anti-Detection

I don't know if it will ever be the case, but you may want to customize the firmware in order to avoid detection done by USBvalve-aware malware :-)

I grouped most of the variables you may want to modify in this section (see Dockerfile below for rebuilding)

// Anti-Detection settings.
//
// Set USB IDs strings and numbers, to avoid possible detections.
// Remember that you can cusotmize FAKE_DISK_BLOCK_NUM as well
// for the same reason. Also DISK_LABEL in ramdisk.h can be changed.
//
// You can see here for inspiration: https://the-sz.com/products/usbid/
//
// Example:
//             0x0951 0x16D5    VENDORID_STR: Kingston   PRODUCTID_STR: DataTraveler
//
#define USB_VENDORID 0x0951               // This override the Pi Pico default 0x2E8A
#define USB_PRODUCTID 0x16D5              // This override the Pi Pico default 0x000A
#define USB_DESCRIPTOR "DataTraveler"     // This override the Pi Pico default "Pico"
#define USB_MANUF "Kingston"              // This override the Pi Pico default "Raspberry Pi"
#define USB_SERIAL "123456789A"           // This override the Pi Pico default. Disabled by default. \
                                          // See "setSerialDescriptor" in setup() if needed
#define USB_VENDORID_STR "Kingston"       // Up to 8 chars
#define USB_PRODUCTID_STR "DataTraveler"  // Up to 16 chars
#define USB_VERSION_STR "1.0"             // Up to 4 chars

Building your firmware

Obviously you can also build your own firmware. To build the standard one I used:

  • Arduino IDE 2.3.2
  • Adafruit TinyUSB Library version 3.1.1, Pico-PIO-USB version 0.5.2, Board Raspberry Pi RP2040 (3.7.2) setting Tools=>CPU Speed at 120MHz and Tools=>USB Stack to Adafruit TinyUSB
  • ssd1306 OLED library version 1.8.3

If you want to re-create a new fake filesystem, you may want to have a look to the utils folder, where I placed some utilities to build a new one.

Dockerfile

If you want to build your own firmware, after you customized it, I provide a Dockerfile which builds a complete Arduino environment and compile the firmware. Enter the following commands in the main USBvalve folder:

docker build -t usbvalve/arduino-cli .
docker run --rm --name usbvalve -v $PWD:/mnt usbvalve/arduino-cli /mnt/USBvalve 

The firmware will be placed with extension uf2 in folder USBvalve_out.

Contribute

If you have ideas or improvements in your mind, I encourage you to open an issue so that we can improve the project together! Thanks!

Support

If you have question or need support you can open an Issue here or reach me out on Twitter/X @red5heep

SAFETY WARNING

Warning

I've received a lot of questions about USBvalve and USB killer devices. USBvalve is not built to test these devices, it has not any kind of insulation or protection, so if you have the suspect you are dealing with one of these devices, test it with something else, NOT with USBvalve or you may damage the device, yourself or objects near to you.

usbvalve's People

Contributors

cecio avatar lipolymer avatar whistlemaster avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

usbvalve's Issues

Pi Pico Watch Supported Features

I have a question about USBvalve support for the Pi Pico Watch. I flashed the latest build and verified that it can report actions taken by the PC that it is connected to. I then moved on to test host support and ran into a snag.

Is the watch supposed to be able to do USB Host for connected USB drives/HID devices from the Type-C port? I assumed that it would as long as you provided it with power from the battery connector, but it does not seem to work like the standard PCB version.

Cool software regardless.

USBvalve PCB with through hole solder points

I am wanting to build a battery powered version for USB checks on the go. I found a battery component that should work but ideally it would go under the custom USBvalve PCB. Would it be possible to get the original CAD for modification or have a Gerber fileset with through hole configuration instead of surface mount?

KillerUSB

Chances are that it will be destroyed, so we can think it as a sacrificial device ;-)
...it costs a few bucks :-)

Better this than your main PC!

I DON'T recommending trying it! Don't try it unless you want to fry your USBvalve, damage yourself or things near to you!
See also the README.md WARNING

3D print enclosure?

Hi! Any chance anyone has any blueprints for some enclosure? I have bought Pi Pico and 128*32 display and now I was thinking about how to put it together. I have ordered also some small plastic enclosure (Zonepi case, but it seems local) that fits more or less exactly the Pi itself.

Now, because the Pi has MicroUSB input, and in the reality, you will be testing rather USB-Cs (e.g. plug it to a mall phone charger, etc.), you will need a reduction. Then, there is this thing with adding the USB-A for passthrough testing, and then there is this thing with the OLED display.

I was already thinking around, how to put it together and it seems like it will be quite janky.

What I am looking for:
Enclosure that will fit the Pi itself and fully cover/protect it, will have hole for micro, will have hole for USB-A, will have proper place for display, that should be aligned with the box surface, and it should have some clips/compartment that will hold micro(m)->C(f) and A(m)->C(f) if you will need to switch between interfaces on-the-go. Of course, this enclosure must have enough space to put all the wiring inside, so it is actually a compact box over all.

Unfortunately, I do not have 3D printer, nor any experience with 3D modelling ...

So, anyone any ideas?

uf2 file not flashing

Hi,
I'm new to this, so I am probably doing something wrong but I don't know what.
I soldered an I2C OLED screen 128x64 and an USB A port onto a Raspberry pico.
I flashed the blink.uf2 file (from raspberry website) for testing purpose, it works. I simply put file into the mass storage that appeared.
Then I restarted with the BOOTSEL button pressed, and released when the mass storage appeared.
But when I try to flash the USBvalve-0.16.0-64.uf2 file, nothing happen, the folder stays open.
Any help would be much appreciated !

ATTiny Attacks / USBkill Attacks

I have played through a few attack scenarios and am absolutely delighted with the USBvalve.
However, USBvalve did not recognize a Rubber Ducky based on an ATTiny85 in the form of a Digispark Rev.3.

Unlike other Rubber Duckies I have tried, windows does not identify the Digispark as HID but as a USB input device.
USBvalve does not respond at all.

Since Attiny's are very small and very cheap, I see more potential for attack in them than in other Rubber Duckies, simple instructions can also be found very quickly.

Because USBvalve is so cheap to produce, it is the optimal tool that everyone should have.
However, I still see a problem in USBkill attacks,
I think most users will power USBvalve from a computer to check USB sticks.
So the overvoltage from the USBkill would probably still cause damage to the end device.
I'm not an expert on the subject, but I think galvanic isolation would certainly make the project too expensive and complicated.
Possibly a battery could avoid the problem, but I don't know how it reacts to the overvoltage.

I think a note "Supply USBvalve with a powerbank when testing sticks" should be the easiest way.

USBvalve is a fantastic project, thanks for the effort and sharing.

fast charge detection

Is it possible to create a software modification to detect if the connected USB port supports fast charge? at least on a theoretical level, I'm not asking to activate the mode, I would expect that the Arduino would fry. I know of the existence of some USB testers that are capable of this.

Thanks in advance for your trouble

Suggested USB socket part number

Hi, I'm looking to build this project for myself. However looking through the USB sockets available on Mouser and Farnell, none of the footprints quite match the PCB.

Do you have part numbers for the USB sockets used in the provided gerbers? Or would you mind providing the EasyEDA file so I can tweak the footprint myself?

Dongle-based devices

Hi, while playing with my USBValve, I found out, that although mice are supported, when I tried connecting my wireless mouse, USBValve does not behave correctly.

Now, I know, that the chance this would be a real world scenario is pretty low, but I want to mention it anyway (what worse can happen than this being closed ^_^

Anyway:

  1. When attaching a mouse dongle, there is no USB/HID detection message. Like 90% of time.
  2. Those other 10% the Pi "freaks out", sending 4 messages at once, 2 detections, and HID 2 data sending.
  3. When attached, no matter what I do with the mouse (movement, clicks, switch off and on again), no message is shown that the device would be sending some info.

So technically, if a malicious device would exist, that mimics whatever protocol is behind this, it would be a potential gap ...

Usb A male

Hello, I am thinking about building this project and I'm wondering if i can buy a male to male adapter (as shown in the picture) or perhaps solder a male usb A instead of the female one.

Sorry if this is a dumb question, but i think it would be better this way.

usbamale

.stl file for 3d printed spacer

Do you have the .stl file for the 3d printed spacer? I don't see it in the repo. I could use tape but the spacer looks so much nicer! Thank you so much for the demo lab at Defcon and for the free unit. I showed it to my son and he took one look at the spacer and said wow, that's nice printing. lol

[Enhancement] Write dump

Hi,
This idea is probably one of the more complex ones:

It would be great to log possible read/write actions.

So basically:

  1. Add a Card reader slot support (Quick search and it should be technically possible (https://www.youtube.com/watch?v=rr_JQchpa1Q)
  2. On power up, mount the SD
  3. If the device tries to write something through main (Micro/C) port, redirect it to the SD.
  4. If the device on the USB-A port starts sending some data (HID), create a text file with random name and write the inputs.

That would help us to understand not only if the device is sending some data, but later on, we can remove the SD, put it into PC and find out, what has actually happened.

for MVP:

  1. Fixed size card
  2. Predefined format (FAT32).
  3. On boot, check if card is inserted to enable logging
  4. random name (as pPico does not have clock), only when creating files, prepend "host_" or "valve_" so we know through which end it came (and on PC, we then always can filter by file creation date)

Let's see, I have no idea how hard this would be even with borrowing some existing Pico SD project, and also I am not sure if the limited processing power of Pico would allow it, but anyway, it would be cool :)

Buzzer Support?

I’d be grateful if you could add an optional feature that can notify the user with a buzzer when some suspicious behaviors (e.g. HID device attached) have been detected.
I'm not an Arduino developer, and I'm sorry I can't help with this amazing project directly.
(By the way, I designed a dedicated PCB for this project. Can I create a PR when I have tested it?)

Would Love PreBuilt One

Did not see an issue or something but would love to see a pre-built one of maybe an amazon list of all the items needed. I think that would be cool.

Update 1:

  • Just wanted to also let you know that I was watching Linus video and he mentioned about letting the author know if people are interesting in purchasing pre-made instead of building yourself

Video Tutorial on how to build a USBValve

I thought I would post this here. I made a video tutorial on how to build a USBValve. Anyone should be able to follow this tutorial and build one at home. Feel free to post/share it and I hope those interested in this project find it helpful! Youtube Video

Also as the project evolves if a different PCB emerges feel free to reach out and I will be happy to create an updated video tutorial.

Hub detection?

My USBValve is working. THANK YOU!
But I have some questions.

  1. Is it possible to detect if a USB hub (perhaps hidden inside a keyboard or cable) is attached to the USBValve?

  2. A $40 product detects evil cables by monitoring power using a side channel. Is there some way to add this into a new revision?

Is there a test scenario?

I just built my first usbvalve and was wondering if there is a test scenario that is available to see the possible issue that can show up on the screen, and to make sure that everything works?

[Question] File read attempt filename

Does this show the file name that was attempted to be accessed?

As an example, I have a device that auto updates from an attached FAT32 USB Drive assuming the correct file is placed at the root.

If I was to plug this device into that USB connection, would the screen show, as an example, that "DEVICE_UPDATE.IMG" was attempted to be read?

need some pointers please

Ok so i got my RP2040 watch from ali everything worked fine out of the box/bag.

But after trying to flash the usbvalve image to it or any uf2 image for that matter the usb device popped up and i dragged and dropped the uf2 on the watch and nothing happened!

So i tried numerous other uf2 files to no avail. now i tried using Arduino IDE to upload the raw data as a sketch and after hours of work i got it to finally upload to the watch i was so happy!

until i saw a black screen and nothing happening on the watch itself i unplugged it and plugged it back in now it identifies itself as a usb drive named MyDrive with two files on it AUTORUN.INF and README.TXT "that says ...nuke the entire site from orbit. It's the only way to be sure."

I really need some pointers if possible? i would love to use the watch as an USBValve.
But why cant i for the love of god not get the UF2 file to flash the device?

I have tried it with a regular pico and rp2040 with all kinds of uf2 images and that works fine!
A few days ago i used this very same setup to flash a PICO with Jrunner to flash my xbox 360 which went very well.
But somehow this device won't work properly.

p.s. using windows 11 also tried using my steamdeck so linux same result the device won,t eject itself after copying UF2 file.

display not showing proper info

hi there, i tried to build this yesterday, but i can't get the display to show the proper text. I can only manage to get characters in the first "column" (pic1) i have tried to flash a couple of older versions too, but no difference. I'm pretty sure i've flashed it properly, because when i edit the readme file it gives me more characters on the screen (pic2). I'm still very new to the pico and i'd be gratefull for all help or tips you all have.
Sincerely, Henrik
ps- i haven't installed a female usb a to the bord, as i wasn't planning on testing bad usb drives yet.

IMG_20240423_224242
IMG_20240423_225455
IMG_20240423_225512

STL-files for the narrow LCD?

From what I can tell from the STL-files. The box is for the "narrow" (32) LCD-display.

Any plans of releasing a version of the STL-files for the broad-version (64)?

(If not, I guess I have to learn to CAD and do it myself and add it here.. But that will take some time I guess.)

Not an issue - please read

Came across this device via LTT on YouTube. As a product this is a no brainer with wide appeal. I'm sure these would sell well as a finished plug and play product. Even my father in law would want one. Great job!

3D Printable enclosure for 128x64 screen version

Since the only enclosure in the repository is for the smaller, x32px screen, I put together an option for the larger x64px screen (stl files linked via dropbox). It's configured to allow for the USB A Female port option, and has an access port for the three debug pins in the backplate. It assembles with six M2x18 screws with room for locking nuts (links below), and some rubber padding to seat tightly without rattle. It's designed for Resin printers, so you may need to file down and drill out the interior openings if you have a pronounced foot on the print. I also recommend not soldering the screen to the PCB until you have it in the enclosure for the fit to be right.

STL Files: https://www.dropbox.com/scl/fo/kd9u046t1vtf3h2jkpmb5/ACpoGzTPq_6m6kwyjEtopGc?rlkey=sx72hl63xx694xxybgx68dki6&dl=0
Simple STL Files: https://www.dropbox.com/scl/fo/6smj7gpmz6kdv2wxk2p48/AGRNeEw-AhFlpDAR8BErv5c?rlkey=ntm5leaagrq856i6la884js8i&dl=0
Screws: https://tinyurl.com/mry88wyv
Nuts: https://tinyurl.com/yhzkmhmj
1mm Rubber Sheeting: https://tinyurl.com/4775dfs5

2024-04-16_22 31 41

2024-04-17 21 09 10

Enclosurex64

simpleEnclosurex64

Feature request: Port to Flipper Zero.

This would be a great tool to port to Flipper Zero if possible. I know Flipper Zero has the capability to become a USB host, not sure if it can be the right type of USB client though.

Thanks for USBValve! This is great how it is even if porting it is not possible!

Pico with built in display and usb-c

I’m quite interested in making my own USBValve and I’ve found this pico on Amazon https://amzn.eu/d/6Hgc5Mu would it work?
It has usb-c which is what I was looking for and a built in bonus IPS screen.

I also don’t like soldering I always make a mess of it so less is better so I would thinking I could get this but with the pin headers, I have cables that can connect to the pin headers then connect the correct pins to a usb a port and then try to 3D print an enclosure to hold it all. Is there anything I am missing or could this work?

Thanks!

Passthrough Charging Without Data Connection?

Is it possible to have a version of this that stays connected to monitor what's going on with the data connection of the USB charger, but passes the rest of the charge on to a device plugged into the other end of the USBValve?

writing text files not detected

Hi,
I noticed that when I create a file no popup comes up saying that I am writing.
But once I save something in this file or I create a folder it does say "writing".
Is this done on purpose?
I am not an expert on this so I don't know how windows deals with new files and if this counts as writing or not.

RP2040 GEEKs Development Board

@cecio do you think RP2040 GEEKs Development Board can be modded to work with your firmware, as oppose to building a custom board? It seems that it would be much less painful if we could just mod this board and make it work?

https://www.ebay.com/itm/315215910989?mkcid=16&mkevt=1&mkrid=711-127632-2357-0&ssspo=cdxlfgc5ryy&sssrc=2047675&ssuid=IFHFWV1lQai&widget_ver=artemis&media=COPYM1j

EDIT: Looking at the board some more they don't seem to expose pins for USB host usage
PIN19 of Pi --> D+ of USB Host
PIN20 of Pi --> D- of USB Host

but they do expose Pin28,29 which are I2C SD, SC so should be possible to remap and create an adapter?

2 devices not recognized

Hi!

First of all: you did a great job creating this little device...
I meanwhile made 3 if them...

But 2 hacking devices from me were not recognized...

1.:
"Duckhunter" is not recognized...

Duckhunter is a app within Nethunter that interprets Duckyscripts.
Nethunter is a Kali Linux arsenal that can be installed to Android devices..

In Nethunter there is the function "USB arsenal". With it you can enable the function "HID".
When I now start an attack at a computer the app "Duckhunter" interprets the Duckyscripts and types them in via the connected USB cable.
For that the android setting "USB Debugging" needs to be activated on the Android device.

Now I thought that the USB valve would also recognize the key strokes...
But it completely doesn't...
It doesn't recognize when I change my phone to HID mode and it doesn't recognize the key strokes...

2.:
The second device is a little "CJMCU" - a little Mini Atmega32U4 development board for about 7€ that also can do keystrokes...
At the moment I have set it to type in 0000 to 9999 but the USB valve also doesn't recognize the keystrokes of this little device...

Maybe you could add a function so that this devices also can be recognized...

Best regards
Csdragon

pcb board ordering suggestions

hello great project and seen this on LTT and want to build this great project. However i have never ordered hobbyists pcbs. whom are you using for this project? i wouldn’t mind ordering a few boards if others want to go in or if you have some boards left over buy from you. please let me know. i have ordered pico and screen.

Multiple USB Host ports

Hey!
great project, i love it!
i was just wondering, ist is possible to just solder on a usb-c and a usb-a port as host, and connect them together?
It probably wont work at the same time but if I just use one at a time it should be fine i guess?

Also i have a rp2040 board with usb-c as main connector, this one wont be a host right? (havent had a chance to check it yet)

Thanks!

[Enhancement] device detected message

When I first plugged my USBValve in, I thought my USB-A didn't work (bad solder, switched pins - as I was soldering it upside-down) or busted board because of my soldering ...

Well, if I put in for example a keyboard, it correctly starts detecting HID, but if I plug in a simple USB drive, there is nothing that would indicate that the device is actually plugged in, detected, or the board just knows about it in any other form (even if it would be just a detection that it consumes power on PIN 40.

It would be nice that if whenever a device is plugged in, there would be some info message first, before any error (if any) states would pop up.

Debugger on the pcb version

How do you use the debugger on the pcb?
i see that there are solder points for connecting pico's debug pins to the pcb, but how do you use those?

Traffic Light Ws2812b LED

Would it be possible to integrate a single Neopixel or Ws2812b control to make it easier to read for older or less tech. people?

I am thinking of:
Off = nothing connected
Blue = Something connected
Green = everything ok
Yellow = Attention
Red = something bad found

Possible with a USB-C version?

I would like to build one of these but with USB-C on both sides.

I was thinking a Pro Pico and a USB-C on the other side.

Would this be possible?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.