Raspberry Pi and other SBCs can emulate a USB drive, so can act as a drive for your Tesla to write dashcam footage to. Because the SBC has full access to the emulated drive, it can:
- automatically copy the recordings to an archive server when you get home
- hold both dashcam recordings and music files
- automatically repair filesystem corruption produced by the Tesla's current failure to properly dismount the USB drives before cutting power to the USB ports
- serve up a web UI to view or download the recordings
- retain more than one hour of RecentClips (assuming large enough storage)
This video (not mine) has a nice overview of teslausb and how to install it:
If you are interested in having more detailed information about how TeslaUsb works, have a look into the wiki.
- You park in range of your wireless network.
- Your wireless network is configured with WPA2 PSK access.
Required:
- A Raspberry Pi or other SBC that supports USB OTG.
- A Micro SD card, at least 64 GB in size, and an adapter (if necessary) to connect the card to your computer.
- Cable(s) to connect the SBC to the Tesla (USB A/Micro B cable for the Pi Zero, USB A/C cable for the Pi 4 and 5, other SBCs vary)
Optional:
- A case and/or cooler for the SBC. For the Raspberry Pi 4 I like the "armor case" (available with or without fans), which appears to do a good job of protecting the Pi while keeping it cool.
- USB Splitter if you don't want to lose a front USB port. The Onvian Splitter has been reported working by multiple people on reddit. Some SBCs require separate power and data connection, so may require a splitter or a USB hub to connect to the car.
To install teslausb on a Raspberry Pi, it is recommended to use the prebuilt image and one step setup instructions. For other SBCs, start here
You're welcome to contribute to this repo by submitting pull requests and creating issues. For pull requests, please split complex changes into multiple pull requests when feasible, and follow the existing code style.
This repo contains steps and scripts originally from this thread on Reddit
Many people in that thread suggested that the scripts be hosted on GitHub but the author didn't seem interested in making that happen, so GitHub user "cimryan" hosted the scripts on GitHub with the Reddit user's permission.