Jump to content

[CluelessProjects] Android Auto Retrofit using BMW Controller

cluelessgenius

 

image.png.2c0a0502bdcdf664a42a943da74f06bc.png

Hey guys,

 

basically i thought i might share this here in case anybody is interested maybe some of you would like to do this yourself or maybe  youll just enjoy the trip with me.

 

So heres the basic idea:

 

i have a 2006 peugeot 307 cc.

 

the stereo sucks.

 

but it has that front display, meaning im not gonna just put in a different headunit and have that display there sitting all blacked out

Spoiler

Bildergebnis für peugeot 307 navi

 

my car also has one of these in the glove compartment - a rca(cinch) connector not just for audio but for video-in as well

Spoiler

Bildergebnis für peugeot 307 glove box

 

i guess originally it is meant for some sort of dvd-player or rearview camera since it only allows you to watch the video-in while in reverse or up to 15-20 -ish km/h as to not distract the drive while driving but lets not worry about that just yet, 

the point is i have a way to feed video into the oem stereo enabling me to use the front display instead of replacing it

 

then i stumbled upon OpenAuto an open source version of Android Auto wihch i have been using as stand alone on my phone for a while anyway so wh not integrate it.

 

it was then in my planning that finally noticed...android auto is designed to be used with a touch screen ...which i dont have...  ...fuck

 

ok how do other car manufacturers interact with the system without a touch sreen?

 

the really big one all have those knobs in the center console 

 

bmw calls it idrive

audi calls it mmi

and whatever all the others call it

 

anyway so i bought a used but working idrive controller 2nd gen on ebay kleinanzeigen (german version of craigslist) 

Spoiler

image.jpeg.f476ca0d5ad4b735032e76f7d371ca2e.jpeg

 

and found one of these to interface the bmw ibus protocol of the controller with the pi over simple usb serial data

Spoiler

V6 shipping picture

----------------------------------------------------------------------------------------------------

 so far so good. theoretically i can now feed android auto via raspberry pi into my car display and control it with the idrive like you whould in a bmw.

 

theoretically....

 

so heres the game plan:

 

1. build openauto on my pi and make some changes so its all perfectly to my liking

2. open auto already allows keyboard input to i need to map the idirve signals and simulate key strokes on the pi

3. put it all together in my living room and test it before installation in my car

4. unlock my car stereo so it allow video to be shown while driving 

5. build a semi-fake center console overlay to fit the controller in since for once i dont want to cut up the oem one but secondly even if i wanted to, the oem center tunnel is to narrow and has no room for the idrive controller

6. install it all in the car

 

 

i will post updates regularly as soon as i have them wish me luck and please feel free to tell me what you think along the way. cause i might just derp and be stupid here or there

 

"You know it'll clock down as soon as it hits 40°C, right?" - "Yeah ... but it doesnt hit 40°C ... ever  😄"

 

GPU: MSI GTX1080 Ti Aero @ 2 GHz (watercooled) CPU: Ryzen 5600X (watercooled) RAM: 32GB 3600Mhz Corsair LPX MB: Gigabyte B550i PSU: Corsair SF750 Case: Hyte Revolt 3

 

Link to comment
Share on other sites

Link to post
Share on other sites

UPDATE #1

 

successfully cloned and build the openauto project as is, on my pi 

 

had some minor issues like the first time around i messed upt setup process and started over fresh using the build script on github instead of doing it by hand

 

and i needed to it always with sudo since otherwise half the functionality doesnt work

 

so right now openauto built correctly and runs perfectly fine on the pi 

 

next thing is im gonna make some minor cosmetic changes to the code while i wait for some accessories to be shipped...

 

"You know it'll clock down as soon as it hits 40°C, right?" - "Yeah ... but it doesnt hit 40°C ... ever  😄"

 

GPU: MSI GTX1080 Ti Aero @ 2 GHz (watercooled) CPU: Ryzen 5600X (watercooled) RAM: 32GB 3600Mhz Corsair LPX MB: Gigabyte B550i PSU: Corsair SF750 Case: Hyte Revolt 3

 

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, lieder1987 said:

