Giter VIP home page Giter VIP logo

r51-ecu's Introduction

Nissan Pathfinder R51 Systems

This repo contains documentation and code to allow integration of custom ECU's into the Nissan Pathfinder R51 (2005 - 2012). Some of these integrations may work with other Nissan vehicles (Armada, QX56, etc) but have not been tested.

These ECU implementations specifically target removal of the stock infotainment center.

Supported Environment

This repo targets the Longan Labs CANBed boards based on the RP2040. The CANBed Dual board is used to bridge the vehicle bus to J1939 and the CANBed RP2040 board for individual components.

This is an Arduino project and uses the Longan RP2040 core. Earle Philhower's Arduino Pico Core will not work as the SPI pin definitions are not correct for the Longan boards.

All libraries are either included directly in the repo or linked in using git submodules. Libraries are included in the [libraries] directory. The Arduino IDE should be configured to use this repo's root as the sketchbook location in order to utilize the included libraries.

CANBed Dual Notes

There have been multiple versions of the CANBed Dual board. The latest version uses a separate GD32 chip as the CAN controller while the older version used MCP2515 and MCP2518 chips for CAN 2.0 and CAN FD respectively. This project uses the older version. Additional work would be needed to support the GD32 flavor of the board.

Components

Bridge ECU

The bridge module serves to bridge connectivity between vehicle systems, a J1939 bus, and serial over Bluetooth BLE for RealDash connectivity. It connects to the infotainment harness via GPIO to retain the steering wheel controls and to control the rear window/side mirror defrost heaters.

Its hardware consists of a CANBed Dual board and an Adafruit Bluefruit LE SPI Friend for BLE connectivity.

If you're interested in implementing your own set of controllers over J1939 then this would be immediately usable to you.

Controller ECU

The controller module provides a user interface to replace the functionality originally part of the stock system. This includes climate control and settings. It also adds support for the [third party components](#Third Party Components) used by this implementation.

Its hardware consists of a CANBed RP2040 board, two Adafruit I2C QT Rotary Encoder boards, and a Nextion NX8048K050.

Standalone ECU

The standalone module combines the bridge and controller functionality to reduce hardware BOM.

Third Party Components

The controller integrates with the following aftermarket J1939 systems:

Wiring

The bridge and standalone controllers need to be wired to the steering wheel and defrost controls. The steering wheel analog lines require 2k ohm pull-up resistors. The defrost activation requires a 1k ohm resistor wired in series between the Arduino pin and the vehicle pin. See the pinout docs to determine which vehicle harness pins to connect to.

Vehicle Details

The vehicle systems have been reverse engineered to determine CAN bus operation and pinouts. These are documented in the following:

  • Climate Control - Operational details including CAN frame definitions.
  • Settings Management - Operational details on managing vehicle settings.
  • Pinouts - Pin outs and connector part numbers for the infotainment unit.

License

The contents of this repository are covered under the GPLv3. See the LICENSE file for full details.

r51-ecu's People

Contributors

rynbrd avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.