tomaskovacik/vwcdavr

CDC Emulator - sw and hw solution

Closed this issue · 6 comments

Hello,

at the beginning I would like to appreciate your work with VW CDC projects.

I am going to build complete CDC Emulator for VW Gamma IV with aux + bluetooth input for myself. I have been digging in your repositories for a bit.
I was going to use one of these projects, but I am not so sure if they are up-to-date (I also found it difficult to buy s3860m-s)

Would you mind answering a few questions?

  • Which HW design should I use?
  • Which BT audio module provides the best audio quality and has following parameters adjustable: (name, baudrate setting, connection sound adjustment)?
  • In case these ones could be used, which SW file should I use to program uC?

Thanks in advance!

do not use s3860m-s, I try it and have to replace it with BK8000L

BM20 is superb, but I only use it with stm32 (the project is in beta stage, but it will be opensource)

I add another one, which uses BK8000L, and it wok, I have few PCBs made for it, the only problem is that I did not swap serial lines, so some jumper wires are required: https://github.com/tomaskovacik/vwcdavr/tree/master/HW/arduino_based_cdc_emulator/atmegax8_with_F6188

Thanks for your answer.

  • What should data_out pin be connected with? With radio data_out or radio data_in?
  • I see, that project for BK8000L does not have 5V voltage regulator? Is it better to have it on different PCB or it casued by PCB minimalization?
  • I also couldn't find CDC_ENA_12V to CDC_ENA_5V converter - isn't it neccesary anymore?
  • Is this board ready to be programmed with one of these? Or should I edit it using BK8000L A/T command list?
  • What can you say about BK8000L sound quality? Is it sufficient for daily listening or should I better wait for BM20 version?
  • One of the projects you have recently added is using CS8645 instead of BK8000L - I guess this one is not tested yet, right?

Generally I am looking for a working CDC emulator with bt module, which supports microphone and controlling play, pasue, skip, prev from the radio panel, optionally with aux input and possibility to change its name. I may pay for a one that works - assembled or just PCB, doesn't really matter.

If these few PCBs you mentioned, can do this and have only mistake with non-crossed UART lines, I think it is what I'd love to buy.

I am really sorry for taking your time asking so many questions.

Thank you for your work once again!

hello,

no problem, it is not refined project, it was more like the prototype, but its workout really good :)

  • I added connection notes and fix name of 3pin connector, it is for 7805 switched power supply equivalent (AM1117 goes really hot and also it has huge quiescent current

  • I have used cdc_ena_12V for "sw" switching on and off of emulator, but it is really not well documented, so using it as power source and simply restart mcu is simplest way, but I used it properly in my vwcdstm32 boards, so I will probably change this design one day and then there will be level shifter from 12 to 5V

  • bk8000L is cheaper then BM20 so this is a cheaper version of emulator with BT, I used it as immediate replacement of OVC board in my 1st prototype and using it in my car for 2years, it has little bit shitty mic input, but again it is more problem of mic is my guess (I use 1$ mic from aliexpress :D )

if you have time, I can drop you some boards for module into the mail and you can test it :o) unfortunately, I put all boards for ovc chips into recycle bin so no proper way to test it again. After a few years of development of other boards, I am pretty sure problem was the design of the board

regarding SW, I have the special version, but it has simply changed pins for dataout,datain and clk, and has changed output strings on serial line to AT commands, I use this SW as the base:

https://github.com/tomaskovacik/vwcdavr/tree/master/CDC_emulator/cdc_arduino_ported_k9spud_vwcdpic_just_8bit_timers

#define RADIO_COMMAND PB0 //ICP
#define RADIO_COMMAND_DDR DDRB
#define RADIO_COMMAND_PORT PORTB
#define RADIO_COMMAND_PIN PINB
#define RADIO_CLOCK PD4//PB5
#define RADIO_CLOCK_DDR DDRD//DDRB
#define RADIO_CLOCK_PORT PORTD//PORTB
#define RADIO_DATA PC3//PB3
#define RADIO_DATA_DDR DDRC//DDRB
#define RADIO_DATA_PORT PORTC//PORTB

const uint8_t sDATAERR[] PROGMEM = "";
const uint8_t sOVERFLOW[] PROGMEM = "";
const uint8_t sMDISABLE[] PROGMEM = "AT+MC\r\n";
const uint8_t sMENABLE[] PROGMEM = "AT+MA\r\n";
const uint8_t sMINQUIRY[] PROGMEM = "";
const uint8_t sPRV_LIST[] PROGMEM = "AT+MA\r\n";
const uint8_t sNXT_LIST[] PROGMEM = "AT+MA\r\n";
const uint8_t sLIST1[] PROGMEM = "AT+MA\r\n";
const uint8_t sLIST2[] PROGMEM = "AT+MA\r\n";
const uint8_t sLIST3[] PROGMEM = "AT+MA\r\n";
const uint8_t sLIST4[] PROGMEM = "AT+MA\r\n";
const uint8_t sLIST5[] PROGMEM = "AT+MA\r\n";
const uint8_t sLIST6[] PROGMEM = "AT+MA\r\n";
const uint8_t sRANDOM[] PROGMEM = "";
const uint8_t sPLAY[] PROGMEM = "AT+MA\r\n";
const uint8_t sSCAN[] PROGMEM = "";
const uint8_t sSTOP[] PROGMEM = "AT+MC\r\n";
const uint8_t sNEXT[] PROGMEM = "AT+MD\r\n";
const uint8_t sPREVIOUS[] PROGMEM = "AT+ME\r\n";
const uint8_t sRING[] PROGMEM = "";
const uint8_t sIDENTIFY[] PROGMEM = "";
const uint8_t sNEWLINE[] PROGMEM = "";
const uint8_t sDASH[] PROGMEM = "";
const uint8_t sHEX[] PROGMEM = "";
const uint8_t sVERSION[] PROGMEM = "";

Thank you.

Can I use CDC_ENA (+12V cd changer supply switched by radio) to power the whole circuit? I would connect both +12V and CDC_ENA_12V pins to radio switched +12V available on radio C connector. I think current of the circuit with atmega, bt module and amplifier won't exceed max current of that radio output. What do you think?

edit: okay, now I see that permament +12V supplies only op-amps so I guess it takes negligibly small current. 👍

I would appreciate getting some PCBs from you and yes, I have some time to test it and write about my results. How can I DM you?

yes you can drive the whole circuit from switched 12V, but I cannot say if all radios have the same current capability, old Audi concert/chorus1 have a chip which max at 3A
you can drop me email at