Good luck this will be fun.

thanks. currently im trying to figure out how key strokes are transmitted and which ones are available so i can maybe expand the functionality a bit. for example the controller has a button for navigation but openauto doesnt have a keybinding for it.

"You know it'll clock down as soon as it hits 40°C, right?" - "Yeah ... but it doesnt hit 40°C ... ever  😄"

 

GPU: MSI GTX1080 Ti Aero @ 2 GHz (watercooled) CPU: Ryzen 5600X (watercooled) RAM: 32GB 3600Mhz Corsair LPX MB: Gigabyte B550i PSU: Corsair SF750 Case: Hyte Revolt 3

 

Link to comment
Share on other sites

Link to post
Share on other sites

29 minutes ago, cluelessgenius said:

but openauto doesnt have a keybinding for it.

could you specify a mouse click at a certain coordinates?

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, lieder1987 said:

could you specify a mouse click at a certain coordinates?

wholy mother mary.....you just might have done it. im gonna check if mouse input is even active during AA. this could just work but i would have to keep track on what page AA is on or would be on. sure navigation trough bottom menu should always work as they dont change ...hmmm .

and thats why i posted this. will check later and report

"You know it'll clock down as soon as it hits 40°C, right?" - "Yeah ... but it doesnt hit 40°C ... ever  😄"

 

GPU: MSI GTX1080 Ti Aero @ 2 GHz (watercooled) CPU: Ryzen 5600X (watercooled) RAM: 32GB 3600Mhz Corsair LPX MB: Gigabyte B550i PSU: Corsair SF750 Case: Hyte Revolt 3

 

Link to comment
Share on other sites

Link to post
Share on other sites

UPDATE #2

 

soo... the usb soundcard for the mic arrived.. i will try to use the mic my car already has for the car phone but for testing i ordered the cheapest 3,5mm jack mic i could find.

 

bluetooth dongle dongle arrived

 

aluminium case for the pi arrived, i thought itd be better than having it flying loosly in my glove box.

 

no update on reading input from the controller yet.

 

...but i did figure out that open auto because its a qt project will accept mouse events as touch events. so technically if everything about the keyboard shortcut fails i could just translate the controller input to touch inputs.

normally the touch screen would read the touch and the the driver would tranlate it to a mouse event in qt. then open auto in its code translates mouse events back to touch events for android auto....soooo... if i just fake my own mouse events on the pi , open auto will also translate those to touch events for android auto. still hope i dont need to come down to this and that the keyboard shortcuts work although im having a tough time finding a list for android auto .

android provides a list of key codes and what keyboard keys they relate to but obviously that only includes normal android behaviour meaning theres only shortcuts listed for HOME, and PHONE CALL or END CALL but nothing specific to android auto like NAVIGATION.

my hope is that they have a shortcut for it but its just badly documented and its something arbitrary like 7 or * or whatever. sooo yeah thats gonna be fun to figure out...

"You know it'll clock down as soon as it hits 40°C, right?" - "Yeah ... but it doesnt hit 40°C ... ever  😄"

 

GPU: MSI GTX1080 Ti Aero @ 2 GHz (watercooled) CPU: Ryzen 5600X (watercooled) RAM: 32GB 3600Mhz Corsair LPX MB: Gigabyte B550i PSU: Corsair SF750 Case: Hyte Revolt 3

 

Link to comment
Share on other sites

Link to post
Share on other sites

  • 1 year later...

so as cool as my idea was (as per usual) i just cant find the time and knowledge resources to complete it. so i slightly cahnged plans.

 

the bmw controller is still in, but more of a maybe if some experts i contacted are willing to help me figure it out. 

using my stock display while technically possible is also just way to much of a hassle right now and the stock screen is crappy and barely readable in the sun anyway 

so i just got myself a 10.1" Touchscreen from sunfounder and that not only works perfectly and has better visibility but also allows me to take the whole setup with into a new car later on should i choose to.

oh yeah and the pi now runs openauto pro. again for easier setup.

 

heres what i got o far

Spoiler

20200515_223804.thumb.jpg.a0fbaca467e8a8f1dfabf24ec1d0cd18.jpg

