Here is the sketch.
First an important note. ONLY use a 3.3 volt board like your Due, if you use a 5 volt board like your Uno, you will FRY your radio.
You’ll need to rename the sketch to radio.ino, or if you can’t do that, open the file and copy it into the Arduino IDE.
- Take apart your radio and remove the PCB from the case completely
- On the bottom there are 3 pads we need, TX, RX and GND. Thankfully they are labeled. Solder a length of wire to each pad.
- The GND wire goes to Arduino ground, the TX to pin 15 (RX3) and RX to pin 17 (RX2)
- Once the wiring is complete and the sketch is uploaded, open the serial monitor in the Arduino IDE and set the baud to 115200. If the radio is on, you’ll see lots of data start scrolling by.
- Once that is working, using the stock controller, tune to an analog station.
- After it’s tuned, seek up to an HD station, it should start analog and switch to HD.
- When that is done, tune up to a sub station and wait a few seconds
- Repeat until all sub stations are done and then tune to next analog
- Copy all of the data from the serial monitor into a text file and send it over
That should get me the data I need. In case you’re curious, I’ve set the Arduino to monitor both the receive and transmit lines in the radio. It simply reads the data on the wire and spits it out to the screen. Since I know all commands start with 0xA4, when that character is detected, it starts a new line, otherwise it prints the remaining data on the same line. Each line is one full radio command. The radio works by sending a command, and it sends a reply, so you’ll see a TX message followed by an RX message