How to use a Pro Micro as a cheap controller/converter

User avatar
need

01 Apr 2016, 18:40

[]
Last edited by need on 06 Apr 2016, 19:02, edited 2 times in total.

User avatar
need

01 Apr 2016, 19:48

[]
Last edited by need on 06 Apr 2016, 19:03, edited 1 time in total.

User avatar
need

06 Apr 2016, 18:59

I am trying to flash it by putting in the command:
& 'C:\WinAVR-20100110\bin\avrdude.exe' -C 'C:\WinAVR-20100110\bin\avrdude.conf' -vvvv -p atmega32u4 -c avr109 -P com5 -b57600 -D -V -U flash:w:"C:\Users\A\Desktop\Soarer_Converter_v1.12_update\Soarer_at2usb_v1.12_atmega32u4.hex":i

But it gets stuck here, please help :oops:
I don't understand what those last lines mean...
It's running on Win7 32bit, serial port is COM5, and I've everything soldered already (not sure if this will effect the process)
Attachments
Untitled.jpg
Untitled.jpg (186.49 KiB) Viewed 7073 times

Rimrul

26 Apr 2016, 19:48

My new converter doesn't seem to work with my Model M XT. I get the following output with hid_listen:

Code: Select all

Listening:
wEE

remaining: FFFC


Keyboard ID: 0000
Code Set: 1
Mode: PC/XT


rFF R05
rFF R05 rFF R05
Sometimes I get "R06" or "R06 wEE" instead of "wEE". The first "rFF R05" pair is a key down, the folowing two pairs are the key up. On longer key presses I get multiple lines with one "rFF R05" pair and a final line with two or three pairs. I double checked the wiring and it seems fine to me. I'll attatch photos later. Do you have any idea what might be wrong?

jeb

27 Apr 2016, 17:29

Are you sure it's an XT Model M? I thought that Model M's were all either AT (or PS/2) or terminal. The plug for AT looks the same as that for XT, so maybe you wired it up for the wrong plug? That or the adapter's confused as to what protocol to use.

Edit: The wiki says that there were Model Ms that were compatible with the XT computer and AT? I'm not sure how that worked. But I'd probably still check the wiring.

Rimrul

27 Apr 2016, 19:33

jeb wrote: Are you sure it's an XT Model M?
It's a1986 1390148, which according to both german and english Wikipedia is XT/ISO DE/no lock lights. I can verify that ISO DE/no lock lights is correct, bu I have neither one IBM PC/XT nor one IBM PC/AT around to verify
jeb wrote: The plug for AT looks the same as that for XT, so maybe you wired it up for the wrong plug?
In the original Geekhack thread soarer wrote
XT and AT keyboards use the same 5 pin, 180 degree, DIN connector and pinout
so I don't think I could mess that part up.
jeb wrote: I'd probably still check the wiring.
Rimrul wrote: I double checked the wiring and it seems fine to me.
I just had another look and it still looks fine. :|
jeb wrote: That or the adapter's confused as to what protocol to use.
Soarer wrote: Other Features:
  • Full NKRO, if the keyboard supports it (even on Macs!)
  • Boot mode support (even with faulty BIOS!)
  • Auto-detection of the keyboard type
Rimrul wrote: Code Set: 1
Mode: PC/XT
Seems like the right protocoll to me...
jeb wrote: The wiki says that there were Model Ms that were compatible with the XT computer and AT? I'm not sure how that worked.
Multiple scan code sets.

jeb

04 May 2016, 20:53

I feel less bad about my ignorance after looking at Wikipedia's table; XT models are not especially common.

If your wiring's good, and you didn't flip the pinouts, then my next thought is, did you connect the reset pin? I'm not sure how a problem with the reset pin would manifest itself, and I don't know if it would cause a problem for a Model M, but it's all I've got to suggest. To use it with a Pro Micro, there's a patched firmware (see this post).

jim121049

11 May 2016, 22:39

I built the converter using a pro micro clone that I bought from AliExpress. Although various modern PS/2 keyboards worked correctly, I couldn't get my PC/XT Model F keyboard to work using the USB as the power source. I had to use an external 5VDC power supply for the Model F keyboard to make it work. It turns out that the problem was that J1 wasn't jumpered. It's something everyone might want to check on their clone boards..

User avatar
tentator

11 May 2016, 22:44

jim121049 wrote: I built the converter using a pro micro clone that I bought from AliExpress. Although various modern PS/2 keyboards worked correctly, I couldn't get my PC/XT Model F keyboard to work using the USB as the power source. I had to use an external 5VDC power supply for the Model F keyboard to make it work. It turns out that the problem was that J1 wasn't jumpered. It's something everyone might want to check on their clone boards..
wow Jim! that sounds really interesting.. could you take a picture of what you exactly did to jumper J1?

tent

sachin3767

12 May 2016, 00:18

XMIT wrote: - With the default bootloader, short RST to GND twice in succession. Then you have 8 seconds to flash!
i was tearing my hair out trying to flash my pro micro, but this plus plugging it into a USB2 hub did it for me.

Thanks Scottc and XMIT

jim121049

12 May 2016, 07:43

tentator wrote:
jim121049 wrote: I built the converter using a pro micro clone that I bought from AliExpress. Although various modern PS/2 keyboards worked correctly, I couldn't get my PC/XT Model F keyboard to work using the USB as the power source. I had to use an external 5VDC power supply for the Model F keyboard to make it work. It turns out that the problem was that J1 wasn't jumpered. It's something everyone might want to check on their clone boards..
wow Jim! that sounds really interesting.. could you take a picture of what you exactly did to jumper J1?

