CycleOps Pro300 PT to ANT+, Part 7, V1 is back with better software

I’ve received several requests for updates on the V2 hardware. I’ve had a breadboard version of the V2 sitting on my desk for months. I haven’t yet found the advantages of the ESP8266 processor enticing enough to make new PCBs and deal with the new headaches that will come with trying to get everything working as well as it was on the ATmega32U4.

Back to the development on the ATmega32U4, I went off to find a solution to the memory issues. The power meter conversion code is relatively small, the majority of the space was being consummed by the library for the OLED display, while very nice to have it isn’t really needed for the device to function. At the time I was using Adafruit_SSD1306 an excellent library that includes test and image support. For what I was going, text only was just fine. Hunting around GitHub and Google I found the very well designed SSD1306Ascii. While not a drop in replacement for the previous library do the conversion over took me a few hours and memory usage went from close to 90% where I was dealing with random reboot and odd issues to a much more comfortable 44% of program memory being used. Solution found, time to move on to the next issues.

I prefer to bike outside whenever the weather allows but with December here on the East Coast of the US mother nature doesn’t always allow for that. I’ve been using the CycleOps bike with Zwift just about every day and have started to see random spikes of both power and cadence on my plots. This was unacceptable.

I wish I could put out 1000+ watts

Near the beginning of this project I purchased a Saleae Logic 8 logic analyzer. This has turned out to be one of the most valuable tools in my collection of electronic debugging. For a data packet with no noise we can see that the shortest time for any single bit of data is 1.57ms. Any time a bit is less that this we know that must be an error bit

Data Packet with no errors

Looking for when a high signal is <1ms I was able to find a packet with a glitch.

Data Packet with glitch that was causing spikes

Now that the glitch had been identified I was able to write code to check if a data bit was being read while a glitch occurred. If this happened the code will not update power or torque and will wait for the next data packet. The disadvange of this is that power and torque will be updated at a 2 second interval when a glitch is detected rather than the standard 1 second of each packet. This was a minor price to pay for power and cadence data that is spike free. All of these changes can be found in the GIT Repository CycleOpsPro300PTtoANTPlus

14 comments on “CycleOps Pro300 PT to ANT+, Part 7, V1 is back with better software”

  1. Matt, you mentioned that you might have a PCB available (CycleOps Pro300 PT to ANT+) for purchase, I would be interested in getting one. I have a background in electronics and would like to give this a try.

  2. Hi, I was reading your example code of “ANTPlus Bike Fitness Master” where you use Nordic nRF24AP2. Will this work with any nRF52 module? This is because they have bluetooth support even. Would be use in a bike trainer like Tacx, Bkool, Elite…

    Thank you, is a very interesting project.

  3. Hello:

    Interesting article. I have the hub that is bolted, not welded. My issues is my wireless head unit does not work and I can’t find a replacement.

    If the upgrade is available for my hub, will I be able to use it with ant+ and all the online software stuff?

    • Very early in this project I contacted CycleOps about upgrading my hub. I was told that my welded hub was not upgradable but if I had the bolted hub it could be upgraded. To quote the email I received, “The newer design utilized a 4-bolt pattern and can be swapped out with a new Power Cartridge (part 18849) for $339 that will broadcast an ANT+ signal.” Given the rapid price drop of pedal based power meters it’s hard to justify this expense and not just buy something like the assioma uno.

  4. I have the head unit (computer) that is wireless.

    Do you have any thoughts on how we could make this work with Zwift?

    • I looked at several different ways to connect the bike to Zwift. In the end I found ANT+ to be the easiest. For a bike with the wireless computer you can try seeing if the bike just shows up. There have been some comments on where some people were successful at getting the bike to talk to ANT+. If this doesn’t work I don’t have any other methods of getting the data off the bike.

  5. Hi Matt
    Came across your info while searching for a solution to my dead Joule 3.0 on a 300 indoor cycle. I’m probably not up for the whole diy process. Would you be interested in selling me a complete solution and/or have you come across something that resurrects these excellent bikes?

    • Hi Jim,

      At this point I’m not going to be selling any more kits. It takes a lot of time to put together and for the price you can buy a single side power meter pedal. I’ll suggest if you don’t want to go the DIY route to look at the Favero Assioma.

  6. does anyone have the original 300pt head unit / computer – wired (not SL) they are willing to sell? the buttons on my just stopped working and don’t see anywhere I can get a replacement.

    • Michael, I can’t help you with a head unit but I can tell you that this design would completely replace your head unit. Provide you with ANT+ output and in the newest version of firmware will now output power, cadence and speed matched to the original bike computer. It is however a bit of a DIY solution.

Leave a Reply

Your email address will not be published. Required fields are marked *

Copyright blinkyme 2024
Tech Nerd theme designed by Siteturner