20200515_223747.thumb.jpg.68554e377f075fcec53abf00070a8258.jpg20200515_223716.thumb.jpg.d978f02049e3f8e252e696f201044dd6.jpg20200515_223830.thumb.jpg.7e7f361cb8b3f24846174df41ca11fd1.jpg

and heres my rough concept for the casing im gonna 3d print

Spoiler

20200515_224055.thumb.jpg.c6b047b3c78f14cd794e25c0dc308ba4.jpg20200515_224030.thumb.jpg.bd6fa4d860a8d3df7d2d82d323691c3f.jpg20200515_224045.thumb.jpg.4b40212528709fc0a6154a9cc02ef553.jpg20200515_224105.thumb.jpg.08b2022d173eee931c9b8a9f6959a9c0.jpg

 

"You know it'll clock down as soon as it hits 40°C, right?" - "Yeah ... but it doesnt hit 40°C ... ever  😄"

 

GPU: MSI GTX1080 Ti Aero @ 2 GHz (watercooled) CPU: Ryzen 5600X (watercooled) RAM: 32GB 3600Mhz Corsair LPX MB: Gigabyte B550i PSU: Corsair SF750 Case: Hyte Revolt 3

 

Link to comment
Share on other sites

Link to post
Share on other sites

6 hours ago, cluelessgenius said:

so as cool as my idea was (as per usual) i just cant find the time and knowledge resources to complete it. so i slightly cahnged plans.

 

the bmw controller is still in, but more of a maybe if some experts i contacted are willing to help me figure it out. 

using my stock display while technically possible is also just way to much of a hassle right now and the stock screen is crappy and barely readable in the sun anyway 

so i just got myself a 10.1" Touchscreen from sunfounder and that not only works perfectly and has better visibility but also allows me to take the whole setup with into a new car later on should i choose to.

oh yeah and the pi now runs openauto pro. again for easier setup.

 

heres what i got o far

  Reveal hidden contents

iCv5pV8wNd_W7n93quh25X1AYnWYzxSDduKpKVeulESmrp0Oh1DXkULSf2RmoAHDK52NR6wfgVEiVW_-MFvtVmEh5MMxjx_9DKat9jNe7OCteMxfLxFbU3BWOzOS-bQdp5ohy-2chkbDQtsh0Ip1XE_BRktJ9mg4ykeawpyzYewJRvSQEmctmX9Uw2Ay7RYL56OFq6HLLLMOfNg62M8Iso0bKgBG73tFHdRIRae_9TIQQ9_Kebfuh7vb-rvpw0wSw9RM9sO8VAPCeYRlIJN6MKryOgcwz6ngO0Z7PaOl0MQZAiUdA8iiGq5Te7Pqt-Lcwjg3JZJU4IKlB49jXehrU6F7oix8TWe_bfBFl5p51HSndn3924w8hE1_f4R-k70pn7-t1faeDW37ag86gG14ASKdxwTD4FCAxWFBEiEge4soai_r7E5TwFIn9yYPsFZcmWCTz6RLJkJ8_y1dHBgv0dRVdU-28rcN4cCRlsj3Gd4k-RtoQ4wVBYpj97xspSo8TtI2N4d1HJnq1PaS34NapEj9pd3Z3h8I6ZP3YuCcqqBB4MBfuQtl-mMBIySe87BFUK-58DkwFnPrwC2JqaZ4MV430-6yAIhKUNi0wg4qSqkbcguN7k63peg2hfOWAP8UTQneXrZkzIsf0WarUeAl15-OO0jmwm4szw5d8MAyB2-WZgroP4sqRsSG_c4S=w1292-h969-no?authuser=0

