Author Topic: Programming volatile memory boards in older Icom Rigs and radio upgrades  (Read 66572 times)

0 Members and 3 Guests are viewing this topic.

Offline hostile

  • Contributor
  • Posts: 45
  • Country: us
Re: Programming volatile memory boards in older Icom Rigs and radio upgrades
« Reply #200 on: August 20, 2022, 10:35:57 pm »
I just suggested additions that will turn this version into a functional analogue of the original "icom EX-428 ram writer" programmer.

And good suggestions if someone would use them,  do you have an atmega to test? I could add the extra features in the code, but behind on work and would be a while for me to setup hardware to demo the LEDs and toggles switches.  would probably make it separate from this code so others could still run it on the smaller Arduino versions.  I added your supplied firmware as RAM14. 
« Last Edit: August 20, 2022, 11:39:49 pm by hostile »
AC5QX
 
The following users thanked this post: hua

Offline Mildi

  • Contributor
  • Posts: 20
  • Country: ru
Re: Programming volatile memory boards in older Icom Rigs and radio upgrades
« Reply #201 on: August 20, 2022, 10:44:36 pm »
Thank you.
I'm sure my fellow radio amateurs will like it.
And your work will be in demand, and people will thank you.
 
The following users thanked this post: hua

Offline hostile

  • Contributor
  • Posts: 45
  • Country: us
Re: Programming volatile memory boards in older Icom Rigs and radio upgrades
« Reply #202 on: August 21, 2022, 10:16:22 pm »
Updated 8/22/2022
Had an issue with the way I was pulling ram data from the program memory space

Here is a standalone version that I tested the additional inputs with digital IO controller.
4 pins for RAM selection, 3 LEDs (Programming, Pass, Fail)
1 Button to start programming, can still be controlled and viewed output in console.
https://youtu.be/Zlx7NylAdQw
« Last Edit: August 22, 2022, 05:38:52 pm by hostile »
AC5QX
 
The following users thanked this post: hua, Mildi

Offline Mildi

  • Contributor
  • Posts: 20
  • Country: ru
Re: Programming volatile memory boards in older Icom Rigs and radio upgrades
« Reply #203 on: August 22, 2022, 06:48:17 am »
Thanks a lot!
Ideal!
Already ordered a breadboard for installation on 2560.
When I return from a business trip, I will repeat the apparatus.
According to Murphy's law, the Icom battery runs out when there is no PC nearby to flash it...
 
The following users thanked this post: hua

Offline rz

  • Contributor
  • Posts: 15
  • Country: cn
    • Clock Wave
 
The following users thanked this post: hua

Offline apollo2mond

  • Newbie
  • Posts: 3
  • Country: de
Re: Programming volatile memory boards in older Icom Rigs and radio upgrades
« Reply #205 on: January 09, 2023, 07:57:35 pm »
The 2K SRAM uPD446 can be replaced by FRAM (e.g. Ramtron FM1608) which is cheaply available from ebay.
The extra pins (p2/a12=vss, p27/we=p23, p28/vcc=p26/nc) as well as p23/a11=vss must be reconnected by hand.
In sum only 4 extra connections and no need for a battery in the future!

Also an eprom/ram solution which keeps the device configuration data at eprom is easily to build.


« Last Edit: January 09, 2023, 08:40:32 pm by apollo2mond »
 
The following users thanked this post: hua

Offline Reddevil

  • Newbie
  • Posts: 1
  • Country: au
Re: Programming volatile memory boards in older Icom Rigs and radio upgrades
« Reply #206 on: April 12, 2023, 12:01:16 am »
Hi Hostile, being new to Arduino, will the UNO board work in place of the MEGA that you are using. If can I  follow your pin Mega board pin out and use the same UNO pin out.
« Last Edit: April 12, 2023, 12:04:07 am by Reddevil »
 
The following users thanked this post: hua

Offline hostile

  • Contributor
  • Posts: 45
  • Country: us
Re: Programming volatile memory boards in older Icom Rigs and radio upgrades
« Reply #207 on: April 12, 2023, 12:15:22 am »
The earlier release should work with UNO.  The last release I posted breaks compatibility unless the extra IOs are removed.  Mega extra IOs for using a standalone device with out the serial monitor.   If not wanting to use those then you don’t need the extras.   The code is pretty well commented and all the pins are defined in the top.  If you have issues with https://www.eevblog.com/forum/rf-microwave/programming-volatile-memory-boards-in-older-icom-rigs/?action=dlattach;attach=1571059 then let me know and I will update the last one posted to work with UNO.  Used it mostly for 745 and 751.
« Last Edit: April 12, 2023, 12:31:58 am by hostile »
AC5QX
 
The following users thanked this post: hua

Offline AI0K

  • Newbie
  • Posts: 4
  • Country: us
Re: Programming volatile memory boards in older Icom Rigs and radio upgrades
« Reply #208 on: August 06, 2023, 04:36:45 am »
I know it's been a while since you posted this, but do you still have the firmware files for the IC-271?  I screwed up and lost the firmware while trying to change the battery.

Also, what would you recommend for a current programmer for the board?

Thanks much for any help you can provide.

Jerry, AI0K
 

Offline hostile

  • Contributor
  • Posts: 45
  • Country: us
Re: Programming volatile memory boards in older Icom Rigs and radio upgrades
« Reply #209 on: August 06, 2023, 05:54:59 am »
The firmware bytes are in the arduino program.  All the different models are included. 
AC5QX
 

Offline AI0K

  • Newbie
  • Posts: 4
  • Country: us
