10 Commits

Author SHA1 Message Date
cecio
384684bdf4 bump to release 0.19.0 2024-09-03 13:45:11 +02:00
LiPolymer
35f4a00326 Fix Document Mistake(#50) (#51)
* Add Notification for R7&R8 of USBPipe

* Document improvements
2024-08-04 12:53:44 +02:00
cecio
59815ce63d Update README.md 2024-07-19 00:27:25 +02:00
cecio
7aee69d8e1 Update README.md 2024-07-18 21:38:13 +02:00
cecio
64f44c1a1c update version 2024-07-07 12:31:05 +02:00
cecio
7cfedce646 bump to release 0.18.2 2024-07-07 12:23:07 +02:00
cecio
f6de47e149 bump to release 0.18.1 2024-05-19 22:23:59 +02:00
cecio
4d730aecdb Update README.md 2024-05-05 22:25:51 +02:00
cecio
44e98ad924 Update README.md 2024-05-05 22:18:23 +02:00
cecio
7d218c974d commented PIWATCH define for default compilation 2024-05-05 11:54:09 +02:00
11 changed files with 33 additions and 13 deletions

View File

@@ -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.

View File

@@ -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]

View File

@@ -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.

Before

Width:  |  Height:  |  Size: 2.0 MiB

After

Width:  |  Height:  |  Size: 408 KiB

BIN
pictures/USB_pipe_using.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 745 KiB