UEVXuiqLAAxBYXd27_ESIYBcelZC8bjSk0LY0pgwKucMCxAMPA87q0QyC-Kso9ci9Geekna3ASopjZh_3uMBS1d7JGotKY2rFPeH3uWO17Xlr2QlXPE3y9KzqlyTExO6I30TSNZYwy36kYgizFcsfxT98HDeHNTxAQX6ME0yyTOkfgV6HHvQFs4F1pE1kFgUH5Ny2imaL1HU_MP2dAnwc3-Hetf0xjTFHbFiPOtF7-O7vn13vxiRt4kjcvOFVcQ_YUT4Gx99PZkZca7qWeMi_50MDs5gIIGsX1TSPtt4Dtm0LggjPii3V5Lxa4AQlNuNqKbl1XVSg974x3QZV-Kk6eQYt1D5z_3FtvR8w9sslwRcCkRWBB34-pobLFUwN_MOKQZdbH6kARsbzmdX2Y-vCVMsaJlyC1_zUc1YyGPLv4hnBq5LiraQ27Hj1Lhj0PrqZo0p8I8eChIhMCRORNwqFRE2uYWSOwwrr-gA3U9oh_EMXXtEiN6-gBEqWs1FJCSOGQy19RFkYcFrXfqmAKIYDYJQkKwHGevyGjSdug730rLVQ7ylvole8TWkQU5k081e4BGb-7TbTVAikFza5Q2Yf2R5h1WyaBiPCNQYh9bT4kyZXMcpWR1ydYo7aSW54QMIS3AhPPX9K_85pzb9X4I6yKm2RfgEy-YHn-2IKjmSCeHd9Eq4PFlcrcPPnjss=w1292-h969-no?authuser=0

U7MT4vdD1IgZz4YfKr_owAA6OCbSxvVkgJi5ToI_B6f1tXi8WdNWweIh2Z9hfd7N0VivpT1u1qOtlk1L4b-qg19lvd9SiJltgFnDhas2mSj2uCX5R2V29Ykq_kPKnjW5lNZtUkTrSSaWFQ4WH_vWtUNJ0vVnsOMkdji0ffNHNW82LlJzXnkEhiOVjN4zNnpRWFCbRYlTwa4094qNmw1fmECSaHoXxy1UYNsxvv-V1NnCrvd_ZdwA3UdmouFKi1WBa3WXAz5DLKQAJEpBLesRlwCflq0da85d_n0_MSIBSX1zkgO7FWS0mB5OEvd6lXklEV4SPJI4j21B4_sIi9uwZfRVo67MclreT1xOr5oxwpBNvkJc5LJAnDyaek5QYxbsCimmWE0784QzXOCiB4pjw_eCyavfNd-toJlY_8Q60CrX40i6lIELP_ulN9WVtoCLitLrkaZZlSufM0joCbNqISBzTVPotHvz6Rvug2nyqcRN25ibu_7JrtUdTejyKj_x9PTISQM2zcGguTB4lAHLfbCNblU2oQgyLLEOjtbvWxmreSHQKa4vMTxICQ-YZqsTL9Kdo6qEyetLdhAkoR3cLptkLL8HeEpAAgzTjWzgIwUMHVQvFX6ljBCuS_qTK65Cits5cW2SRoDrknliokJMKrBPFMeUfAd0IkQzh-ql0PUL69uLZP5YYy2Tg9fg=w1292-h969-no?authuser=0

meXwH44RiSNHR71hD4evL03n8yPS_Wayt5vqbcw8J216xNuSr3hWnaG7Je6z_KuAJzqgF3glJpOVVv5EFWZ8bSvqnQdsGkX2_qcP84mEFNI0f2mKrFLg-9YphgydlSk1RjJX5Lk4_MRqsvfZk6bwZTSJVWhP5A2dt3znppmkZEfTs-4q-_h2xz1OP-rKkoqZtsc5IMczN4gDnZtpNX2g_XlP0p_cEOxvjG_Wuk-kNkzSZ20iv5hWXzH-gUJUOlyyEWBApPIaj9k5WmBexKPYgX2zTIdxNm93gju7xQsLARO-NWuHjwuR9GETU3AXKsxk64njgf5dvdyYweFa_eTjyKnfRZrofYQuicqZrGSyvJQuIzMTywtzOePYn8ly1b7jRFkONfD36__Py49TRSvPvG9NCh2r0dZHHGU1jTOqYBqM13x1_czZKHJHZaOvsuFHqJXZSKabBOefnO0P_tIt_kmi6O-D8gM7Kzp-_NfiRbV3QVkQJyiFyAqD5OOCmqYRsO2AkupQfP2LHL3gqRsvIVyvupoPTGNZB0oBEwadFgyfJMT6vGdKflbKbYlVRvJ4rFMYCCmKxR4vai-7IU_4Tw4tHy3JQC57d0Z3KiKolcNcu_OUp-uPoue9puuqKuG17EBDyFzlQf1PUghBXIuRWe5ynZSI4b6n8KglTkwD70ls5UVkVU0WM7_HgiiI=w1292-h969-no?authuser=0

