npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

create-pico-app

v1.1.3

Published

Scaffold a modern CMake/C++ project for the Raspberry Pi Pico

Downloads

953

Readme

create-pico-app ⚡

A lightning-fast CLI tool to scaffold FreeRTOS and C/C++ projects for the Raspberry Pi Pico and Pico W.

It handles the complex CMake configuration, sets up VS Code IntelliSense automatically, and provides build/flash scripts so you can start coding immediately.

npm version license

Features

  • 🚀 Zero Config: Generates a ready-to-build CMake project.
  • 🧠 IntelliSense: Pre-configured .vscode folder (no more red squiggles!).
  • 📶 Pico W Support: Handles the specific linking for the wireless board.
  • 📦 Local SDK: Option to download a local copy of the SDK for maximum portability.
  • 🛠 Build Scripts: Includes npm run build and npm run flash for cross-platform ease.
  • ☁️ GitHub Actions CI: Automatically generates a workflow to compile your project on every push.
  • ⏱️ FreeRTOS Ready: Choose between a basic "Super Loop" or a fully configured FreeRTOS kernel (SMP/Dual-Core enabled) out of the box.

Quick Start

You don't need to install anything globally. Just use npx:

npx create-pico-app my-robot

Follow the prompts to select your board (Pico or Pico W) and project name.

Project Templates

When you run the tool, you will be asked to select a template:

1. Basic (Blinky)

  • Best for: Simple projects, sensors, and learning the basics.
  • Structure: A standard main.cpp with a while(true) loop.
  • Libraries: Links pico_stdlib.

2. FreeRTOS (Multi-tasking)

  • Best for: Robotics, IoT, and complex applications needing multiple tasks.
  • Structure: * Pre-configured FreeRTOSConfig.h (optimized for RP2040 Dual Core).
    • main.cpp with two example tasks (Blink and Logger).
    • CMake setup using the "Manual Source" method for maximum compatibility.

Prerequisites

While this tool creates the project structure, you need the build tools installed on your system to compile the code.

1. CMake & Build Tools

  • Windows: Install CMake and Ninja (or Make).
  • Mac: brew install cmake
  • Linux: sudo apt install cmake build-essential

2. ARM GCC Compiler

You need the arm-none-eabi-gcc toolchain.

  • Windows: Install the Arm GNU Toolchain.
  • Mac: brew install --cask gcc-arm-embedded
  • Linux: sudo apt install gcc-arm-none-eabi libnewlib-arm-none-eabi

Usage

Once you have scaffolded your project:

cd my-robot

Build the Project

Compiles the C++ code into a .uf2 file.

npm run build

Flash to Pico

Connect your Pico while holding the BOOTSEL button, then run:

npm run flash

(This script auto-detects the mounted Pico on Windows, macOS, and Linux and copies the firmware).

Continuous Integration (CI)

A .github/workflows/build.yml file is automatically generated.

  1. Push your project to a new GitHub repository.
  2. Go to the Actions tab on GitHub.
  3. You will see a Build workflow running automatically. This ensures your code always compiles, even if you are away from your main computer.

License

MIT