I’ve received a few emails asking about buying or for help making the Pro300 PT to ANT+ adapter. I wanted to be as candid as possible and say that I would like to complete the development of version 2 before producing any more PRO300 PT to ANT+ adapters. The primary reason for the V2 is to address the limited memory that is available in with the ATmega32U4 processor.
As I wrote the current code, The Adafruit_GFX and Adafruit_SSD1306 libraries used to drive the OLED display are rather memory intensive. I found myself resorting to various tricks to get the memory usage of the ANT+ code as small as possible to get the system to run without issues. This did lead me to the neat F() syntax for storing strings in flash memory rather than RAM.
With a basic working system behind me it’s time to switch processors and compile all of my learning into the V2 board. I chose to stay within the Arduino ecosystem as the abundant well tested libraries makes development far easier than when I use to work in CCS PIC.
Processor comparison
Pro Micro ATmega32U4 | ESP8266 |
|
---|---|---|
Program Memory Size (KB) | 32 | 4194 (external flash) |
CPU Speed (MIPS/DMIPS) | 8 (3.3V) | 80 |
USB Output | Yes | No |
Estimated Cost | $4.50 | $2.00 |
The built in WiFi is a nice addition i’m sure I will find uses for in time. I have plans of turning the Pro300 PT into a smart bike and controlling it via FE-C (Torque control method TBD). I have working software on the V1 prototype board without the OLED display but ran into memory limitation as I tried to pull it all together. Leading down the current path of moving to a new processor.
Good hustle!
Keep us in the loop and if you need a hand making the cases in solidworks, let me know
Looks great Matt!
Awesome stuff Matt, any update on V2? Have any old versions you would be willing to part with?
CJ,
Thanks for visiting my page. Sadly progress on V2 has been slow, life has a tendency of getting in the way of fun projects like this. I’ve had much of the system sitting on a breadboard on my desk for about 2 months with no progress. I don’t have any complete builds of V1 laying around but everything you need to build your own is on this page.
I have the newer 300PT with the bolt on hub. I also noticed that the console is wireless and has a USB connection at the top. Would this make it easier or harder to hack into?
Your solution seems to connect to a wire I don’t have – do you have any suggestions on how I would proceed to create a similar hack?
Thanks in advance for your reply.
Don,
From what you have said you already have a newer version that uses some form of ANT communication. Take a look at the information and comments section of Darren Cope’s Blog. It seems people have found that a standard ANT+ to USB will work with Zwift. I don’t have one of these units myself so I have no way of testing if this is true or trying to do an analysis of what is being sent out by the hub.
Matt,
Nice work on this project.
I have a wireless hub with the older console. It is not ANT+ compatible, and can’t be used to work with Zwift. I suspect that the reports of Zwift compatibility are newer versions of the bolt on hub. The 300PTs that have worked with ANT+ dongles and Zwift seem to have shipped with Joule 3.0 consoles, and work with Joule gps+ computers. I got hold of a Joule gps+, but it won’t connect with my wireless hub.
I’m wondering how difficult it would be to build a “Non Ant+ Wireless Hub to Ant+” bridge. I suspect that the oldest wireless protocol is the same communications protocol as the “wired” protocol that you have decoded. On this subject I think you indicated that the hub communication was actually wireless, but the receiver was right next to the hub. It might be possible to use a NRF24L01 as a substitute for the wire, but otherwise the required hardware and software might be the same as your “wired” bridge.
Along the lines of wireless communication, what is your hub ID, and is it encoded in the 111100000011110000001011000001101 that precedes each data packet. I would guess that the ID would be 0xffbd or 0xdbff (displayed on the console in decimal). Also, I wonder what wakes the hub up, motion or wireless interrogation.
I am an EE/software guy, but I don’t have much wireless experience. I might take a shot at building an old wireless hub to ant+ bridge, since you seem to have already solved most of the problem.
Let me know what you think.
Pat
If interested, I have an updater with 1 update left on it. Someone could probably capture the loaded update and copy it to be useful on the early wireless 300pt and the original wireless powertap hub that was 2.4 but not ant+
I’m not familiar with the updater.
I don’t believe the repeating string at the start of each data packet is an unique ID. I have had others build my wired to ANT+ adapter without requiring any changes to the filter I apply to validate that the incoming packet is valid. I do this by checking the repeating pattern is present on the start of the packet. I have a theory that the starting bits are present as a type of self clocking to align the timing between the hub and head unit. I currently have the timing hard coded but have seen that this leads the afew bad data points leading to false power readings. From hours playing with the hub, all signs point to sensing rotation being the method of turning on the hub.
Matt,
I opened up my console and the main board has a small board soldered onto it where the main board used to have a four pin connector, J2. I’d post a picture, but I’m not sure how. The pins on the board are labeled 3V, HR-OUT, GND, and HR-PON, but I wonder if this is just a repurposed Heart Rate RF receiver standing in for the 4-wire connection used in the “wired” hub. Did you look in your console, and did the hub cable connect to J2? If so, then I should be able to pull the signals from the “wireless” hub by soldering wires to the small board and build one of your V1 ANT+ converters to work with my console if the communication protocol is the same.
I did open my head unit where I first started this project in an attempt to trace the signals in the same way you are. I’ll make a new post just on the teardown. I would love to see the images of your unit as a comparison. It should be possible to post links to images (upload them to Google photos or similar site). You can make a link using this format. How to put hyperlinks in comments
Matt,
I’ve attempted to put links into this comment. Don’t know if the will work.
Here is a picture of a portion of the 300 PT console board:
Note that that there appears to be a receiver board soldered where a connector used to be. Unfortunately when I scoped the signals from the board I couldn’t see activity when I spun the wheel or when I wore my HR strap.
I haven’t done a complete teardown yet, I just lifted the lid enough to get this shot.
To investigate the possibility of implementing a wireless ant+ bridge, I have ordered a cc2500 based transceiver board ) which, in theory, receives in the 2.4 GHz ISM band and can output the raw RX signal, which I hope would be the signal that you saw on the wired interface. From the FCC filing it appears that the hub broadcasts @ 2.457 GHz, so thats where I’ll try to find a signal.
Pat,
No idea if you still working on this but would love to hear an update if you were ever able to get a signal from the cc2500 transceiver board.
Matt
Here is a link to the cc2500 board that might work.