Skip to content

2. Understanding Flipper CAN Bus app

Carlos Alatorre edited this page Dec 13, 2024 · 9 revisions

Along with the Electronic Cats Flipper Add-On: CAN Bus this app allows viewing, read, analyzing and replicating CAN Bus traffic.

CAN Bus app has different options and menus. Here you will find a description of each. Some option names explain the function itself.

Main Menu

Navigate through the app's main menu to select the task to perform.

  • About Us: See general information of the app.

Settings

Set up your CAN Bus parameters in this menu.

  • Bitrate: Set the transmission bitrate.
  • Clock: NOT CONFIGURABLE. It shows the work clock frequency.
  • Save LOGS?: Select whether you want to record the sniffing sessions or not.
    • Save All: save all data sent through the CAN Bus network
    • Only Address: save only the data sent for one node in the CAN Bus network.

Sniffing

Watch the data (packets) transmitted through the different CAN Bus networks devices (addresses). The data obtained can be stored in the microSD card for further analysis or retransmission if the save LOGs options is enabled in the settings menu.

Note

Is needed to set up the correct speed/bitrate to correctly capture the data. If you are not sure the bitrare run the Speed Detector

Speed Detector

Identifies the bit rate at which an ECU is running. The rate will be saved in the settings automatically after running this routine. Supported bitrates:

  • 125 Kbps
  • 250 Kbps
  • 500 Kbps
  • 1000 Kbps

Sender

Build and send a CAN message.

  • SEND MESSAGE: Send the packet once is set up.
  • Timing: set up the sending times and the number of times the message will be sent. Click the center button to open more options:
    • Once: The message will be sent only once, you can set the time. The time is shown in milliseconds and can be incremented with the multiplier (e.g. 3ms x 1000 = 3 seconds).
    • Periodic: sends repeatedly until the user decides to stop it. The time that is configured is the time span of the sending. The time is configured the same way as the Once option.
    • Repeat: repeats a certain number of times the message to be sent. The time-lapse between sending and the number of times it will be sent can be configured.

  • DATA: Click on this option to set the data to send.
    • Choose last ID: you can select an ID from the last sniffed session. If an ID is selected from the list, all the remaining options will be filled with the saved data for this ID.
    • Set ID: define the ID the message will have in HEX.
    • Frame request: send a remote request message, i.e. the fields will be not filled.
    • Data length: configure the amount of bytes to send. When you define an amount different from 0, it will add fields in the menu to configure each one of the bytes.
      • Set Byte[n]: set the data on the byte number shown.

Once all set, you can now click on the SEND MESSAGE option in the main screen.

Player

Player feature allow sending messages saved in the .LOG files. Frame send times can be set to default (1 second), manually or determined to the stored in the .LOG file (sames as in the sniffing session).

Scanner OBD2

This menu has different options:

  • Get supported PID codes: know the PID supported by the ECU, this is divided in 4 blocks: A, B, C and D, this last block is usually not supported showing an error message.
  • Show Typical Data: show the typical values can be obtained from an ECU:
    • Engine Speed (RPM)
    • Vehicle Speed (Km/h)
    • Engine load
    • Throttle position
    • Fuel tank level
    • Time engine running
  • Get VIN number:returns the Vehicle Identification Number.
  • Get ECU name: returns the ECU name of the vehicle.
  • Show DTC: return the error codes stored in the ECU.
  • Delete DTC: clean the error codes stored in the ECU.
  • Manual sender PID: send a PID request, to get a reply from the ECU with the frames.

UDS Services

Important

UDS must be used only for users with knowledge on this protocol, otherwise avoid using this features.

UDS services is useful for interacting with a car sending CAN request messages.

  • Manual Request: includes functions for sending UDS service data manually. The addresses to send and receive are set in the Settings menu.

When the request is sent, you will see something similar to the below, where the arrow pointing to the right indicates the data sent and the arrow pointing to the left the received.

  • Set Session: used to enter the session type in the car, in these types of session you can perform certain commands. Available sessions:
    • Default Session
    • Programming Session
    • Extended Session
    • Safety Session

Select an option to start a session.

  • ECU Reset: it is needed to have a session started to perform the following:

    • Hard Reset
    • Key On-Off reset
    • Soft Reset
  • Get VIN: displays the vehicle identification number.

  • Get DTC: read the DTC stored in the ECU. You can also clear these DTC.
  • Settings: define the addresses of the ECUs to which messages will be sent.

Read LOG

Read the saved LOG files obtained from previous sniffing sessions. These files will be stored in the Flipper's SD card.

log files will store the packets from the sniffing sessions. Read LOG feature allow you to open these files directly in the Flipper without the need to pass them to a computer.

In the latest version of the app, the log files data will be saved with the following format:

id:fd7 len: 8 [0]:1 [1]:65 [2]:12 [3]:4 [4]:5 [5]:6 [6]:7 [7]:8  Time(ms): 0
id:8 len: 8 [0]:1 [1]:65 [2]:12 [3]:4 [4]:5 [5]:6 [6]:7 [7]:8  Time(ms): 1181

Where:

  • id: identifies of the device from which the message was received.
  • len: message length.
  • Message data: divided and indicated in bytes.
  • Time(ms): time elapsed between the new message and the prior to this one.