and heres my rough concept for the casing im gonna 3d print

  Reveal hidden contents

6WY1815X5-GVUfHCLCKcubF1MTd27Oi4D9W2z5n1tLKklVm6rDyNnFT9q-W9uTkNQSE0gLV4Bx8MmETiORCLsCoaqWA2iLUG1U4gHLR0jet70knidH2RKXXODgAX8tUJ84psh4ulxP6ZXfJTS8t4o4cfLM-hS8uEL1VPBV0tL1rvo0Svme5pBntblSAmf98ogvqq_e2xeaG_MZyc8HW50iIF_Ogb62PV3bUa8_HH8SAoxvHv9HdQC3igYgvbncDo7laMQXmFt3-FCAm438RZS0qRua-hm_YmpLnfDhZkT6OZ80GSiiHQFkj3ebHoUpBiJ_d3TQZ1XuUfPMS2AkJqtVJV3HBi35x_AskDaBSvkurzw9l827uqS6mAYjBKy73Rgk1fquJTpuysmLuPRf_dqeGlbHeTxeatLEJVapc1AhPKHH87Am_GvW5VngIrESyRwfoaZkrvi4UBsIjyoZ08vIXMIHISACoyCRVcZTYRIrIASBPZXpm4f5nwZdh--3P2EYOkZG5s-XsY4vrktp6axYOlxavoTR4RmSWLiw38KH31_kojQ7pJNNe1qbtON0xOzH-_cAIrpa1jEqwQO2Y7oVoGRD9SOKdd-DMYic5wsoy399pM4kMro4Rnm16woSI0jPigg8gaGtGgma7vELxqNEZRBku4RY_E6_-4hiiGP67ddK1NS2ZyBkBLjzU5=w1292-h969-no?authuser=0

WE86dBqCtDBkmqIxanl8Kx6e-29pcH0LQ8GtwUIoCgmBAMtHKvWZYju0tCJ1gBxJcN16gn5CSaxnHY_KlxhvOzduLljPX6dSv0K-Qzj-cyIRvXj0MGbmIqyJF1wemzymDnbof4udMIgYgSwbCcaCZ8Uyjim_nyBRk5yKDkZVwKJuf4R4KSsPzB83L6wr7KDztHIMzAwyhm20zDbrp7mZHRFVjoAYtbr5ySlRPP_ye9zmoDFlnzj7CP5TjIVTX2BE-o3UFa7KPQ2ElkhRlbLNlaBCDB_WG5WW97n-NFjbA5uFLgO3tm6M5HcNc0o1WdmjJI2A1_xcbxj_PCn6Jlb8GumH2Rh1I-oVtSFWOcfpstVH36TMa0Sbdd3NHXX_mqj34YQ4ra1LLE81_re7sGQl7obqcomxWWo1QHd2Dz0YNrrBmlWrRJHvA_UKkvIGiwQY8FnwtARpWRDbHtJZcmfAFXURMhzS8GtihztkAg0PFSDBLXKSbpZpxEXgpevGEOGdOItI2nh6vSM55_cNhiMpWoE9VN8YO5soiaiEbNpHmEewwQ6q6xfV1ce95nEW09p4VmOWD1nqHBqD5fyQ_l-XmTgb9OGzdtLncQR5Oj3MPyH7HBMkXxNGsMzo3TD5GGSPzk9N1Iv9-Ss0xswxgv2_b-fuqbgqNzN_Zd_T2VCw0B4g95nAgO1m6VFkEd1a=w1292-h969-no?authuser=0

