techmannih/museview

A 50×35 mm USB‑C 5 V camera board combining an ESP32‑S3 module, M0031 parallel camera connector, buck/LDO power rails, USB/ESD protection, controls, status LED, and passives.

Version
0.1.18
License
unset
Stars
1

.github/workflows/checks.yml

name: Circuit checks
on:
  push:
  pull_request:
permissions:
  contents: read
jobs:
  verify:
    runs-on: ubuntu-latest
    timeout-minutes: 30
    steps:
      - uses: actions/checkout@v4
      - uses: oven-sh/setup-bun@v2
        with:
          bun-version: 1.3.14
      - run: bun install --frozen-lockfile
      - uses: actions/setup-python@v5
        with:
          python-version: "3.11"
      - run: python -m pip install -r routing/requirements.txt
      - run: bun run regenerate:routing
        env:
          PYTHON: python
      - run: git diff --exit-code -- pcb-routes.json
      - run: bun run verify
      - run: bun run snapshot
      - run: bun run export:assembly && bun run render:sheets
      - uses: actions/upload-artifact@v4
        if: always()
        with:
          name: circuit-checks-and-output
          path: |
            dist/
            checks/
            release/
          retention-days: 14
  firmware:
    runs-on: ubuntu-latest
    timeout-minutes: 25
    steps:
      - uses: actions/checkout@v4
      - uses: espressif/esp-idf-ci-action@v1
        with:
          esp_idf_version: v5.4.2
          target: esp32s3
          path: firmware
          command: idf.py build
      - uses: actions/upload-artifact@v4
        with:
          name: museview-esp32s3-firmware
          path: |
            firmware/build/*.bin
            firmware/build/bootloader/bootloader.bin
            firmware/build/partition_table/partition-table.bin
            firmware/build/flasher_args.json
            firmware/build/flash_args
          retention-days: 30