---
title: "pico (vkottler)"
url: "https://maker.wiznet.io/matthew/projects/pico-vkottler/"
markdown_url: "https://maker.wiznet.io/matthew/projects/pico-vkottler/md"
type: "UCC: User Created Content"
author: "Vaughn Kottler"
author_url: "https://github.com/vkottler/pico"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "Vaughn Kottler"
original_url: "https://github.com/vkottler/pico"
published: "2023-11-01"
language: "en"
hardware: ["Raspberry Pi Pico", "WIZnet Ethernet HAT"]
likes: 0
views: 281
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# pico (vkottler)

> A firmware project for Raspberry Pi microcontrollers.

Original author: Vaughn Kottler (source: https://github.com/vkottler/pico)

## Components

- **Raspberry Pi Pico** x 1 ([docs](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html))
- **WIZnet Ethernet HAT** x 1: w5500

## Documents and links

- [Github Source](https://github.com/vkottler/pico) (code)

## Article

## [pico (](https://github.com/vkottler/pico#pico-030)[0.3.0](https://github.com/vkottler/pico/releases/tag/0.3.0))

![codecov](https://codecov.io/gh/vkottler/pico/branch/master/graph/badge.svg) [![Build Status](https://github.com/vkottler/pico/actions/workflows/yambs-project.yml/badge.svg)](https://github.com/vkottler/pico/actions/workflows/yambs-project.yml/badge.svg)

*A firmware project for Raspberry Pi microcontrollers.*

### [Documentation](https://github.com/vkottler/pico#documentation)

#### [Generated](https://github.com/vkottler/pico#generated)

- By sphinx+breathe+exhale (What's sphinx / breathe / exhale?)

### [Workflow](https://github.com/vkottler/pico#workflow)

Install [vmklib](https://github.com/vkottler/vmklib) such that you can `mk --version` (a `pip install vmklib` to your desired Python environment is all that's needed).

From a fresh checkout:

```plaintext
git submodule update --init
mk dz-sync
mk download-toolchains
mk g
```

This should result in fully compiled code that you can now use or add to.

#### [Generating Interfaces](https://github.com/vkottler/pico#generating-interfaces)

Structs and enumerations can be defined for [ifgen](https://github.com/vkottler/ifgen) which can then generate C++ source code into the project.

Generating configurations based on an [SVD](https://github.com/vkottler/ifgen/tree/master/ifgen/data/svd) file:

```plaintext
mk ifgen-svd-XMC4700
```

Generating code from an `ifgen.yaml` in the root directory of the project:

```plaintext
mk ifgen
```

---

Source: https://maker.wiznet.io/matthew/projects/pico-vkottler/
