This post will be a tutorial to building your own CycleOps Pro300PT to ANT+ Adapter. For anyone who may have purchased one of these bikes many years ago and finds it sitting unused in a corner this is a great way to bring new life to your bike for use with Zwift, Golden Cheetah or any other ANT+ compatiable application. If you bike looks like the photo below and came with the computer shown below, this tutorial is for you.
The version I have has the power meter welded to the fly wheel so there is no chance to have Cycleops upgrade the hub. If you happen to have the style that is bolted to the flywheel Cycleops will upgrade the Power Cartridge (part 18849) for $339. This wasn’t an option for me as I have the welded style hub shown on the right
This post assumes you have basic electronics knowledge including
- Soldering of wires, though hole and 0603 SMT components to a PCB,
- Don’t worry if you don’t, this is a great project to learn on as the PCB has large spacing and is very forgiving in part misplacement.
- Programming an Arduino, specificly the Pro Micro, see Pro Micro & Fio V3 Hookup Guide
- Downloading code from GIT hub. All the code, CAD models and PCB files are kept at GitHub Repository
- Buying parts from electronic suppliers such as Mouser or Digikey
- The complete parts list in excel format can be downloaded from the GIT here
- Molex Micro-Fit, 4 Circuit Plug Housing and Pins
- A few of the parts are non-standard mouser parts and needed to be ordered from ebay or AliExpress these included
- PCB – I am happy to sell some of my extra, just put a comment below otherwise the gerbers are in the GIT if you want to make your own boards
- NRF24AP2 Networking Module
- Arduino Pro Micro, Ebay or Sparkfun. Just make sure to get the 3.3V version
- Project Box, Ebay
- Optional OLED Display, Ebay
- Battery 14500 3.7V Li-Ion, DX or Amazon or Ebay
Full Parts List for those who just want to skim without going to GIT
|Part||Value||Package||Description||Mouser Part #||Link||Device|
|D2||BAT20J||SOD-323||Schottky diodes in SFE's production catalog||511-BAT20JFILM||DIODE-SCHOTTKY-BAT20J|
|U$1||NRF24AP2||NRF24AP2 Networking Module||Aliexpress||F10644_NRF24AP2|
|U$2||53375-02||53375-02||2.50MM 2P VERT HDR FRCTN POS LOCK||538-53375-0210||53375-02|
|U1||MCP73831||SOT23-5||Charge management controller||579-MCP73831T-2ACIOT||MCP73831|
|U2||AP2112K-3.3V||SOT23-5||Voltage Regulator LDO||621-AP2112K-3.3TRG1||V_REG_LDOSMD|
|U4||TPS78223DDCR||SOT95P280X110-5N||Low-Dropout Linear Regulator||595-TPS78223DDCR||TPS78223DDCR|
|B1||PRO MICRO||SPARKFUN_PRO_MICRO||SparkFun Pro Micro||Ebay||SPARKFUN_PRO_MICRO|
|Power Switch||Mountain Switch||Toggle Switches SPST OFF-ON||108-0041-EVX||108-0041-EVX|
|Reset Switch||Mountain Switch||Pushbutton Switches METAL BODY BLK||103-1013-EVX||103-1013-EVX|
Prepare the Cable
I’m going to take a guess and say for most people this is going to be the most challenging part. I happen to have access to the proper crimping tools for working with Molex Micro-Fit connectors at work. For most, you have 2 options. Cut the existing cable off of your wired head unit or using some needle noise pliers and solder do your best to crimp the pin onto the wire. I have used the pliers and solder method for years for a non-mission critical application like this you should have no problem. I’m following the pin out numbering as used on the Molex Data Sheet for the 43020-0400 4 pin housing, The image below shows a 6 pin, we will be using a 4 pin version. Don’t forget the heat shrink to keep things nice and clean. The completed end can be see below.
Going off of the colors of the wire I happened to have on hand, wire the connector as follows, substitute the color of wires you use as needed. I didn’t find any function for Pin 3 but I happened to be using 4 wire cable so just to keep things clean I connected all of the pins. You will see later that this pin goes to nothing at the PCB side. I am also using shielded cable. This is not necessary at all but at the PCB side I was able to solder the shield directly to the PCB to help strain relief the data, ground and signal solder joints
Solder the Components
Time to take out the solder iron and the 0.015″ solder or some solder paste and hot air and get soldering. The layout of the board puts almost all of the SMT components on the back with lots of room to place them with tweezers and even enough room to hand solder them if you prefer. I suggest doing all of the SMT parts first then the through hole components after the SMT. Last solder all of the wired switches and data line. I put a small rubber grommet on the line that runs to the bike to give it a clean look when going though the project box. You will notice a large pad just above the connection for the bike data line. I used a cable with a shield. While this pad is grounded and in theory will help protect the wires from radiated noise my primary reason was to use the shield as strain relief for the wire. I didn’t want to solder directly to the OLED display to make it easy to remove the cover and work on the PCB if needed at a later date. I found a Molex 0022162040 to be the perfect fit to the pins and provide a nice right angle pin to solder the wire to. You can see this is the right most picture, its the white connector.
Prepare the Case
The case I used for this project was brought on Ebay Electronic Project Box/ Enclosure Instrument Case. A few modification are required for mounting of the power switch, 0 force calibration button, OLED display and access to the USB port. The location and size of the holes can be taken from the CAD model. The OLED Display was attached to the cover with hot glue at the 4 corners. I then put a sheet of transparency plastic on the outside to protect the OLED from the inevitable sweat that will fall on on it. I held the plastic on with some scotch magic tape but really need to find a cleaner solution.
Before programming there is 1 small modification that must be done to the code. I am not able to provide the ANT+ network key with the code. Getting one is free and quick
- Go to https://www.thisisant.com/
- Create a free account
- After you are logged in go to https://www.thisisant.com/developer/ant-plus/ant-plus-basics/network-keys
- Find the line “The ANT+ network key is 8 hex values and is shown below”
- You will find 8 hexadecimal number, put each of the 8 numbers in order into this section of the code, replacing the XX with the numbers you are provided
Follow the instruction on Sparkfun for setting up the Arudino Pro Micro Pro Micro & Fio V3 Hookup Guide
Upload the code and apply power, on power up, even if not connected to the bike the OLED display should look like this.
By default I have the following items displayed on the screen
- O: Torque (counts)
- R: Torque (counts)
- T: Torque (in-lbs)
- P: Power (Watts)
- C: Cadence (RPM)
Selling extra parts
If anyone is interested I have 4 extra PCBs that I would like to sell for $5 each, PayPal would be ideal method of payment. If interested let me know in the comments below and I’ll get in touch.