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

pico-probe-programmer

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.

pcb of the pico probe programmer

A quick order ordering

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.

What software is needed?

The software found in the submodules. I also added the pico-sdk to it, for code compatibility.

cd pico-probe-programmer/
git submodule update --init 

Then go to the folder pico-probe, run the commands:

mkdir build/
cd build/
cmake ..

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.

Design choice

I like to use the Pogo style adapter. 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. 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.

Schematic of the PCB

List of values, soon to be added to the schematics

  • C1: 1UF
  • C2: 100nF
  • C3: 10nF
  • C4: 4.7uF
  • C5: 100nF
  • R1: 10K
  • R2: 100
  • d1,2,3: BAT60JFILM
  • 2.54mm male headers 02x05
  • A1: PIM558 - Tiny 2040
  • U1: LD3985M33R

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.

Layout

Layout of the PCB

Similar Resources

Identify I2C devices from a database of the most popular I2C sensors and other devices

I2C Detective Identify I2C devices from a database of the most popular I2C sensors and other devices. For more information see http://www.technoblogy.

Nov 29, 2022

Open source PCB for arcade sticks using Raspberry Pi Pico.

Open source PCB for arcade sticks using Raspberry Pi Pico.

Pico Fighting Board Open source PCB for arcade sticks using Raspberry Pi Pico. Introduction They say imitation is the highest form of flattery. If tha

Dec 30, 2022

Some hypervisor research notes. There is also a useful exploit template that you can use to verify / falsify any assumptions you may make while auditing code, and for exploit development.

Introduction Over the past few weeks, I've been doing some hypervisor research here and there, with most of my focus being on PCI device emulation cod

Nov 18, 2022

ESP32 software USB host through general IO pins. We can connect up to 4 USB-LS HID (keyboard mouse joystick) devices simultaneously.

esp32_usb_soft_host esp32 USB-LS pure software host thru general IO pins. Up to 4 HID devices simultaneously. board ~$3 :https://www.aliexpress.com/pr

Jan 1, 2023

ESP8266 software USB host through general IO pins. We can connect up to 2 USB-LS HID (keyboard mouse joystick) devices simultaneously.

ESP8266 software USB host through general IO pins. We can connect up to 2 USB-LS HID (keyboard mouse joystick) devices simultaneously.

esp8266_usb_soft_host Test for esp8266 usb host . Works with ESP-IDF v3.4 80MHz and 160MHz. WorkInProgress Test run with mouse & combined mouse & keyb

Sep 1, 2022

General purpose power controller, capable of driving soldering irons using different voltages and probe types.

General purpose power controller, capable of driving soldering irons using different voltages and probe types.

All-purpose Power Micro Controller This general purpose power micro controller features: Wheatstone Bridge front-end New Texas Instruments INA823 inst

Dec 3, 2022

🎩 An interpreted general-purpose scripting language 🔨

Dunamis Version 0.0.0.2 - Alpha Version 1.1 An interpreted general-purpose programming language Contents Syntax Functions Variables Objects Enums Incl

Dec 21, 2021

An FPGA accelerator for general-purpose Sparse-Matrix Dense-Matrix Multiplication (SpMM).

Sextans Sextans is an accelerator for general-purpose Sparse-Matrix Dense-Matrix Multiplication (SpMM). One exciting feature is that we only need to p

Dec 29, 2022

Appscope - General-Purpose Observable Application Telemetry System

AppScope AppScope is an open source, runtime-agnostic instrumentation utility for any Linux command or application. It helps users explore, understand