Re: Programming volatile memory boards in older Icom Rigs and radio upgrades
« Reply #210 on: August 06, 2023, 10:31:29 pm »
Thanks for the info. It's a lot more than what I had before.  However, I'm not at all familiar with the Arduino and have no idea what else I would need.  Nothing against it - just hasn't garnered my interest and haven't had a need for one.  Looks like that's going to change now, though.  I have no idea what accessories are available, nor do I know what hardware or software (other then the program, which I did download) I would need.  I've seen some people built an interface board but little on how it was done.
 

Offline Mildi

  • Contributor
  • Posts: 20
  • Country: ru
Re: Programming volatile memory boards in older Icom Rigs and radio upgrades
« Reply #211 on: September 28, 2023, 04:39:16 pm »
Thanks ............
 Looks like that's going to change now, though.  I have no idea what accessories are available, nor do I know what hardware or software (other then the program, which I did download) I would need.  I've seen some people built an interface board but little on how it was done.

If you have difficulties with Arduino.
This is how you can flash it using TL866.
Firmware in the archive on the previous page.
The adapter in the topic above is a printed circuit board drawing.
I made the adapter on a breadboard.
Video of the programming process.


 

Offline beeeerock

  • Newbie
  • Posts: 3
  • Country: ca
Re: Programming volatile memory boards in older Icom Rigs and radio upgrades
« Reply #212 on: December 20, 2023, 12:02:20 am »
Hi Hostile,

I have a 271 with an vague history.  It arrived with what appeared to be the battery failure memory loss - plenty of 6's on the display, changing with FM/USB mode selection.  However, the battery tests OK.  Further information from the previous owner indicates that the display had gone dark at one point and he had found a few bad solder joints and had touched them up.  He did not change the battery, so why the memory was lost I'm not sure.  Anyway, I decided the best place to start would be with the memory fix so I could then eliminate that as a problem.

With that plan in mind, I built the board in your photo and attempted to reprogram the board with RAM_03 uncommented (V0.2, using a UNO - I saw you comments related to the later version and gave it a swerve).  Before I did that though, I dumped the existing data from the board just to see what was in it.  I've attached that here as Old Dump.txt.  As expected, it doesn't contain much that looks useful.

When I attempted the program function, it wrote, but the verify pass failed.  The failure lines are attached as Verify Fail.txt.  I then dumped what was now in memory and have attached that as New Dump.txt.  For anyone following along, the file should look like Sketch RAM_03.txt, also attached.  I tried this a few times, because, why not... ;-)

I don't know much about how this programming procedure works and I'm only able to get a simple understanding of the sketch code you wrote. My minimal coding experience was 40 years ago, with Pascal and PL1, so definitely not strong on this Arduino stuff.

Looking at the dump data, it appears that the process did something, but I only see combinations of 0, 1 and 9's.  No F or 5 or 4's or any of the other digits that appear in RAM_03 (CORRECTION - see NOTE 2 below). Any idea what this should be telling me?  Is this a wiring problem with my board?  An issue with Arduino UNO being used rather than the more complex board you were working with?  Or is there a problem with the chip that's supposed to store the data?

Any suggestions of where I should go next would be greatly appreciated!

Brock VA7AV

EDIT: I just noticed that the number of fails varies slightly with the program attempts.  I've seen 373, 374 and 375.  Verify always agrees though, if I run it multiple times.  So perhaps a write issue of some sort?  Timing with an UNO?

EDIT 2:  I've tried multiple program attempts and have compared the dump results with the desired results.  I'm seeing incorrect values still, but they appear to be specifically incorrect.  That is, if I should see 0xFF I'm instead getting 0xDD.  Note that my previous comment about never seeing some numbers is now contradicted - after several attempts some other values are showing up.  It really seems like some values simply aren't being incremented high enough, as my values are either right, or too low.  But again, I don't know how this stuff actually gets written.  Could this be a UNO issue?

Updated 8/21/22
updated RAM14 array size
Updated 8/20/22 
Now includes all of the memory dumps from Original_icom_ram_multi_format archive from this topic.
Expanded on Randman80 Arduino code. Thanks
Used on IC-745
Made it easier for myself to follow, others may disagree. 
Select the RAM to be programed from the #defines in header
Changed the pins to re-definable constants at beginning of code.
-  Change these to match how you jumper the Arduino to J1, J2
Changed the WR  CS timing to help avoid clashes.
added dumping of memory and verification.
use the Arduino console with 115200bps.
commands are single letters with enter
p, programs, reads, verifies
d, prints memory to console
v, verifies last dumped memory
c, clone memory, requires hot-plugging ram module with Arduino on
There is a custom slot for the RAM defines.  you can dump memory and copy paste it there, to do many clones without hotswapping
« Last Edit: December 20, 2023, 04:12:25 am by beeeerock »
 

Offline beeeerock

  • Newbie
  • Posts: 3
  • Country: ca
Re: Programming volatile memory boards in older Icom Rigs and radio upgrades
« Reply #213 on: December 20, 2023, 05:34:47 am »
Well, that was strange.  My symptoms really sounded like a bad contact somewhere, so I touched up all the solder joints.  No change.  Finally, in desperation, I washed all the pins with 99% IPA.  And whadya know... it wrote properly!  So I'll leave my problem description in this thread in case it helps someone else diagnose the same problem.

However, I still have problems with the 271A.  It powers up into the 140 MHz range now, but with no mode active and the VFO doesn't move things around.  So while the memory board seems to be working, there's something odd still to find and fix.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf