Skip to content

Latest commit

 

History

History
148 lines (96 loc) · 7.38 KB

README.md

File metadata and controls

148 lines (96 loc) · 7.38 KB

image

Barra in a Beamer

Installing a Ford Falcon Barra engine into a 2009 BMW F01 7 Series 730D.
Arduino Script in main folder, CAN Data in logs folder.

TransparentLogoTPSAS

image


Summary

Using a dual CAN interface to recieve data from both the Barra CANbus and the BMW CANbus, and to transfer it between the buses. The two buses are to be isolated from each other, with data being transferred via the interface.

Checklist Items

  • Decode Barra CAN Messages & Convert for BMW Cluster
  • Implement checksum algo and counter for BMW data bytes 0 and 1 for sent messages
  • Decode BMW DME CAN Messages that need to be emulated emulator almost finished
  • Malfunction Indicator Lamps from Barra PCM > BMW cluster
  • Set Vehicle Speed Source to be ABS via CAN in Barra PCM - 6HP26 TCM can provide speed source to PCM.
  • Emulate CAN Message for Vehicle Speed Source input on CAN ID 0x4B0 (Emulating the Falcon ABS Module using the BMW ABS Data)
  • What is needed to get BMW factory ABS functional?
  • Emulate missing DME CAN messages due to removal of DME & TCM modules
  • Disable Passive Anti-theft System in Barra PCM
  • Fit a second OBD port for Barra PCM diagnostics (4 GND, 5 GND, 16 12V, 6 CAN H, 14 CAN L, FEPS Pin 13) Wiring Harness finished
  • Install interface board into vehicle
  • Throttle / Accelerator pedal input into PCM BMW Accelerator pedal should function with Barra PCM
  • HVAC and compressor control needs to be thought out BMW Compressor mounted on Barra with custom mounts, controlled by factory HVAC
  • Brake Status input into PCM
  • Cruise control neede to be thought out > Auto Electrician
  • BMW shifter to run Ford 6HP26 Gear Selector should function wired up to Ford 6HP26 Transmission
  • Engine Start/Stop Button > Auto Electrician
  • Tyre/Wheel/final drive needs to be set in PCM
  • Deutche plug kit to make up adaptor wiring harness for accelerator pedal assembly

Software Required

  • PCMTEC For programming and configuring the Barra Powertraim Control Module.
  • FORscan For diagnostics and fault finding.
  • Arduino IDE For flashing the microcontroller used as the CAN interface.
  • Sublime Text My preferred text editor for coding.
  • Putty Used to SSH into the Raspberry Pi and and sniff CAN Data
  • SocketCAN Used to pull raw CAN data from the vehicle.
  • Libreoffice Calc Interpreting CAN data

Hardware Required

  • Raspberry Pi 4 with PiCAN3 hat
  • Longan Labs CANbed development board
  • OBD power isolator & various adaptors
  • Multimeter
  • J2534 Tool

CAN data from the BMW PT-CAN

Pulling Data from the car with a Raspberry Pi + SPI-MCP2515, wired up to PT-CAN_1 at Kombi connector, powered via OBD port image image

image

Isolating individual ECUs to determine CAN frame origin by pulling ECU power fuses.

image

image

Prototype interface board

image

2nd OBD port wiring harness ready to be installed, with FEPS wiring and CAN High, CAN Low to enable diagnostics and programming of the barra PCM. image

Calculating Checksums & Counters

Each CAN Message that is sent out onto the PT-CAN contains both a checksum and a counter byte, the checksum is at byte[0] and the counter is byte [1]. Here we are emulating the BMW checksum and counter byte on socketcan virtual interface. This has now been implemented into the Arduino code using a CRC8 checksum calculation. image

Driving the Kombi (Instrument Cluster)

Wiring the Kombi up to 12 Volts power, Ground and PT-CAN Hi & Low. IMG_20240131_172723367_HDR (1)

Wiring Diagrams

DDE:
image

EGS:
image

KOMBI:
image

Relevant Information

FG Falcon Git Repo
Notes on Stand Alone PCM Setup
Notes on ABS Module config
BMW Kombi Pin out

Based Upon

Original ECU HSCAN Interface by Mitchell H

Documentation

Relevant BMW and Ford documents are in the Docs folder.

image


image image