sc7-nametag-firmware/README.md

1.9 KiB

Nametag FW for SC7 VectorScope Badge

This code implements a wobbling earth. I stole it from true.

Install PlatformIO to build this firmware.

Edit main.cpp to set your number of pictures.

Prepping the photos

Add photos to /data at 240x240. use the following commands and script with ffmpeg and imagemagick to prep the photos.

    # Source and destination directories
    src_dir="output"
    dest_dir="ioutput"
    #!/bin/bash
    mkdir src_dir
    mkdir dest_dir

    ffmpeg -i source_video.avi -vf ./output/out%d.jpg

    # Create the destination directory if it doesn't exist
    mkdir -p $dest_dir

    # Loop over all JPG files in the source directory
    i=0
    cur_count=0
    for file in $src_dir/*.jpg; do
        #if (( i % 3 == 0 )); then
        
            ((cur_count++))
            # Construct the destination file name with padding
            dest_file="$dest_dir/out$(printf "%05d" $cur_count).jpg"
            # Change the image size and quality and save it to the destination directory
            # Be careful with size, you WILL need to compile a filesystem to conain your images which will tell you if you're too big
            # Should stay below 1MB
            convert $file -quality 50 -resize 240x240 $dest_file
        #fi
        #((i++))
    done

Prepping the PIO

  • Copy the images from your above code output to the data directory of this repository
  • In VSCode PIO open the PIO tab and select the BUILD options
    • Rename your last photo with all 0's because i'm lazy and am not writing a function to automate fetching the list right now
    • Build the filesystem. If it doesn't error, cool, your photos will fit!
    • Edit main.cpp with the correct number of photos
    • Upload the filesystem using PlatformIO
    • Upload the code to your badge
    • Make sure the sensors are connected to SCL and SDA on pin 26 and 27