J-7NBUf0VPEvjlpFKkukv1vQ4euv13w9eorqW38Etq918h4JNCz4T804h-GVJiflaRK2p7kkBVmzsSYDrw95vldzpCq0sz7PL7xGo-6jjC21H3qkrC-FEn6ZCmIm8A7pn7I4BZtNe2kOHt9FKVu7prsIB8-LMcZW8E_hznaOwdpGrqZBbhKagh541up4sJn6JIOy_0pDQGxx2Gx0JE6BZwJNbaUbM8bhyKc3wut7yMPoU0xG8-uQP29APJ-7ArbeWu0JgMHXVqh8yhqn6LmD46gr8NXTFdfwl3_3GzeQhNY3xpbGNAuDvpYx5DtE6Lb5lG2t9gPF6DgclQ3sqpRyUyQfyt0WW2t04QwL3wbUbvgY4bT8Zh7A4VLQSmRvIkmE6u_1kFxOL3M41xbNPBzTxF38F6sLcWcqjKAZw7nbs8leMdlWzeI8GBy8_UBcWnW0vEt7HEQgIfrmNs0Ia--Lp4qxMEej2PypHx-gqqXP74xkG-SnkX7naElOyVSwH_DjKKIR9mFsDDGdo2_gSecIsFaWMb0PH6rJv5RxAN50ZEqCGTfVT7_AgZDYWmQmDxVt2LMvCTUJ7W55hKXV9EszN-8zbECiPqxAxTYQTAI7Rl44rssTJsSNuC9OYroFCtnZyTdY5GxuQOhj8BCu7_qgwf7wmpDMACXtn0wLYI4dZ8L7WPdX9H-xiHkaDU57=w1292-h969-no?authuser=0

YV3UR8_bWQhXZ5_OVD8467SHLib4Dzyh7Xj-j32VVwHym8EMG06DO71rVR6mgs5-i3o86vrX_LLKhHjRoMjLZ4zHrBZx4-7gBjfSYuolWOzZUN_3jQcI-qp4pKKbzzjbCO71oN6IrBBb2jOUgL3AbS2MQYHunn7FkPt93t4MyXYh0fsTgCELZnJy8UivEZ99RmPbVmbEyiE6-hihY8G1rVD9spyuBNjAqFcTqzQNehV4d2McDV_B20zn6qMOkFYOLP-1krjUx4DxIlzrP5OVSv_gVQ0per1rooGCdbDjc6eFora0_8-38O4zpoBEriSyEk7EQ4GxQB-KK-A9v6TPCOGTAC4W9SLhfk9_EUx-6ne7LNS7eJYLbDQhFekdMSW0FYH6BqEntZLB4frErubWUd7Bk44rKRuh6OEIMatFaRqCAtScgaJ86wgKal3tQjZL0hgqTpyE-SSg0-dPxdim4Ur-svKOubwkFPi1wfdhOIb6VeEsRIuf8O66OwoO-IXZ-dkVCg1cgI4psrPtAUh5pdm0FcnFFTFSbsDZ2gs8d8lhiZ5tD1maObfr60mRkBChtJ1n6d6uZV0TMZ62Q2ajsR6zQNeM0SpKF0yVtSCgdS6TVtrA5QER75jxadMNAZvDeW6eXbCDzgxtwYbvUrtv2o7_W8Ushcu7y3nggSSFWvYGhSklllC2NtHqf_Jc=w1292-h969-no?authuser=0

 

Your pictures are broke.

Link to comment
Share on other sites

Link to post
Share on other sites

25 minutes ago, lieder1987 said:

Your pictures are broke.

oh thanks. should be fixed now :)

"You know it'll clock down as soon as it hits 40°C, right?" - "Yeah ... but it doesnt hit 40°C ... ever  😄"

 

GPU: MSI GTX1080 Ti Aero @ 2 GHz (watercooled) CPU: Ryzen 5600X (watercooled) RAM: 32GB 3600Mhz Corsair LPX MB: Gigabyte B550i PSU: Corsair SF750 Case: Hyte Revolt 3

 

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×