Is Khadas VIM3 the solution for Android Car PC?

I have been along a long bumpy road with a dream of turning a SBC into a personalised CarPC running android.

Yes there are lots of Android head units out there, they work well for modern cars with double-din (double height) car radios… But for me the interest is in putting modern comforts (hands free calling, satnav with traffic updates, and streaming bluetooth music to a classic car stereo, with a small 4.3inch screen hidden in the dashboard, near the eyeline so everything looks standard as possible. So off the peg, does not work for me.

My journey so far has been a long one of investing in an OdroidC4, along with USB bluetooth and GPS dongle and waveshare dpi 4.3inch screen with android… Only to eventually figure out during my learning curve that bluetooth Headset profile and handsfree profile need the Bluetooth controller to be onboard, not via USB for security reasons within the kernel (or so I believe)… A great active community with Odroid, but that can’t fix the hardware not having onboard bluetooth…

So the Odroid went into a box and my targets focussed on an Asus tinkerboard… Bluetooth onboard and android… Looked like a winner…

No, although I could get Android on the Tinkerboard to talk to my phone, with both thinking that it was connecting for internet tethering, contacts and headset-profile, no audio from the Tinkerboard Mic to the call through the phone, and no audio from the phone through the tinkerboard audio out… Bluetooth music streaming ok though…

I bumped against this fault over and over again, until eventually, the compiler of one of the Tinkerboard android versions told me he thought the problem was that it needed building as a “phone” rather than as a “tablet” and the problem was both my phone, and the tinkerboard were both thinking “the other” was the headset for itself… Which also made me think that the SBC needs to be neither phone or tablet, but Android-Automotive (not android-auto) as a build type… Maybe…

So my fork in my quest now is… Is there an SBC which has an android build where Handsfree Protocol or headset protocol works? or I need to learn how to build my own fork of a kernel that supports it. or maybe I am just fooling myself.

So obi ben khadas, you are my only hope!

Before I buy a Khadas to add to my growing SBC collection (I did not mention I have a RPI3B and RPI4B that were tried along the way)… do you mind me asking some questions?

Those that know Android inside and out on this SBC, is the current or near future build of the VIM3 Android likely to work with Bluetooth HFP or HSP as the headset, not the call origin?

If not, how possible would it be, for someone who used to program low level 8 bit software 30 years ago (Commodore 64 games in particular), with serious determination, willing to beat their head against a wall until it works, to get their head around AOSP with the VIM3, learn how to compile a kernel, and be able to customise it to do what I need? :smiley:

From where I am standing, customising a build looks like an extremely steep learning curve… But previous experience with this kind of thing has usually been a case of “Wow, this is a mountain, I don’t get it and I am not sure I ever will!!!”, which can go on for hours, days, weeks, but then “Click”, everything suddenly makes sense, and it is mastered (to an extent)

What is others here experience of this? How many of you are customising the Kernel for VIM3? Are the bare bones of it even available yet in AOSP or elsewhere?

Ahhh… too many questions I know… But some of you might have some answers:? Maybe? Anyone?

So tempted to Buy a VIM3 and dive in… But the last year has a tower of unused SBC’s in my mad scientists lab, and I am even trying to find mad projects that they will be useful for, even if one is a signboard to say “Stop buying single board computers you fool!”

:smiley:

1 Like

So far I am convinced the VIM3 is the best hardware possible for my application on a motorcycle.
However I have been held back for one reason or another for many months.
Mostly due to Android images that feel… incomplete.

The new AOSP for Andy 11 and other support coming down the pipe ‘feels’ like things will come together soon tho.

This is because the stock images that khadas provides, is as bare minimum as possible allowing for you to add stuff as per your need (remember android is super modifyable), where as other OEMs bake in a lot of stuff like extra features, extra bloatware, custom locked bootloader etc.

this lacklustre is mostly to be filled by community android enthusiasts, but we don’t really have much of those :frowning:

Hello! just enter in a search query on the forum, and you will find some good solutions for yourself! :slightly_smiling_face:

yes, I get that they are bare minimum, but they seem to be missing some of the core as well.
When I try to add a google component like the google assistant I cannot give it app permissions as the core component needed is missing.

that is to be expected with the current android build :confused:
but AOSP is a new hope to that, as AOSP builds are uniform and hopefully it is better suited to your application, hope your problem gets solved with the update. don’t lose hope

stay safe & have a good day

1 Like

Yes, I have high hopes for the AOSP builds!

1 Like

On the basis of being supported in the AOSP as a reference board, and in the hope that Khadas are taking the opportunities of AOSP seriously and will be involved in making sure all the binaries and sources are available to build a kernel on these boards, I have purchased a full fat VIM3 to work on… It came last week.

Then I thought I had better get a heat sink and fan on it before I start working on it… So ordered those on friday and they were delivered today…

Then looking at the board, I realised the MIPI DSI connector is not the same type as the RPi or Tinkerboard, which I have screens for, so then I ordered the official Khadas screen… And this also came today, well done Amazon.co.uk

All looks very sexy.

Shame the screen does not have stand-offs bonded onto it for mounting the VIM3 directly onto it, seems it needs a case.

I will start looking if there are 3D Cad files somewhere so I can make a basic chassis for development, do not want to buy a case as I will be wanting to get at the electronics during my tinkering for this project.

Also need to get a dedicated Linux machine for playing with android builds and experimenting.

JustSumDad… I also think I may have an idea why you have been having problems with Bluetooth with HSP or HFP on SBC’s like the Khadas using generic off the peg builds.

I might be wrong, but over the weekend I was looking into ESP32S boards out of curiousity, and one video seemed to confirm something I was suspicious about with the problems I had experienced with the Asus Tinkerboard (audio fine for music streaming from phone, but no audio from the SBC mic or headphones during bluetooth telephone (HFP or HSP) calls.

It seems that HFP and HSP can be run as a client or a server, so I suspect all the android builds for SBC’s tend to assume the SBC will be used as one or the other, and unless it is specified in the build, the piping of the audio may be expected in the wrong direction.

Your one might be more complicated, as I guess you want your headset to communicate with the SBC for the SBC to run android/google assistant with bluetooth, but the phone supplying internet connectivity via bluetooth tethering (or USB tethering I guess) but then also the phone to be able to be the target for calls to be piped through, as well as audio going to and from your headset via bluetooth, through the SBC and then to the phone via bluetooth, so 3 devices using bluetooth, with the SBC being the hub of it all.

So if I am right about bluetooth HSP and HFP needing one device to be the server, and another to be the client, somehow you would need all the devices to be the right thing… Most importantly, probably the SBC being set to the right kind of device in the build.

Someone else might be able to chime in with much more knowledge of the nuts and bolts of the process and what happens within the kernel build to make all this work.

I am kind of resigned to a steep learning curve ahead of me to get mine working how I want which may be a little simpler than your project, as my bluetooth connection needs to only be between the phone (internet access, audio/music streaming, call audio) and the SBC (Physical audio out to an amp, and a physical microphone into the SBC)

If I learn anything along the way which may suggest a solution for you, I will let you know.

All the best
Jon

1 Like

OK, I buckled… Could not resist the “buy button” and have ordered the KAP Case from Amazon.co.uk, which should be here on wednesday.

It should be fine for a chassis during development, even though I will be 3D printing my own project case once it gets to the stage of being used in a car.

2 Likes

So the kap case on amazon is for the khados Edge, not the vim3. I should have scrutinised the amazon listing more closely.

But with some hand fisted techniques the case has been fashioned into something that serves my purpose of holding the 5 inch screen and giving me access to the main board.

Looking forward to having a play with the existing android builds and then building a dedicated android compiling machine ready to hit that learning curve sometime soon when I have a moment.

:grin:

3 Likes

unexpectedly I forgot that you were mentioning a VIM3 and you said you bought a kap case… :sweat_smile:
do you have some pictures of your “creation” ? :upside_down_face:

The error was all mine.

I noticed a thread in here with photos of them developing a Kap case, I assumed it was for the VIM3, checked Amazon for “Khadas Kap Case”, found it, realised it was less money than a Pizza, hit the buy it button and here I am! lol

Creation is a good word for what I have done… A little like saying “Frankenstein’s creation” … But it is doing what I need. It protects the screen and board from moving around on the bench and potentially coming into contact with something conductive, or even just destroying the screen ribbon, but also keeping the screen at a useable angle, while also allowing the VIM3 to be quickly removed and inserted for dealing with upgrades and playing with the GPIO.

The amazing modification works for what I need, which just involved using some plyers to break out the front case panel, then using a razor blade to go between the remaining fragments of the front panel where it was bonded to separate them.

Not pretty, but this case will only be used for bench testing, once I have the prototype carpc working on the bench to my satisfaction, I will be designing an enclosure/faceplate to work in the car and 3D printing it.

4 Likes

That it is, none the less :slightly_smiling_face:
but atleast it didn’t go to waste, that’s good

hello, I would like to know how your project is progressing, since it seems to me, too, I would also like the speakerphone to work, but so far I have not figured out how to organize it




I have been working off an on to a carpc adaptation to a motorcycle for about 2 years now.
I have tried VIM3 pro and Edge-V pro and maybe a dozen flavors of Android and never got it working the way I wanted.
My main drawback is bluetooth audio (specifically the microphone pick up to application) so that may not be an issue for you.

When useing a bluetooth audio system from a helmet, the headset and hands free protocols dont work with every application.

Other than this, they are very nice, and fast!!!

Hello Could you explain in more detail how to do this

you mean software? I just loaded the android image and then installed either AGAMA Car launcher or
Car Launcher Pro
Either launcher works well then just customize as you like.

hello, I am interested in how to make speakerphone in Khadas, I need to make a connection with the phone

The Bluetooth of VIM3 is the a2dp-source mode by default. You need to change the mode of bluetooth to a2dp-sink.
Are you a developer? Can you build the android ROM by yourself?

How change mode to a2dp-sink?