[MTCB Android Head Units Q&A] darkspr1te:
I saw this thread while doing some updated research and I thought I might be able to shed light on a few questions raised here.

First lets start with the Headunits as a whole, There are two main types in relation to OBD (not just canbus but K-line/ KL-line) , those two differ by one having all OBD related circuity internal and often needs the full vehicle hardness connected to even boot/power on. The second often has CAN-rx CAN-tx on a seperate connecter bunched with other option like extra usb, forward cam etc, these CAN-rx/tx pins are often only 3.v3 and are used to connect the radios internal MCU (often a stm32) to a external MCU that will handle the protocol conversion of car OBD to headunit serial protocol.

Now onto why there are different CANBOX units as well as protocols in the radio,

It's mainly a cost item, if you include those same electronics inside the radio the cost goes up a lot not only for the electronics but also software/support so a basic protocol was produced and the boxes put external as extras, as far as i can see this was raise initially and clones of their box soon arrived, now the intial problem was original protocol only supported so many OBD PID's and in a certain way but from 2000 the OBD section of cars was a sh1show of standards (US/california/canada/Euro/UK/Japan/Korea) all producing the same cars but differing OBD specs for localization , this ment a box for 2005 ford US would not work in 2005 EU model , so different manufactures came up with their own protocol updates and had apk's to match which radio makers picked up on , reversed it and added to the official android apk.

So you see in a lot of listings that certain brands of CANBOS are aimed at certain markets eg. US/EU and others are just complete clones with no clue aimed world wide, " it's a canbox boss, you need one, it will work, i ship from china" where it's cheaper to keep the wrong unit than ship back sometimes.

Now onto why I'am here,

I have taken custom firmware for a volva/vw canbox (sources here https://github.com/smartgauges/canbox ) and ported it to more boards and canbus chips.

The main key to this is the addition of "programming mode" where you can sniff your canbus for the codes need to say show door open, lights on, radar. There is a learning function in some h/u software which i will try and support in future too.

so far i have it working on 2066 JDM rav4, 2000 Hilux Africa model, JDM honda crv, EU ford focus from one box and code base.

Sadly it's not all roses, in the headunit there are cars/models supported and not all are equal, some RZ/toyota boxes dont support the full range codes so when you select that model in the headunit you will still not see the higher functions, so the work around is choose another vehicle like VW/Raise which supports full dash integration (ac, blower, doors, lights, seatbelts etc) , and then tell the canbox to use VW/Raise between CANBOX head unit but use Toyota/CAN between car and CANBOX, thus supporting all the functions in the Raise protocol but on a different vehicle.

I will post the source soon, for now you can play with smartguages original port if you have the hardware.

darkspr1te