LIN BUS converting with microcontroller

Hello guys!

I am new here, so hello everyone! I am from Finland, and studying electric automation, and specialized to programming.

I starting new project and we can call it "LIN BUS converter module". I bought steering wheel from Audi TTS and going to install it to my Audi A7. Steering wheels have different LIN version, so the signal it is different.

TTS steering wheel have 2 buttons more, than A7 and that is not only "so i dont use them" thing, because Audi updated the whole LIN BUS to newer version, so my car dont understand any of these signals what it gets.

Idea for that module is very simple. I tell first how wiring diagram goes, it is very simple.

There is only 3 wires going from steering wheel buttons to steering wheel module. Those three wires are + , ground and signal wire. Converter is coming between signal wire.

I want microprocessor which i can program to do this conversion. And it must be small, because it is going inside on the steering wheel.

Which microprocessor is good to use with this? I am also newbie with microprocessors so can i program it with computer and what language it accepts? And one question more, is it keeping program inside and ready to use after shutting power off?

Thanks.

AFAIK, a LIN BUS is a CAN bus with a slightly simplified protocol.

You might consider a arduino DUE since this board has a CAN peripheral with 2 CAN bus (CAN0 and CAN1). You would have to add 3.3V CAN transceivers.

Problem with Arduino DUE is its size. I have to convert signal between buttons and module. Module is below of the slip ring. So i have instal it inside of the steering wheel between airbag and ateering.

There is the DUE core, a 100% DUE compatible board (with more breakout pins), with a smaller footprint54 mm X 58 mm:

https://www.tindie.com/products/HAMZAO/arduino-compatible-due-core-sam3x8e-board/

Over 5V voltage would damage DUE. So voltage must reduced before inputting.

What is Digispark ATtiny85? It is small, cheap and can be programmed with Arduino.

It accepts higher input voltage max 16V. There would be some regulator in it.