Skip to content

Resurrecting a 1950s Silvertone TV as an internet streamer, this project explores the 'features' of analog television's past by recreating classic CRT visual quirks with fresh analog hardware and modern digital software.

License

Notifications You must be signed in to change notification settings

mcintyrehh/stream-o-vision

Repository files navigation

stream-o-vision

CircuitPython Development/Tooling

The best way I've found to develop in VSCode is to use the CircuitPython v2 extension. You can connect to a serial port with the 'CircuitPython: Open Serial Monitor' command and selecting the appropriate port. This will open a terminal window in VSCode that will display the serial output from the microcontroller, and automatically refresh on save.

If you'd developing on Linux and you'd like to work in a local version controlled directory, you can use the ./sync.sh script to sync the contents of ./microcontroller with the mounted CircuitPython drive. In order to use this script you will need inotify-tools installed. You can install it with the following command:

sudo apt-get install inotify-tools

Usage (assuming you've run chmod +x sync.sh):

./sync.sh [optional path to CIRCUITPY]

The script will take an optional argument to specify the path to the mounted CircuitPython drive. If no argument is provided, the script will default to /media/$USER/CIRCUITPY.

With this script running, you can develop directly from the mounted CircuitPython drive, and the script will automatically sync the changes to the local directory, where they can be version controlled.

Docs

TODOs/Brainstorming

  • update scanlines count to match NTSC 525 spec

    • note: only show 486 scanlines that make up the visible raster
  • on a random interval trigger a vertical sync issue that causes the image to roll vertically

    • smacking the top right of the screen will trigger a vibration sensor switch that will "fix" the problem
  • add hall effect sensors along the perimeter of the screen that will trigger screen distortion when a magnet is placed near them

  • when I redo the wiring, these are the pins I should use:

                * RST           *
                * 3.3V        |-*
                * 3.3V     LiPo *
                * GND         |-*
        channel * A0        Bat *
         volume * A1         En *
       vignette * A2        USB * (+5V for fan)
                * A3        D13 *
      grayscale * D24       D12 *
      scanlines * D25       D11 *
  hor/vert hold * SCK       D10 *
 smell-o-vision * MO         D9 *
     vib-sensor * MI         D6 *
                * RX         D5 *
                * TX        SCL *
                * D4        SDA *

About

Resurrecting a 1950s Silvertone TV as an internet streamer, this project explores the 'features' of analog television's past by recreating classic CRT visual quirks with fresh analog hardware and modern digital software.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published