Out of band frequency entry for Icom IC-7300
Icom IC-7300 modifications; The mod is intended for RX only
Below 30 kHz and above 74.8000 MHz
Some parts of the world use 70-85 MHz as an active two way radio band which could be interesting to listen in on. Described here is a way to allow the Icom IC-7300 to expand it’s receive capability above the factory limit of 74.8000 MHz, or if you wish also below 30 kHz.
This process will require reasonably advanced ‘hex editing’ skills, but I’ll guide you all the way through these steps. Icom have implemented safeguards against incorrect data being imported to the radio, and if you get something wrong, the worst that will happen is that the radio will respond with a ‘Illegal Data’ error and abort, and no harm will come to the IC-7300. The modification is very safe to perform, with the proviso that you do not try to transmit this far out of band.
IC-7300 Modifications NOTES:
- This modification has only been checked & tested on IC-7300 firmware version 1.41
- An out-of-band frequency entry can only be entered as a fixed memory channel at this stage
- VFO tuning outside the factory set bands is not possible (yet)
- The exact upper limit for out-of-band frequency coverage is unknown, though I would suggest 85 MHz would be the practical limit
- It is known that VHF airband and 2 metre / 144 MHz ham band is beyond the capability of the IC-7300’s sampling circuitry and does NOT work there
- This modification only alters receive, not transmit, and so should remain legal for most jurisdictions. However, the onus is on the operator to ensure that they, and their equipment, are operating in compliance with the regulations that apply to them
- An SD card for your IC-7300
- An SD card reader suitable for your PC
- A hex editor application for your PC, I suggest HxD downloadable from https://mh-nexus.de/en/hxd/
- A calculator capable of decimal to hex conversion, and hex math. The standard Windows calculator in programmer mode is fine.
Being a software only modification, it is totally reversible by reloading an old saved settings.dat file, so keep a saved file of your original settings handy, and use a spare SD card to carry out the modifications with.
On the IC-7300, begin by entering a ‘dummy’ channel where you want your new out of band frequency to be entered. Set it to frequency 74.80000 MHz, and set it up with the correct mode, filter width etc that you want the channel to ultimately be. Also give it a unique name, and save it to one of the 99 memories.
Freshly format your SD card by using the menus: Set > SD Card > Format. Then save your memory settings using the menus: Set > SD Card > Save Setting. Unmount the SD card and remove it from your IC-7300. Put the SD card into your SD card reader, and read the SD card with your PC.
Navigate to the folder: IC-7300 > Setting and find the file you saved your settings to.
Open that file with your hex editor. Confirm the file is exactly (hex) 201F bytes in length. The easiest way to do this is to scroll all the way to the bottom of the data and highlight the very last byte, and check the offset value, as shown in the below diagram. If your setting file is any other length, abort and do not progress any further.
On paper, write down your desired out of band frequency expressed in Hertz. In my example, I’m going to use 79.1000 MHz which is 79100000 Hertz. Open your calculator and get ready to do a decimal to hexadecimal (hex) conversion. Here’s how to do this in the Windows calculator:
Use your hex calculator to convert this figure in Hertz to hexadecimal. For example, 79100000 in decimal = 4B6F860 in hex. Add a leading zero to make the figure exactly eight digits long, so 4B6F860 = 04B6F860. Write that converted eight digit hex number down on paper.
Now break that hex number up into byte groups (2 digits each). So 04B6F860 is broken up to 04 B6 F8 60. Now reverse the order of those groups, in our example that becomes 60 F8 B6 04. Write that down on paper now too. Don’t simply write the number backwards eg: 12 34 56 78 = 87 65 43 21! You’re reversing the order of the two hex digit groups. (Doing this is called little endian formatting, by the way, and is how the IC-7300 represents frequency values in data)
Back in the hex editor, search for byte pattern 80 5B 75 04 (this is to find the 74.8000 MHz ‘dummy’ channel entry you made earlier). Using HxD, go to Search > Find, and select the Hex-values tab, enter value 80 5B 75 04, select Search direction of All, and click OK.
This will find the little-endian representation of the ‘dummy’ frequency 74.8000 MHz (74800000 Hertz) channel that you entered. You should also see nearby text of your unique channel name that you entered too. In my example pictured below, you can also see my channel name of “TEST” nearby – this gives you confidence you’ve found the right area of data to edit.
Edit (replace) the first occurrence of byte pattern 80 5B 75 04 that you found with the hex coding of the out-of-band frequency entry you worked out and wrote down on paper. In my example, 80 5B 75 04 is replaced with 60 F8 B6 04 (79.1000 MHz expressed as Hertz in hex little-endian representation). You will see HxD highlight your changes in red, but since there’s no change to the last 04 byte, this does not change colour, that is fine.
Now it’s time to re-calculate the checksum that Icom have used to validate the contents of the settings file. In the hex editor, highlight (left mouse button and hold while dragging) byte addresses (hex) 17 through to 201B inclusive. If you’ve done this right, HxD will report in the bottom status bar an Offset of 17, a Block of 17-201B, and a Length of 2005
Use your hex editor to calculate the Checksum-16 value of the highlighted data. In HxD, use the menu Analysis > Checksums, select Checksum-16 and Selected data.
This should be a two byte (four digit) hex value. For my example above, this works out to be (hex) 2BF8.
Go back to your hex calculator, and make change as follows: keep in Hex mode, and change to Word mode, as the picture below demonstrates.
Now bit invert (NOT) this value. For my example, 2BF8 becomes D407 after pressing the NOT button.
Now as you did before, break this value down to byte groups: D407 = D4 07. Reverse the byte groups order to convert it to little endian format, so my example of D4 07 becomes 07 D4.
Back in the hex editor, find (hex) address 201C & 201D, they should be the fourth and third last bytes of the file respectively.
Now edit & replace the values at addresses (hex) 201C & 201D with the new checksum value you calculated above. In my example I’m entering values 07 D4. (Coincidentally in my example here, the hex value at address 201D was already D4, and so HxD doesn’t show it up in red as there was no value change. If you are only making just one channel entry change, you’ll possibly find this happens to you too.)
That’s all the hex editing done, save the file with a new name back to the SD card. In HxD, use menu File > Save as… and navigate to your SD card IC-7300Setting folder, and save the file with a new name. Don’t forget to save it with a .dat extension, otherwise the IC-7300 won’t be able to find the file. Also make sure you give the PC enough time to save the data to SD card before removing it from your card reader, normally 30 seconds is enough time to allow Windows to complete writing operations.
Pop the SD card back into your IC-7300, and go to the menus: Set > SD Card > Load Setting and find your new edited file, and use the Select option to load the Other Settings & Memory and hit < < LOAD > >. If all went well, you’ll get a “COMPLETED! Restart the IC-7300” message. Turn off and on the IC-7300 to reboot it.
If you instead get the message “Illegal Data” then you’ve made a mistake somewhere, go back to the beginning and carefully try again. Don’t worry, this error message does not mean anything is damaged or has harmed your IC-7300, the radio protects itself quite well in this regard.
Now scroll to your memory channel, and you should find it has the out of band frequency correctly displayed. If the radio happens to have already selected the memory channel you have edited when it powers back up, it will display 74.8000 MHz. Don’t worry, that’s just a quirk… if you scroll away from the channel and back to it again, your edited frequency will correctly be displayed & received. Don’t try to edit or transfer this memory channel to VFO, the radio will detect & default the frequency back to 74.8000 MHz
Don’t forget that your HF antenna isn’t likely to be very good at VHF frequencies around 70-85 MHz, in order to receive signals in this area, at least give your IC-7300 a fighting change by using an antenna designed for this band.
So long as you have not done any hardware modifications to alter the receive bandpass filters in the IC-7300 (eg: anti-aliasing mod by F5LOL) then the IC-7300 is actually quite sensitive in the 70 MHz VHF area, turning in a 12dB SINAD value of -122dBm (0.178uV) with P.AMP2 on. So you should have reasonable results in picking up some out-of-band frequencies above 74.8000 MHz, so long as there is something there to listen to in your area, of course!
This same process can also be used to modify receive coverage below 30 kHz, but since the IC-7300 is already very insensitive below 100 kHz, there is probably little point to attempting that. The massive signal out of North-West Cape on 19.8 kHz which on my AOR5000 receiver romps in at 40dB over S9 is not even detectable using the same antenna on my IC-7300.
To allow the IC-7300 to tune out-of-band frequencies in VFO mode, or make edits to memory channels with out-of-band frequency entries requires modification to the running firmware in the radio. These changes have yet to be identified, and I can understand that many would be reluctant to make such changes to operating firmware of their expensive ham equipment, so unless strong interest is shown in doing this, I’m unlikely to develop that level of mod – if you are interested, email me on: vk7zja at gmail dot com.
This modification to allow out-of-band frequency entry to memory channels relies on the fact that the firmware does not check frequency validity of memories when loaded from an SD card with a valid checksum. Sending an out-of-band frequency entry via the USB CI-V protocol is not possible – the firmware does do a validity check via this route.
About me: Jason VK7ZJA has been a licenced ham since 2003, and a professional telecommunications engineer since 1989, specialising in mobile / cellular networks. I’m now retired due to ill health.
Disclaimer: I have no affiliation with Icom, nor is this modification endorsed by them. You do this modification entirely at your own risk, however I consider the modification very safe to do, if restricted to receive only. These instructions do not show how to alter the transmit range of the radio, only the receive frequency, and so should remain legal for most jurisdictions. However, the onus is on the operator to ensure that they, and their equipment, are operating in compliance with the regulations that apply to them.