mirror of
https://github.com/cecio/USBvalve.git
synced 2025-12-08 13:34:57 +00:00
Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
384684bdf4 | ||
|
|
35f4a00326 | ||
|
|
59815ce63d | ||
|
|
7aee69d8e1 | ||
|
|
64f44c1a1c | ||
|
|
7cfedce646 | ||
|
|
f6de47e149 | ||
|
|
4d730aecdb | ||
|
|
44e98ad924 | ||
|
|
7d218c974d |
10
Dockerfile
10
Dockerfile
@@ -24,11 +24,11 @@ RUN cd /app \
|
||||
&& export PATH=$PATH:/app/arduino-cli/bin \
|
||||
&& arduino-cli --additional-urls https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json core search 2040 \
|
||||
&& arduino-cli --additional-urls https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json core install rp2040:rp2040 \
|
||||
&& arduino-cli lib install "Adafruit TinyUSB Library" \
|
||||
&& arduino-cli lib install "Adafruit SSD1306" \
|
||||
&& arduino-cli lib install "Pico PIO USB" \
|
||||
&& arduino-cli lib install "XxHash_arduino" \
|
||||
&& arduino-cli lib install "GFX Library for Arduino"
|
||||
&& arduino-cli lib install "Adafruit TinyUSB Library@3.3.3" \
|
||||
&& arduino-cli lib install "Adafruit SSD1306@2.5.11" \
|
||||
&& arduino-cli lib install "Pico PIO USB@0.6.1" \
|
||||
&& arduino-cli lib install "XxHash_arduino@2.1.0" \
|
||||
&& arduino-cli lib install "GFX Library for Arduino@1.4.7"
|
||||
|
||||
# Compilation setup
|
||||
RUN echo "#!/bin/bash" > /app/entrypoint.sh \
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
26
README.md
26
README.md
@@ -61,7 +61,7 @@ This is also fully compatible with the [Waveshare RP2040-LCD-1.28](https://www.w
|
||||
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
|
||||
- an I2C OLED screen 128x64 or 128x32 (SSD1306)
|
||||
- (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
|
||||
|
||||
@@ -133,15 +133,21 @@ If you want to use the DEBUG functions, you can also place a header on the 3 SWD
|
||||
> This PCB is for experienced electronic makers
|
||||
> **DON'T USE IT IF YOU AREN'T SURE YOU CAN HANDLE IT!**
|
||||
|
||||
<img src="./pictures/USB_pipe_finished_oled.jpg" alt="USBpipe PCB"/>
|
||||
> [!NOTE]
|
||||
> R7 and R8 aren't actually connected to anything. They are added for circuit debugging purposes.
|
||||
> So they don't show up in the BOM
|
||||
|
||||
<img src="./pictures/USB_pipe_finished_oled.jpg" alt="USBpipe PCB" width="15%" height="15%"/>
|
||||
|
||||
<img src="./pictures/USB_pipe_using.jpg" alt="USBpipe" width="15%" height="15%"/>
|
||||
|
||||
[USBpipe](https://github.com/LiPolymer/smartUSBPipe) is a dedicated PCB for this project.
|
||||
|
||||
You can find everything you need in `./PCB/USBpipe/` folder.
|
||||
|
||||
<img src="./pictures/USB_pipe_front.png" alt="Front"/>
|
||||
<img src="./pictures/USB_pipe_front.png" alt="Front" width="20%" height="20%"/>
|
||||
|
||||
<img src="./pictures/USB_pipe_back.png" alt="Back"/>
|
||||
<img src="./pictures/USB_pipe_back.png" alt="Back" width="20%" height="20%"/>
|
||||
|
||||
### Flash Firmware
|
||||
|
||||
@@ -190,8 +196,10 @@ I grouped most of the variables you may want to modify in this section ([see Doc
|
||||
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.4`, `Pico-PIO-USB` version `0.5.2`, Board `Raspberry Pi RP2040 (3.8.0)` setting Tools=>CPU Speed at `120MHz` and Tools=>USB Stack to `Adafruit TinyUSB`
|
||||
- `Adafruit_SSD1306` OLED library version `2.5.10`
|
||||
- `Adafruit TinyUSB Library` version `3.3.3`, `Pico-PIO-USB` version `0.6.1`, Board `Raspberry Pi RP2040 (4.0.1)` setting Tools=>CPU Speed at `120MHz` and Tools=>USB Stack to `Adafruit TinyUSB`
|
||||
- `Adafruit_SSD1306` OLED library version `2.5.11`
|
||||
|
||||
Remember to add `https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json` in the `Additional Board Manager URLs` to install the proper board.
|
||||
|
||||
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.
|
||||
|
||||
@@ -214,6 +222,12 @@ If you have ideas or improvements in your mind, I encourage you to open an issue
|
||||
|
||||
If you have question or need support you can open an `Issue` here or reach me out on Twitter/X [@red5heep](https://twitter.com/red5heep)
|
||||
|
||||
### Community versions
|
||||
|
||||
The Community created some forks implementing support for other boards, or other modifications. **Thank you to everyone** who contributed to the development of **USBvalve**.
|
||||
Here below an unofficial/incomplete/unsupported list:
|
||||
- [USBvalve-tbfa-Mod](https://github.com/TryBreakFixAgain/USBvalve-tbfa-Mod)
|
||||
|
||||
## SAFETY WARNING
|
||||
|
||||
> [!WARNING]
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
// Uncomment the following to compile for the RP2040 based TFT round display
|
||||
// https://www.raspberrypi.com/news/how-to-build-your-own-raspberry-pi-watch/
|
||||
#define PIWATCH
|
||||
//#define PIWATCH
|
||||
|
||||
#include <pio_usb.h>
|
||||
#include "Adafruit_TinyUSB.h"
|
||||
@@ -116,7 +116,7 @@ bool activeState = false;
|
||||
//
|
||||
// USBvalve globals
|
||||
//
|
||||
#define VERSION "USBvalve - 0.18.0"
|
||||
#define VERSION "USBvalve - 0.19.0"
|
||||
boolean readme = false;
|
||||
boolean autorun = false;
|
||||
boolean written = false;
|
||||
@@ -423,6 +423,9 @@ void printout(const char *str)
|
||||
} else {
|
||||
gfx->print(str);
|
||||
}
|
||||
|
||||
// Output on serial device
|
||||
SerialTinyUSB.println(str);
|
||||
}
|
||||
#else
|
||||
|
||||
@@ -457,6 +460,9 @@ void printout(const char *str)
|
||||
checkAndScroll();
|
||||
display.print(str);
|
||||
display.display();
|
||||
|
||||
// Output on serial device
|
||||
SerialTinyUSB.println(str);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 2.0 MiB After Width: | Height: | Size: 408 KiB |
BIN
pictures/USB_pipe_using.jpg
Normal file
BIN
pictures/USB_pipe_using.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 745 KiB |
Reference in New Issue
Block a user