Skip to content

FlowPilot: FAQ

Phr00t edited this page Nov 10, 2024 · 24 revisions

What is Flow Pilot?

It is an open-source software foundation for interfacing with hardware to provide level-2 "self driving" capabilities for cars. It is based on Open Pilot made by Comma AI. The main difference is, flowpilot is designed to work with general Android phones instead of specific Comma AI hardware. Flowpilot development has come in waves and there are a few different ways of "getting into it". It isn't very "consumer friendly" yet, but great progress is being made towards that.

What devices can run Flow Pilot?

First you need to make sure you have a device that can actually run Flow Pilot. Technically, the software may run on any Android device or Linux system. However, in practice, certain hardware works much better while others don't at all. I personally use an LG G8 phone and I have seen it running on an Xiaomi Poco F3. OnePlus 7T may also work. Make sure to get a variant that can be rooted (for example, apparently AT&T LG G8's are hard to root).

The latest "APK" method, however, may not require a rooted device. However, I'd still highly recommend rooting which allows for better customization and optimization for a dedicated self-driving device.

Why those devices? They can be rooted, run Android 11+ (I recommend and run Android 13 with Lineage OS), have an ultra-wide camera and a SnapDragon 855 (or faster) processor. Non-snapdragon devices have not been tested, and some models might not work at all that require "SNPE" acceleration (a snapdragon model running system). Fortunately, the latest "thneed" models do appear to need "SNPE".

Newer phones probably exist now that might be better options that an LG G8, but haven't been tested. It would be nice to find a phone that is easier to root and open to remove the battery, which are the biggest downsides to the LG G8.

Desktop, Linux devices are the least supported at this point, but it could theoretically work if you can get OpenCL acceleration working on it.

OK, I have a device that can work with Flow Pilot, HOW DO I GET IT?

As I said earlier, flow pilot development has come in waves, so there are a few different ways of installing it:

  1. Use the standalone APK that is trying to bring everything you need into one simple package: https://github.com/jagheterfredrik/flowpilot This is definitely the future of flow pilot and we are all grateful for jagheterfredrik to make such great progress here. This is still very new and lots of kinks are still being worked out, but I'd say it should be where most people go to try and get flow pilot working (and help jagheterfredrik test and develop). APKs can be downloaded under "Releases". This method may not require a rooted device, but having a rooted device may still be beneficial.

  2. Use my tarball method. This is what I use, and this is how I packaged it up to be distributed. This method is fine-tuned for the LG G8 and my Kona 19 EV (without smart cruise control). However, it can be modified to work with other vehicles with some Python development knowledge. I'd consider this the most tested and "mature" flow pilot system, but niche for my setup, and far messier than method #1.

  3. Use the old flowpilot installation instructions. This is the repo where it all started, so it is possible to work from here. However, it is generally abandoned, runs old models in a suboptimal way, and even more messy of an installation than both methods above. You will have to at least bypass a login screen which points to a broken server. I do not recommend this method, but you may be able to get something working, that will likely be better than stock lane assist.

What cars are compatible with Flow Pilot?

Your car needs lane assist features for Flow Pilot to work at all. I've heard VW cars can work without lane assist features... it may be more useful to ask around the Open Pilot community for their supported car list. Basically, you need one of those camera harnesses up near your rear view mirror, where the lane assist camera is. There is a plug that you will need to hook into. Also, for full support, you need "smart" or "dynamic" cruise control. It is possible to run Flow Pilot without "smart" cruise control: I do it myself! However, Open Pilot was originally designed to only work with "smart" cruise control.

What kind of additional hardware do I need for Flow Pilot?

image

You can see here, a phone configured with Flow Pilot is just 1 piece of the puzzle. The most important other part you will need is a "panda" device. You can get "panda" devices from Comma AI, Mr.One's store or other places. I recommend Mr.One's "mini-all-in-one black panda", as it includes the "harness box" and "black panda" part you'd otherwise be spending a ton for straight from Comma AI. It is what I use!

Flow Pilot Phone -> USB C "OTG" Adapter (get one that splits power and OTG data) -> Black Panda (mini-all-in-one) -> Car-specific Comma AI harness connector -> Lane Assist Camera Port (rear view camera)

You probably won't need the RJ-45 and Comma Power thing, as that is one way to provide power for your Flow Pilot device. However, the mini-all-in-one Panda can provide power from the Lane Assist Camera Port. You can also try just using the phone battery, but that runs out and can be a safety hazard in hot car dash situations.

Do you have a more detailed guide for setting up a phone?

Yes! See here: https://github.com/phr00t/flowpilot/wiki/How-to-make-an-LG-G8-Flow-Pilot-Device

This guide is designed for an LG G8, but many of the steps are essential for most phones (like setting up the software and hardware modifications for safety and reliability).

I want the latest models and it working out of the box!

Flow Pilot isn't for you, then. I'd head over to Comma AI's store or Mr.One's "clone" store to buy a more consumer-level device. A Comma AI "C3X" or its clones will get you a device that is more compatible with cars out-of-the-box and works with more versions of Open Pilot. The Comma.AI community is much larger too, so I'd say most people would be better served there.

Flow Pilot is made for tinkerers and developers who want to spend less money in exchange for skill (and frankly, time).

Can I use an external USB camera with an Android device running FlowPilot?

... maybe? I see this asked from time to time and I haven't seen it working nor has my fork been designed with USB external cameras in mind. However, it might be possible if you hook up a USB camera and it just gets added as another "Camera ID" and can be interfaced with just like an internal camera. A possible way to test that is seeing if the camera shows up on an app like Open Camera (where I think it also lists Camera IDs) easily. You will likely have to do some debugging, troubleshooting and perhaps development of your own. If you make any progress here or find out any more information, please share! Ideally, I recommend you have a phone with a good camera and modified to handle heat (e.g. battery removed), so you can just mount the whole thing on your windshield (where the display is also easy to see).

I want to help develop Flow Pilot!

Great! I previously recommended starting with my fork, but now I'd recommend working with jagheterfredrik and the APK method. Please join our Discord @ https://discord.com/invite/APJaQR9nhz and show your interest!

You will need to know Python for starters.

Clone this wiki locally