You are browsing as a guest. Sign up (or log in) to start making projects!

44m 49s logged

PocketVault Devlog #3 – Firmware Foundation & Repository Setup

Today I shifted focus from hardware design to software development and project organization.

With the PCB design complete and enclosure designs in progress, it was time to start building the firmware that will power PocketVault.

Firmware Project Setup

I created the initial PlatformIO project for PocketVault using VS Code.

The project is configured for the RP2040 platform and will eventually support:

  • OLED user interface
  • Rotary encoder navigation
  • USB HID password typing
  • Master PIN protection
  • Offline password storage

The firmware architecture is kept simple to make future development easier.

Project Structure

To keep the code organized from the beginning, I created separate configuration files for different parts of the project.
Current structure:

PocketVault/
 |── include/
 |      ├── config.h│   
 |      ├── vault.h   
 |      └── settings.h
 |── src/
 |      └── main.cpp
 |── platformio.ini
 |── README.md

File Responsibilities

  • config.h → Hardware configuration and firmware settings
  • vault.h → Password entry definitions
  • settings.h → Future settings menu definitions
  • main.cpp → Core application logic

GitHub Repository

I prepared the repository for public development by:

  • Creating a README
  • Adding a proper .gitignore
  • Organizing project files* Preparing documentation
    The goal is to make it easy for anyone to clone the project and build it using PlatformIO.

Documentation

I also created:

  • README.md
  • BOM.md
  • Wiring.md

These documents cover:

  • Project overview
  • Bill of Materials
  • Wiring information
  • Build instructions
  • Future roadmap

Challenges

One issue encountered was PlatformIO board support.

The Seeed Studio XIAO RP2040 board definition was unavailable in the current PlatformIO installation, so development is temporarily targeting the Raspberry Pi Pico board definition since both use the RP2040 microcontroller.

This allows firmware development to continue while maintaining compatibility with the final hardware.


0
1

Comments 0

No comments yet. Be the first!