I am currently working on a project that involves automating an old Automark Indenting Machine. I want to be able to use an arudino to read a csv and then simulate pressing the keys of the keyboard attached to the machine. The Keyboard is matrixed and I traced back all of the inputs and outputs that the machine's microcontroller uses.

I figured the best way to go about accomplishing this would be by placing an NPN transistor across the two leads that the mechanical buttons presses. The arduino would output to the base of the transistor and connect the circuit. However, I am very new to the field of electronics and completely overwhelmed with how much I don't know.

Here is a question I found that was somewhat similar to my project: Interface 5v digital pulses to keyboard contacts?

I am fairly certain that the keyboard runs on 5V, however, I'm not sure about whether or not is it AD or DC. DC current readings range from .3mA to .8mA, while AC current measures around 1.36mA. I have included a couple picture of the keyboard. One picture shows how I soldered leads directly onto the board to see if I could use the arduino to sense the output sequence from the keyboards microcontroller and then output to the corresponding input for the keyboard but it resulted in the button staying pressed even after the pin was set to LOW.

enter image description here enter image description here

  • 1
    \$\begingroup\$ Those old keyboard are typically wired in a matrix, so if you can just map out the rows and columns you might make your job easier and need fewer connections. If, for example, the MCU is scanning the rows, then you can connect the rows to inputs on the arduino and then connect the columns to outputs on the Arduino. Pressing a key is a matter of waiting for the right row to be selected and then sending the output on the right column. \$\endgroup\$ – bigjosh Oct 27 '15 at 19:40
  • \$\begingroup\$ @bigjosh I do have all of the rows mapped and columns mapped out for the matrix. It was actually the first solution that I went to. I've written a code that would wait for input from the keyboard's microcontroller and than output at the right time but I am still not getting the desired result. \$\endgroup\$ – DanTheFlyingMan Oct 27 '15 at 19:59
  • \$\begingroup\$ Did you verify which way it is scanning (rows/cols)? Do you know what voltage it is scanning with? \$\endgroup\$ – bigjosh Oct 27 '15 at 20:09
  • \$\begingroup\$ I have two groups of pins. I'm 90% sure I know which one is scanning and which one provides signal back to the MCU. I have gotten it to simulate a keypress (somehwat erratically) but the button is never "unpressed" even when I switch the pins from high to low on the arudino. I think the scanning voltage is 5V but I honestly am not sure because the board does not have a clearly labeled common ground. \$\endgroup\$ – DanTheFlyingMan Oct 27 '15 at 20:13
  • \$\begingroup\$ Do you have access to an oscilloscope? If so, you can look at the signal that is doing the scanning and see the voltage it is scanning with. If you apply that voltage to the other axis at the same time as the scan is passing the key you want to simulate, it should register it. \$\endgroup\$ – bigjosh Oct 27 '15 at 20:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.