Skip to content
This repository has been archived by the owner on Oct 30, 2023. It is now read-only.

egisz/bmw-idrive-keyboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

BMW iDrive controller keyboard simulator for Raspberry Pi

Python script to capture BMW iDrive CANbus messages and simulate predefined keyboard strokes. I used to integrate BMW F10 idrive rotary controller into OpenAuto (Crankshaft project) Android auto solution. Demo video in action on youtube

Script relies on:

  • python-can library - for cature of CAN bus messages.
  • uinput library - for simulation of keyboard input. This method acts as virtual keyboard.

Hardware:

  • Raspberry pi board
  • cheap MCP2515 board. Keep in mind that you need to connect board VCC to Raspberry 3.3V pin, not 5V pin. It works fine.
  • power supply to power raspberry pi from car

Installing:

Run supplied setup.sh script or analyze it and do it manually.

Using:

Make sure to enable keyboard keys in Crankshaft Settings Input tab

Idrive key bindings to OpenAuto keyboard keys:

KEY_UP      # up
KEY_ESC     # up hold
KEY_DOWN,   # down
KEY_H,      # down hold (Home)
KEY_0,      # release
KEY_ENTER,  # press enter
KEY_1	    # rotary knob rotate counter clock
KEY_2       # rotary knob rotate clockwise

Links:

  • Very detailed and nice tutorial how to connect everything. Note, that board modification isn't needed. It works fine of 3.3V PIN.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published