This repository contains XML files and maybe other examples needed to connect EcuMaster EMU Black with USB to CAN Analyzer via CAN bus network.
This project is still work in progress, but it can be used as base configuration for Real Dash.
I'm choosing Real Dash because it is a cheap alternative to ADU units and can be installed on almost any Android device.
- Hardware
- Software
- XML File
- Real Dash configuration
- Real Dash enable CAN Switch
- CAN Switch feedback
- Real Dash enable custom CAN Frames
- Real Dash example
- Real Dash example file
- To Do
I'm using USB to CAN module to connect the EMU Black CAN interface to my Android Head unit device which didn't support Bluetooth module.
Using USB connection is more reliable and can give me an option to send back CAN Stream data for inputs like buttons. The purpose of this might be to change Boost tables or other things during normal operation.
Custom CAN Stream data can be used to analyze engine performance like Knock Levels or EGT temperature.
I have used the following cheap USB to CAN module:
Connect CAN-L and CAN-H to the corresponding pins of the USB to CAN Device. Connect Ground to USB to CAN Device ground.
If 120ohm resistor is present in the CAN Bus network then remove the jumper from the USB to CAN Device.
I had to change a few parameters to the USB to CAN device because it didn't work properly on my EMU Black.
Software used to program the device is located here:
If needed explore the software folder for more information about the module
- Select COM port X
- The default BAUD rate is 2000000. Select Change bps and change it to 115200 Device should blink a couple of times. (three if remember correctly). After baud change is written into the device change the baud rate connection in the software.
- Select CAN Speed that matches the speed of the EMU Black. In my case 500kpbs (the same as the bluetooth module)
- Use Normal mode
- Use Standard Frame
- Select Start and Monitor to verify the device operation. CAN BUS state on the EMU Black software should be green. If everything is fine there should be data coming into the USB to CAN software. If not reset the device by shortening the Default pin and try again. It took me a few days to figure this out.(when default is shorten disconnect the USB from the device and connect it again)
XML file configuration can be found here. It uses the Default base ID which is 0x600 but can be changed in EMU Black Software RD-EMUBlack.xml
All the data inside the XML file has comments for convenience.
Start Real dash for android.
- Add a new connection - Adapters(CAN)
- Select CAN Analyzer
- Select Serial/USB connection
- Use 115200 kbps
- Use Custom XML transformation file provided in this repo
- Select Frame mode - Normal
- Choose 500kbps for speed
- Use CAN Monitor to check connectivity
RealDash developers are awesome. I was able to send CAN Switch 1 to the EMU Black from RealDash back to the ECU
XML File is updated! Use RealDash actions to assign value of 1 to the CAN Switch.
CAN Switches that works with RealDash at the moment
- Can Switch 1
- Can Switch 2
- Can Switch 3
- Can Switch 4
- Can Switch 5
- Can Switch 6
- Can Switch 7
- Can Switch 8
It turned out that when you send 1 as value to the CAN network and flip a switch the EMU Black doesn't return the state. This is needed to allow RealDash to distinguish the state of the Switch
Create a new 0x667 can stream with all the Switches and send the bits to RealDash
Here is an example of how to send custom CAN frame into the network. I'm using Knock sensor voltage value.
Decided to multiple the value by 100 and then scale it back to the proper value from RealDash xml
- Songs - Prev/Next
- Lambda graph
- OIL pressure/ OIL Temp
- RPM
- TPS
- Ignition advance
- Battery
- Coolant
- RealDash Example File
- Assign buttons to Real Dash
- FIX Check Engine Lights BITflag parameters
- Configure custom Knock can stream