Skip to content
computerequipmentgroupPublic

About

Equip-1 is an open-source, portable DV recorder for camcorders with FireWire/i.LINK/DV output. It is built around a Radxa ROCK 2F and a custom PCIe FireWire HAT, so you can mount it near a camera, power it from USB-C, press one button, and record lossless DV footage directly to removable storage.

Resources

Stars

21 stars

Watchers

3 watching

Forks

Latest commit

 

History

86 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Equip-1 DV Recorder

Equip-1 ⚹ DV RECORDER

Equip-1 is an open-source, portable DV/HDV recorder for camcorders with FireWire/i.LINK/DV output. It is built around a Radxa ROCK 2F and a custom PCIe FireWire HAT, so you can mount it near a camera, power it from USB-C, press one button, and record tape footage directly to removable storage.

The project is for camera enthusiasts, videographers, film schools, archivists, and hardware/software contributors who want a modern, repairable path for capturing DV tapes without keeping an old laptop alive.

The Firehat is also available standalone. It works as a HAT for the ROCK 2F, Raspberry Pi 5, and other SBCs.

Website: https://www.equip-1.c-e.group/
Community: discord.gg/wpXmcb5mvK

Features

  • One-button DV/HDV capture from FireWire camcorders.
  • On-device OLED/buttons UI + web based controls.
  • Web UI controls for recording, video preview, file management and conversion settings.
  • Full-quality .mov, .dv, .avi, or native HDV .m2t recordings.
  • On-demand or automatic MP4 conversions for easy previewing and sharing.
  • Optional MP4 deinterlacing for cleaner playback from interlaced DV sources.
  • USB/SD capture storage handling, in-app updates, and HDMI preview support.

Getting started

1. Download and flash a release image

The recommended way to get started is to use a prebuilt Equip-1 image from GitHub Releases.

  1. Open the releases page: https://github.com/computerequipmentgroup/equip-1/releases
  2. Download the latest image for your hardware; Equip-1 uses the Rock 2F image.
  3. Install and open balenaEtcher.
  4. In Etcher, choose the Equip-1 image, choose your microSD card, then click Flash.
  5. When flashing is complete, eject the card, insert it into Equip-1, and power the device over USB-C.

To build and flash an image from source instead:

./src/buildroot/scripts/build.sh
./src/buildroot/scripts/flash.sh

The default runtime settings are baked into the image from:

src/buildroot/overlay/etc/equip1/equip-1.ini

On a running device, edit the live settings file at:

/etc/equip1/equip-1.ini

2. Connect to Equip-1

Default device access:

Setting Default
Wi-Fi SSID Equip-1
Wi-Fi password firesecret
Dashboard http://10.42.0.1/
API base http://10.42.0.1/api

Connect a phone or laptop to the Equip-1 Wi-Fi network, open the dashboard, attach a FireWire DV/HDV camera, and use the web UI or the device buttons to preview and record.

3. Prepare capture storage

Equip-1 records to /data/captures by default. At boot it prefers a non-root exFAT USB-A drive labelled EQUIP1; otherwise it falls back to the SD-card data partition. On a freshly flashed compressed image, first boot creates the missing SD-card recordings partition in the remaining free space, formats it as exFAT, labels it EQUIP1, and mounts it at /data.

Recommended capture storage format:

  • filesystem: exFAT
  • label: EQUIP1
  • mount point on device: /data
  • captures path: /data/captures

If automatic provisioning fails and the UI shows only rootfs-sized free space, create one exFAT partition labelled EQUIP1 in the unallocated space after the flashed image partitions. Do not modify the boot/rootfs partitions and do not create two exFAT data partitions.

4. Record and export

Completed DV recordings are written as full-quality .mov captures by default, with settings for raw .dv or .avi containers. HDV sources still record as native .m2t. MP4 sidecars can be created on demand from settings, or automatically after each recording if auto-MP4 export is enabled.

MP4 quality presets:

Setting OLED label Use
small [28] Smallest files
balanced [23] Middle ground
high [18] Close to source for most DV material
max [14] Highest quality, larger and slower

See src/docs/mp4-export.md for the full export flow.

Runtime settings

User-facing device settings live at /etc/equip1/equip-1.ini. The default file is staged from src/buildroot/overlay/etc/equip1/equip-1.ini, and matching EQUIP1_* environment variables can override INI values for development or one-off debugging.

Example:

[network]
ap_ssid = Equip-1
ap_password = firesecret

[recording]
capture_dir = /data/captures
storage_label = EQUIP1
recording_format = mov
auto_convert_mp4 = false
mp4_quality = high
mp4_deinterlace = true
auto_storage_switch = true

[hdmi]
enabled = true

[logging]
log_level = info

Docs

The full source documentation lives in src/docs/ and covers the runtime settings, capture pipeline, storage behavior, user interfaces, and Buildroot image. Start with the topic that matches what you are changing, then follow the linked references for lower-level implementation details.

Hardware

  • Radxa ROCK 2F (Rockchip RK3528A, quad-core ARM Cortex-A53, 2 GB RAM)
  • Firehat
  • MicroSD storage
  • USB-C power input, 5 V
  • HDMI output
  • Wi-Fi 6, Bluetooth 5.4
  • 2× USB 2.0 Type-A
  • 60 mm × 70 mm × 25 mm, ~100 g

Repository structure

This is an open-source hardware product repository. Editable product sources, generated manufacturing files, source code, and graphics assets are kept separate:

  • hw/ — electronics, mechanical design, manufacturing exports, and validation notes.
  • src/ — recorder daemon, OLED/web UIs, Buildroot image tooling, and development service templates.
  • gfx/ — renders, photos, product images, diagrams, screenshots, and logos.

Key source paths:

  • src/equip1d/ — FastAPI recorder daemon. Owns camera detection, dvgrab, deck control, capture storage, preview streaming, and recorder state.
  • src/uis/oled/ — 128×64 OLED/buttons frontend for on-device control.
  • src/uis/web/ — Nuxt static web dashboard for phone/laptop control over the local Equip-1 Wi-Fi AP.
  • src/buildroot/ — appliance image, kernel/boot fragments, rootfs overlay, init scripts, and flash/build tooling.
  • src/docs/ — architecture, runtime settings, Buildroot, storage, UI, and export notes.

Development

Install Python dependencies:

python -m venv .venv
. .venv/bin/activate
pip install -r src/requirements.txt

Run the daemon locally:

PYTHONPATH=src python -m equip1d.main

Design OLED screens in a browser without hardware:

PYTHONPATH=src python -m uis.oled.designer

Open http://127.0.0.1:8765. The designer renders the real src/uis/oled/screens.py drawing code to a 128×64 PNG, with screen/scenario selectors, button simulation, and editable state JSON.

Build the web dashboard:

cd src/uis/web
npm install
npm run generate

The daemon serves src/uis/web/.output/public when it exists.

Open source

Hardware is licensed under CERN OHL-S. Software is licensed under GPL. Derivatives must be released under the same licenses.

Equip-1 web UI

About

Equip-1 is an open-source, portable DV recorder for camcorders with FireWire/i.LINK/DV output. It is built around a Radxa ROCK 2F and a custom PCIe FireWire HAT, so you can mount it near a camera, power it from USB-C, press one button, and record lossless DV footage directly to removable storage.

Resources

Stars

21 stars

Watchers

3 watching

Forks

Releases

Used by

Contributors

Languages