Can I use Cycle Analyst live data output and RASPBERRY PI to make a separate LED display?

simplydata

1 mW
Joined
Sep 30, 2019
Messages
17
Location
MD
Hi!

I have been using Annalogger to store and analyze data for my solar trike. I am trying to check if I can possibly have a separate display so I can see some of the data(speed, motor watt, and solar input) on a larger display.

thanks!
 
Yes, but you'll have to build at least some of the hardware and write the software to do it. ;)

There is someone over here:
that has built a system to use a Mega Arduino board to read two CA's data streams and modify the control signals to the motor controllers based on the data, so it's certainly possible to read the data stream realtime and operate on it.


There was also a project over here:
that read the stream live and displayed it on an Android device.
and his wireless telemetry system

There is this one
but they seem to have deleted the actual program from the web :roll: though later in the thread someone else linked their version

and this one
but he never posted any software so you have to contact him (if possible) to get it.

Several threads have been started about projects like this, including mine here
trying to get more interest in making something open-source to do this, but most of them just die like that one did with people posting unrelated things in them that don't do what is needed.
 
Yes, but you'll have to build at least some of the hardware and write the software to do it. ;)

There is someone over here:
that has built a system to use a Mega Arduino board to read two CA's data streams and modify the control signals to the motor controllers based on the data, so it's certainly possible to read the data stream realtime and operate on it.


There was also a project over here:
that read the stream live and displayed it on an Android device.
and his wireless telemetry system

There is this one
but they seem to have deleted the actual program from the web :roll: though later in the thread someone else linked their version

and this one
but he never posted any software so you have to contact him (if possible) to get it.

Several threads have been started about projects like this, including mine here
trying to get more interest in making something open-source to do this, but most of them just die like that one did with people posting unrelated things in them that don't do what is needed.
It seems like it is possible but no known completed project. I am not an expert and without some examples, I probably have to give up. Thanks!
 
Maybe I can start from here.

ChatGPT

The Cycle Analyst V3 is a popular device used to monitor and control electric bicycles. It provides various data points related to the electric bike's performance, such as speed, battery voltage, current, power consumption, etc. To read Cycle Analyst V3 data using an Arduino, you can follow these general steps:

  1. Hardware Setup: Connect the Cycle Analyst V3 to your Arduino using appropriate wiring. The Cycle Analyst usually communicates via UART (serial communication), so you'll need to connect the Cycle Analyst's TX (transmit) pin to the Arduino's RX pin, and vice versa. Additionally, connect the ground (GND) pins of both devices together to establish a common ground.
  2. Serial Communication: Use the Arduino's SoftwareSerial library to set up a secondary serial communication port for reading data from the Cycle Analyst. Here's an example code snippet for setting up the serial communication:
    cppCopy code
    #include <SoftwareSerial.h>

    SoftwareSerial cycleAnalystSerial(RX_PIN, TX_PIN); // Define RX and TX pins

    void setup() {
    Serial.begin(9600); // Initialize serial monitor
    cycleAnalystSerial.begin(9600); // Initialize Cycle Analyst serial communication
    }

    void loop() {
    if (cycleAnalystSerial.available()) {
    char data = cycleAnalystSerial.read();
    Serial.print(data); // Print data to serial monitor
    }
    }
    Replace RX_PIN and TX_PIN with the actual pins you've connected the Cycle Analyst to on your Arduino.
  3. Interpreting Data: The data sent by the Cycle Analyst will likely be in a specific format, often ASCII-encoded or in a structured protocol. You'll need to refer to the Cycle Analyst V3 manual or documentation to understand the data format and how to interpret it. Depending on the data you want to extract, you might need to parse the received bytes accordingly.
  4. Data Parsing: If the data from the Cycle Analyst is in a structured format, you'll need to write code to parse the received bytes into meaningful values. This might involve using functions like atoi() to convert ASCII strings to integers, or other appropriate methods based on the data format.
  5. Processing and Display: Once you've parsed the relevant data, you can perform any necessary calculations or actions based on the received information. For example, you could display the speed or battery voltage on an LCD screen, control LEDs based on power consumption, etc.
Remember to thoroughly study the Cycle Analyst V3 documentation and understand its communication protocol to ensure you're correctly receiving and interpreting the data. The example code provided is a starting point and might need modifications based on your specific use case and the data format used by the Cycle Analyst.
 
I am able to read Cycle Analyst with just two pins. I may have something to work on. :)

Screenshot 2023-08-08 112758.jpg
 

Attachments

  • 20230808_112718.jpg
    20230808_112718.jpg
    532.4 KB · Views: 22
Last edited:
It seems to be a start--the chatgpt "report" sounds like the right path, too. I don't know enough about coding to directly help (which is why I have not yet finished any of my own Nano projects).
 
Update:
I am able to display the battery voltage now. I will try to display multiple items such as speed and more.20230810_104940.jpg
 
I have finally had time to finish this small project. I just need to have a case for it now.
 

Attachments

  • 20231003_152445.jpg
    20231003_152445.jpg
    895.6 KB · Views: 16
Update:
I am able to display the battery voltage now. I will try to display multiple items such as speed and more.
I don't usually do embedded software, but I'm educated in it and do my best to work in the industry -- with varying levels of success depending on what season we're talking about. I'm happy to help if anybody has any specific questions; but frankly, it sounds to me like people might be better off with a cheap $20 ammeter from Amazon that displays voltage, amps, watts, and Wh off the shelf. All depends on what the finished project does, and what someone else is looking for :)

Disclaimer: I did very little due diligence before posting this, and am not seeing how it's much different than a CA3 (Cycleanalyst v3).
 
The CA3 does do those things, but it also does MUCH more than that; it's a computer that takes various sensor inputs, processes them based on your chosen settings, and outputs a throttle signal to your controller to make the motor do the things you want it to do in the way you want it to when you want it to.
It also outputs all the data (or whichever fields you choose) via it's serial port, realtime, so you can log it (cycle analogger, etc) or use it for a dashboard (like the one in this thread or the various others linked in it).

So if you already have one on the system, but need a display other than the two-line text it has built-in, projects like this are an "easy" way to do that, and show you just the bits of info you want to see in just the way you want to see them.
 
How did you end up going about it?

(and do you think you will publish the project, for others to replicate or modify?)
I just wanted to be able to see some data easierly front of me while riding. Since I have a trike, the CA is not front of me. I can share info if someone ask.
 

Attachments

  • Screenshot_20231010-085819_Photos.jpg
    Screenshot_20231010-085819_Photos.jpg
    1.7 MB · Views: 16
  • 20231008_220229.jpg
    20231008_220229.jpg
    1.7 MB · Views: 16
Last edited:
I have a different use case for all of this, but this has all be externally useful.
I have an Electric Vehicle Race, and we are trying to take this data into a raspberry pi. Thank you for all of your work!
 
I have a different use case for all of this, but this has all be externally useful.
I have an Electric Vehicle Race, and we are trying to take this data into a raspberry pi. Thank you for all of your work!
If all you want to do is get the data from the Cycle Analyst into the RPI, it's just seriial data at whatever rate you set up in the CA. Just use a serial input of the RPI (or any input that can capture toggling 0v-5v at that rate), and do whatever it is you are doing in the RPI to process the data however you want. The data format is in the CA manual, etc.

If you only want to log the data for later processing, you don't even need an RPI, you can either use the Grin Analogger from ebikes.ca or a board like the ones in my post here
https://endless-sphere.com/sphere/threads/cheap-ca-data-logging-with-phone-or-pc.74764/#post-1786083
or the other project that thread is about.
 
Back
Top