Best way to replace old 8bit microcomputer with arduino

Hello, i’ve been lurking on this forum for some time, but this is my first post, so please bear with my inexperience.

First of all, i’m not sure if this is the right forum for this question, apologies if it is not.

I have this old piece of equipment (a midi pedalboard, i’ll attach the circuit diagram), which is run by an old 8 bit microcomputer. All it does is read some switches, light some leds and send/receive midi data (serial data). I’d like to replace the micorcomputer with an arduino, but i’d like to do it in the least intrusive way, in case in the future i want to revert to the original circuit.
I dont have any experience with electronics, so i have several questions:

Could i just tap a wire to the microcomputer pins that control the leds and switches (ej, solder wires directly to the legs, and connect the to the arduino?
If this is the case, could i just disconnect maybe the power traces (vdd, vss) of the microcomputer, so it does not affect the circuit?
Or would the only option be to completely isolate the leds/switches from the old microcomputer (eg, cut all the traces to the micro) and connect them directly to the arduino?

In short, i’d like to know how to replace the microcomputer with the arduino cutting the least amount of traces in the pcb.

In the attached schematic the appropiate pins i’d like to control with the arduino are marked.

Any info will be apreciated, thank you very much : )

Does the old micro have a reset pin you can connect high or low that will disable its IO pins and let the Arduino freely control them without interference?

Connecting inputs in parallel, no problem. Outputs, that’s a problem. You don’t the old one driving high while the Arduino drives low, or vice versa.

Can't really tell what Reset does from here.
http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cad=rja&uact=8&ved=0ahUKEwjliojyrurSAhVB8CYKHVpUDEEQFggpMAM&url=http%3A%2F%2Fdatasheets.chipdb.org%2FNEC%2FuPD78C1x%2FuPD78C10_Summary.pdf&usg=AFQjCNF-HnM0wn3T-JupkrbtBZehNKO7Tg

And it is also not a good idea to cut power to the controller and apply voltage to the chip - though this might predate ESD diodes. 8^)

It would probably be best to just cut all the wires and attach a connector. You can then swap boards by un-plugging and plugging.

Thank you for your time.

In another datasheet (UPD78C11AL pdf, UPD78C11AL description, UPD78C11AL datasheets, UPD78C11AL view ::: ALLDATASHEET :::) it says:

When RESET Input becomes low, the system reset is activated to create the following status.
...
The MODE A, MODE B, MODE C, and MODE F registers are set to FFH and the bits (MM0, 1, and 2) of the MODE CONTROL C and MEMORY MAPPING registers are respectively reset (0), then all the ports (A, B, C, D, and F) become input port (output high-impedance)
...

Not sure if that is relevant.

That is very relevant. It says that in reset you can apply external voltages to the output pins with no consequence.

Ok, so if i understood it correctly, as long as i connect the reset pin to ground, the old micro will be in reset mode and therefore i can put the outputs in parallel, right?
Any other pins i should take into consideration?

Thank you.

Hi,
If you want to replace the micro with Arduino micro why no just cut off the pins from the micro, remove the pins and solder wires from the Arduino pins to the board. Any way that it is what you want to do? No?

tauro:
Read the OP again:
"but i'd like to do it in the least intrusive way, in case in the future i want to revert to the original circuit."

Is the original controller socketed? If not then your best bet is to desolder it carefully, replace with a socket,
then attach Arduino to a suitable plug. Such desoldering is only reliably done with a proper desoldering gun
for that many pins.

Looks like a Mega would be needed for that number of pins - do you know if any DAC outputs are needed?

Hi,
Another solution it is to try to see if you can get a used board so you do not destroy your board.I do not think that it is possible you can piggyback two micro. You must remove the existing one.

What is your goal? You can probably solder wires from Arduino to inputs of the micro and force it to do what you want to be done (as if user pressed the right buttons).

If the old controller has EDS protection diodes then you can't connect anything to it while it's unpowered. The inputs cannot be more than 0.7V above the power pin, otherwise they will feed power to the power pin. Holding it in reset mode may work, but you should keep power on to the power input pin.

And make sure it's not a 3.3V chip. Hooking a 5V Arduino to a 3.3V chip will toast it.

