trog.codes

RCR 80V Black Box (part 1)

I intend to detail in a later post my journey from enthusiastic ONYX rider to the company’s service manager. For today, I hope to resurrect this blog with some planning details for a black box I am building to help reverse-engineer useful diagnostic information from the bike.

Preliminary

The 80v RCR is a bike I work on daily. The developer contracted with our company who makes the controller software is not willing to share an API or any documentation with me (which is his right). So, I am preparing to sniff the existing “programming” leads with a logic analyzer to write my own scripts to dump whatever serial data I can find. From there I will begin the arduous process of decoding these bits into usable information.

The goal is a plug-and-play system that records unified diagnostics in real time.

Preparations

I have purchased the following components for this project:

Concept

The original idea was to have the logic analyzer passively dump data to the ESP32 which would record the output to a microSD. These dump files would then be analyzed in PulseView, a Qt-based GUI for sigrok. From here I would hope to find familiar serial data, looking for things like 0x55 start of frame, 0x3A “:”, 0x7E etc. These signals could be used for anything from peripheral/lighting controls to dump logging for diagnostics.

First Roadblock - Protocol Identification

Data harness - side

Data harness - top

Is this UART? LIN? CAN? Something custom? Only the most persistent asshole will find out.

The line labeled “Programmer” has some interesting characteristics. Multiple signals to one pin indicates some kind of duplex UART or CAN bus-like topology. Thoughts:

I think I am looking either at GND/DATA or CAN-high and CAN-low. Tomorrow I will begin probing to find out. From there I will be sigrok-ing every signal that comes off those pins.