Skip to content

Commit 7cc8889

Browse files
committed
First version commit
1 parent 0046cd8 commit 7cc8889

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+20956
-1
lines changed

.gitmodules

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[submodule "picoprobe"]
2+
path = picoprobe
3+
url = https://github.com/raspberrypi/picoprobe.git
4+
[submodule "pico-sdk"]
5+
path = pico-sdk
6+
url = git@github.com:raspberrypi/pico-sdk.git

README.md

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,52 @@
11
# pico-probe-programmer
2-
The pico can be used to program other devices. Raspberry pi made such an effort. However there is no board yet, that is open-source and can be used with openocd as a general purpose programmer
2+
The pico can be used to program other devices. Raspberry pi made such an effort. However there is no board yet, that is open-source and can be used with openocd as a general purpose programmer.
3+
4+
5+
<img src="./docs/Muino_debugger.png" alt="pcb of the pico probe programmer" height="350" class="center"/>
6+
7+
# A quick order ordering
8+
Take a PCB maker like JLCPCB. Use the all the files from the `pcb-readyto-order/`, the Bom fils is not needed for that, but there is a list of the different type of components. The complete list needs to be updated soon. When I finally understand the BOM generation of Kicad. See tempory list below under *Design choice* chapter.
9+
10+
11+
# What software is needed?
12+
The software found in the submodules. I also added the pico-sdk to it, for code compatibility.
13+
``` bash
14+
cd pico-probe-programmer/
15+
git submodule update --init
16+
```
17+
18+
Then go to the folder `pico-probe`, run the commands:
19+
```bash
20+
mkdir build/
21+
cd build/
22+
cmake ..
23+
24+
```
25+
26+
This will generate `picoprobe.uf2`. Or use the prebuild file: `binaries/picoprobe.uf2`. I prebuild this file, so I can quickly update it to a programmer if I need it again.
27+
28+
29+
# Design choice
30+
I like to use the [Pogo style adapter](https://www.tag-connect.com/info). For work and hobby projects it saves a head to solder, and the PCB looks more cleaner. Sometimes I need a 3V3 power pin or 5V power pin so I added an extra header for it. If you are not interested in the 3V3 or want to save componentens? The schema part 3V3 supply does not need to be added to the pcb. Actually, the PIM558 and the programmer header are madetory.
31+
For custom program headers I added the possiblity to add 5V to pin 5 of the programmer header to disable power to the board that needs to be programmed. For my own custom boards I use the 5V to directLy power purposes.
32+
33+
<img src="./docs/pcb_schematic.png" alt="Schematic of the PCB" class="center"/>
34+
35+
List of values, soon to be added to the schematics
36+
* C1: 1UF
37+
* C2: 100nF
38+
* C3: 10nF
39+
* C4: 4.7uF
40+
* C5: 100nF
41+
* R1: 10K
42+
* R2: 100
43+
* d1,2,3: BAT60JFILM
44+
* 2.54mm male headers 02x05
45+
* A1: PIM558 - Tiny 2040
46+
* U1: LD3985M33R
47+
48+
In the future I want to add some extra features like read voltage of target and detection of GND. Though making it a pull-up (internally in the 2040), and read the voltage on the pin. The voltage read is what Segger-Jlinks do to detect voltage issues on target board.
49+
50+
# Layout
51+
52+
<img src="./docs/pcb_layout.png" alt="Layout of the PCB" class="center"/>

binaries/picoprobe.uf2

50 KB
Binary file not shown.

docs/Muino_debugger.png

107 KB
Loading

docs/Muino_debugger_shadow.png

477 KB
Loading

docs/pcb layout.pdf

20 KB
Binary file not shown.

docs/pcb schema.pdf

56.2 KB
Binary file not shown.

docs/pcb_layout.png

167 KB
Loading

docs/pcb_schematic.png

58 KB
Loading

pcb-kicad/Muino.dcm

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
EESchema-DOCLIB Version 2.0
2+
#
3+
#End Doc Library

0 commit comments

Comments
 (0)