Dec 22, 2022
Comments
  • how to change swd pins

    how to change swd pins

    picoprobe's swd 2 and 3 io pins, but I want these pins 6 and 7, is it possible? Also, when compiling it myself, if the utf size is 76kb, where am I going wrong with 50kb? wrong

  • Add kitspace.yaml

    Add kitspace.yaml

    Hi, this adds a file that allows us to create a kitspace.org page for your project. Kitspace tries to make it easier for people to build OSHW electronics projects. Here is a preview of what the page will look like: http://try-pico-probe.preview.kitspace.org/boards/github.com/kitspace-forks/pico-probe-programmer/

    Some things to note:

    • If you merge this, the Kitspace page will be created under your name and it will keep staying in sync with your repo automatically (re-syncs every 3 hours or so)
    • The Gerbers offered on Kitspace are currently auto plotted from the .kicad_pcb file. If you'd rather use the Gerbers you have in the repo you can add gerbers: pcb-readyto-order into the yaml.
    • The BOM is also currently generated from the .kicad_pcb and doesn't have any "purchasable parts" (distributor SKUs). You can change the bom: field to point to something else in the future (.xlsx, .ods, .csv etc.). We also have an editor, called the BOM Builder, that helps you select purchasable parts, I can give you free access if you are interested.
An open-source general-purpose programming language
An open-source general-purpose programming language

An open source general purpose high-level programming language! [OO-N-YUH] This language is gonna onya other languages Vs Code Extention Language Supp

Aug 9, 2021
This Program Enables And Disables Hyper-V Hypervisor So You Can Use Other Virtualisation Tools Such As (VMware, VirtualBox) Simultaneously.

Hyper-V-Switch This Program Enables And Disables Hyper-V Hypervisor So You Can Use Other Virtualisation Tools Such As (VMware, VirtualBox) Simultaneou

Nov 10, 2022
Digital rain animation gif with glow squeezed into a raspberry pi pico and pimoroni pico-display
Digital rain animation gif with glow squeezed into a raspberry pi pico and pimoroni pico-display

pico-display-matrix Digital rain animation gif with glow squeezed into a raspberry pi pico and pimoroni pico-display or how to actually use all Flash

Sep 10, 2022
Enable LoRaWAN communications on your Raspberry Pi Pico or any RP2040 based board. 📡

pico-lorawan Enable LoRaWAN communications on your Raspberry Pi Pico or any RP2040 based board using a Semtech SX1276 radio module. Based on the Semte

Dec 30, 2022
Capture audio from a microphone on your Raspberry Pi Pico or any RP2040 based board. 🎤

pico-microphone Capture audio from a microphone on your Raspberry Pi Pico or any RP2040 based board. ?? Hardware RP2040 board Raspberry Pi Pico Microp

Dec 27, 2022
Tetris on a Raspberry Pi Pico mounted on a Pimoroni Pico Explorer

PicoTetris Classic Tetris game running on a Raspberry Pi Pico microcontroller. Pico C port by Richard Birkby Original JavaScript implementation - Jake

Dec 3, 2022
Breakout game for Raspberry Pi Pico with Pimoroni Pico Display pack
Breakout game for Raspberry Pi Pico with Pimoroni Pico Display pack

breakout_rpi_pico Breakout game for Raspberry Pi Pico with Pimoroni Pico Display pack Prebuilt binary (breakout.uf2) is here. To build your own binary

Oct 15, 2022
Pico-uart-bridge - Raspberry Pi Pico UART-USB bridge

Raspberry Pi Pico USB-UART Bridge This program bridges the Raspberry Pi Pico HW UARTs to two independent USB CDC serial devices in order to behave lik

Dec 23, 2022
Now I shall sing the second kingdom there where the soul of man is cleansed, made worthy to ascend to Heaven.

Inferno® is a distributed operating system, originally developed at Bell Labs, but now developed and maintained by Vita Nuova® as Free Software. Appli

Jul 26, 2022
Prueba del Raspberry PI PICO con un display Raspberry PI TFT 3.5"

Raspberry-PI-PICO-display-RPI35 Prueba del Raspberry PI PICO con un display Raspberry PI TFT 3.5" Con ayuda de la libreria https://github.com/khoih-pr

Nov 10, 2021