Ah yes, the reset pin might be a clever solution if it does the right thing (floats all the pins and stay in low-power reset state)...

MarkT:
Is the original controller socketed? If not then your best bet is to desolder it carefully, replace with a socket,
then attach Arduino to a suitable plug. Such desoldering is only reliably done with a proper desoldering gun
for that many pins.

Looks like a Mega would be needed for that number of pins - do you know if any DAC outputs are needed?

It’s not socketed, but it is in this (unusual for me) quip package, which i have not seen sockets for. On top of that, i have just a regular cheap desoldering pump, so this seems too difficult for me.

For the pin count i was thinking about using a shift register (74hc595) for the 7 led cathode connections so it fits the pin count of an arduino nano. No DAC outputs needed, just switches, multiplexed leds and a serial output.

I don’t fully understand the “transistor things” marked DT1-DT12 in the schematic, (i suppose their function is to allow more current that the pins of the micro supply for the leds?), so that is why i’d like to interface directly with the ‘pins’ of the old micro, so i can take advantage of the circuitry that some engineer put there for a reason.

tauro0221:
Another solution it is to try to see if you can get a used board so you do not destroy your board.I do not think that it is possible you can piggyback two micro. You must remove the existing one.

This device is somewhat old (late 80s) and not so common, so i dont think this is a viable option.

Smajdalf:
What is your goal? You can probably solder wires from Arduino to inputs of the micro and force it to do what you want to be done (as if user pressed the right buttons).

This is the device: korg fc6 My goal is to reuse all the hardware (enclosure, switches, leds, connectors…), but changing all the logic behind it, so i think i can’t do that just interfacing with the existing micro, and i cant reprogram it, so replacing it with an arduino seems the only option for me.

MorganS:
If the old controller has EDS protection diodes then you can’t connect anything to it while it’s unpowered. The inputs cannot be more than 0.7V above the power pin, otherwise they will feed power to the power pin. Holding it in reset mode may work, but you should keep power on to the power input pin.

And make sure it’s not a 3.3V chip. Hooking a 5V Arduino to a 3.3V chip will toast it.

Ok, i didn’t know that, i’ll keep it powered and reseted. From what i get from the datasheet, it is 5v, so it should be fine.

So, attached is what i’d try to do to put reset pin to ground, if no one tells me not to. I’m not sure if i should remove R23, but it does not make much sense to me to have Vdd and Gnd connected by a resistor, does it?
If anyone experienced can tell me some other pins to watch, i’d be glad to know.

Thank you for your time.

Hi,
Normally the reset it is holding down by a charging capacitor to allow the power supply voltage to settle. Once the reset voltage cross the reset threshold it will reset the micro. By grounding the reset you will disable the reset but the state of the micro will be unknown. Consequently the state of the output/input pins would be unknown.

Tauro0221:
Do you have particular knowledge about this specific part? The quote from the datasheet says you are wrong:

"When RESET Input becomes low, the system reset is activated to create the following status.
...
The MODE A, MODE B, MODE C, and MODE F registers are set to FFH and the bits (MM0, 1, and 2) of the MODE CONTROL C and MEMORY MAPPING registers are respectively reset (0), then all the ports (A, B, C, D, and F) become input port (output high-impedance)"

Sounds like as long as reset is low, the device is held in Hi-Z.

Hi,

That was the way I learned reading other micros how they do the reset. On the NEC datasheet said that by grounding the reset it will reset the micro but does not said that it is in the transition from low to high. If you let the reset low permanently it will not reset the micro. Try it with the Arduino. If you hold down the reset bottom the micro will not come up as long as you keep the reset low. Try it.

Older chips are subject to parasitic SCR latchup when there is no power to the chip but voltage is applied to other pins, or if a voltage more than 0.7V greater than the power supply voltage appears on other pins.

tauro0221:
Hi,

That was the way I learned reading other micros how they do the reset. On the NEC datasheet said that by grounding the reset it will reset the micro but does not said that it is in the transition from low to high. If you let the reset low permanently it will not reset the micro. Try it with the Arduino. If you hold down the reset bottom the micro will not come up as long as you keep the reset low. Try it.

Yes, that is the point: the micro never comes "up". It's held in RESET state.