tent
I just bridged it with a blob of solder.

User avatar
tentator

12 May 2016, 08:41

I see. And yes on aliexpress I just checked most boards come with J1 open and thus work with 3.3V instead of 5 which of course might be too few for model F's etc

User avatar
Wodan
ISO Advocate

25 Jun 2016, 15:06

Thanks very much for this writeup. This controller is a great choice for all Soarer based projects. Just replaced the Teensy in an IBM 6112884 keyboard with a ProMicro. Get your Teensys back :)

One mistake I made when ordering some of these on ebay was accidentally ordering the 3.3V version with just 8MHz. Be careful when buying and pick the 5V/16MHz version. Hardly any price difference.

Maybe I can get the 3.3V devices to work. Wonder if USB communication has issues with the 8MHz...

User avatar
alh84001
v.001

26 Jun 2016, 02:48

I think that it might be enough to solder the J1 jumper to get it to 5V. I haven't tried it though.

User avatar
Wodan
ISO Advocate

26 Jun 2016, 07:21

The 3.3V version has a 8mhz crystal on the board, no way to turn that thing into a 5V/16mhz version without replacing the crystal then....

User avatar
scottc

26 Jun 2016, 13:35

This probably explains the issues I had making an ADB converter with one of my latest ones. I'd better check they're not the 3.3V versions when I get home tonight...

User avatar
Wodan
ISO Advocate

26 Jun 2016, 13:51

Get some good light and look at the crystal! 8MHz engraved on it is bad news.

User avatar
scottc

26 Jun 2016, 14:00

I was hoping for 5v or 3.3 to be printed on the board - I think I've seen that before - but if that fails I'll try your method too. Cheers! That would certainly help to demystify the problem that some people seem to have.

User avatar
Wodan
ISO Advocate

26 Jun 2016, 14:21

Well ... I have a bunch of 3.3 and 5.0 boards. They all have the same silkscreen printing on the bottom side

Code: Select all

[ ] 3.3v
[ ] 5.0v
And not a single board has any markings in any of the checkboxes ;)
You can grab a sharpie and mark them yourself though!

User avatar
scottc

26 Jun 2016, 14:45

Oh wow, fantastic... I might just have to do that :lol:

User avatar
tentator

26 Jun 2016, 21:39

all ones I have have 16mhz crystal and j1 open so you can chose if 3.3V or 5V is desired... uhm.. 8-)

User avatar
Wodan
ISO Advocate

26 Jun 2016, 22:06

There is no benefit in changing the voltage. The speed of the atmega will not change.

User avatar
tentator

26 Jun 2016, 22:09

I see.. but the 5v are anyway needed if you want to use it for a soarer's that should control a model f for instance. So the rest is just power consumption thing.. ;)

User avatar
alh84001
v.001

27 Jun 2016, 15:17

Wodan wrote: There is no benefit in changing the voltage. The speed of the atmega will not change.
Forgive my ignorance, but why is the speed so important? I know that soarer is closed source so it's prohibitive there, but If it's down the timings, couldn't tmk be adjusted by changing a constant or some such thing?

User avatar
Wodan
ISO Advocate

27 Jun 2016, 15:21

I think you need at least 12MHz for USB communication. So the 8MHz version can be flashed through USB when in bootloader mode but not establish proper firmware USB communication. Please correct me if I'm wrong here! After all I guess the firmware must be recompiled for the 8MHz version to get the timing for the USB communication right again if poissible at all.

User avatar
tentator

27 Jun 2016, 15:34

Guys wasn't the original question about the model f conversion and voltage just because the 3.3v was not enough? And then 5v was Ok (after soldering a blob on j1) or are we speaking about some completely other issue about MHz and bootloader?

User avatar
alh84001
v.001

27 Jun 2016, 15:40

I think that the question last month was about 5V/16Mhz versions that came defective out of the factory, so soldering of J1 was needed to repair them. Before that they were basically a 3.3V/16Mhz variants.

Wodan on the other hand bought a working 3.3V/8Mhz by mistake, so we're lamenting if it can be made to work.

That is, if I'm understanding everything correctly :)

User avatar
tentator

27 Jun 2016, 17:07

a ha now I got it, sorry.
But then I also got many "Defective ones" because mine are all with 16mhz crystals and j1 not soldered so 3.3V... they work unless you try to control a model f at least..

User avatar
Wodan
ISO Advocate

27 Jun 2016, 17:20

Well ... long story short:

- Check the MHz rating of the crystal (square bare metal thing) on your PCB
- Measure the voltage of the VCC pin and make sure it's 5v when using this in a Soarer scenario

User avatar
Halvar

27 Jun 2016, 19:21

Wodan wrote: I think you need at least 12MHz for USB communication. So the 8MHz version can be flashed through USB when in bootloader mode but not establish proper firmware USB communication. Please correct me if I'm wrong here!
Where did you read that? I'm using an 8 MHz Teensy 2.0++, and that works without any problem. It's not a 32u4, I haven't tested that, but I don't think they are that different.
After all I guess the firmware must be recompiled for the 8MHz version to get the timing for the USB communication right again if poissible at all.
That's true, the firmware must know the processor speed, you have to set a preprocessor variable or two accordingly.

Post Reply

Return to “Workshop”