Skip to content

Hardware

marcone edited this page Feb 7, 2024 · 7 revisions

Hardware options

In theory any SBC that supports USB OTG and runs linux with at least kernel 4.19 should support TeslaUSB, but not all of them are suitable for use in the car due to size, software support or power requirements, and only a few have been tested.

Raspberry Pi

TeslaUSB was originally written for the Raspbery Pi Zero W, and Raspberry Pi devices are still the easiest way to get TeslaUSB up and running using the prebuilt image. The following models are known to work:

  • Raspberry Pi Zero W - the smallest and lowest-power Raspberry Pi. Only supports sd card for recording storage.
  • Raspberry Pi Zero 2 W - same form factor as the Raspberry Pi Zero W but substantially faster, especially when it comes to boot time.
  • Raspberry Pi 4B - a somewhat larger form factor that supports using external drives (e.g. SSD) for recording storage and booting.

A Raspberry Pi Compute Module with the appropriate carrier board might also work, but is untested. Other Raspberry Pi models like the Raspberry Pi 1, 2 and 3 do not support running TeslaUSB as they lack USB OTG support.

Raspberry alternatives

Raspberry Pi availability was quite poor in 2022/2023, but seems to be steadily improving in 2024. Nonetheless, there are a large numbers of Raspberry Pi-like boards based on SOCs from RockChip, Allwinner, AmLogic and others that may still have better availability than Raspberry Pi, or offer more value for money. Software support is generally quite poor. The manufacturer will usually provide images that use an older kernel that lacks features or bug fixes, while popular distributions like Armbian or Manjaro might use the latest kernel, but have missing or misconfigured drivers that make TeslaUSB unable to function. Nonetheless, the following have been somewhat tested:

  • Radxa Zero - same form factor as Raspberry Pi Zero W, but uses USB-C ports and can support external USB drives.
  • Rock Pi 4C+ - same form factor as Raspberry Pi 4B, but supports USB3 OTG which makes for a much faster emulated drive. Supports using external drives for recording storage, but not for booting.
  • Orange Pi Zero 3 - slightly larger than Raspberry Pi Zero W but smaller than Raspberry Pi 4B. Relatively fast wifi but poor USB transfer speed which may be an issue for newer cars that use higher-resolution cameras.

Which one to choose?

If you have a car without glovebox USB and don't want to use an SSD for storage, the Raspberry Pi Zero 2 W is an excellent choice if you can find one at an affordable price. It is well supported and boots fast. If you're going to hardwire the device so it is always running, the original Raspberry Pi Zero W remains a good choice. If you have a car with glovebox USB, the Rock Pi 4C+ might in theory be the best choice due to its USB3 emulation, which avoids the warning that the car shows for USB2 devices connected to the glovebox USB port, assuming you can find a properly working linux distribution for it. This feature comparison matrix might help you decide:

Name External storage Boot from external storage USB3 OTG Wifi GHz
Raspbery Pi Zero W 2.4
Raspbery Pi Zero 2 W 2.4
Raspbery Pi 4B ✔️ ✔️ 2.4 / 5.8
Radxa Zero ✔️ 2.4 / 5.8 1
Rock Pi 4C+ ✔️ ✔️ 2.4 / 5.8 Setup
Orange Pi Zero 3 ✔️ 2 2.4 / 5.8 Setup

1 only some SKUs support 5.8 GHz wifi. Check the Radxa product wiki.
2 the host mode USB port is USB2

Others

If you're considering a board not listed here, consider a few things before buying:

  • the board should support wifi and USB OTG. Some boards have multiple SKUs, so make sure the variant you're buying supports all the required and desired hardware features.
  • power requirements. Some boards require more than 5V input power, which may be hard to come by in e.g. the glovebox.
  • power use. Some boards use a lot of power, which produces heat, which may be problematic in an enclosed space in a hot car.
  • software support. Some board manufacturers only provide relatively old linux kernels for their boards. TeslaUSB needs at least kernel 4.19, and ideally a 5.19 kernel or newer. Preferably, your chosen board would be well supported by one or more of the larger linux distributions.