It sounds like the firmware is corrupted.
Where did you source it from?
From the readme for the Octagon in the TMK repo it seems like you need to hold down the top right key while plugging in the PCB to enter bootloader mode.
QMK toolbox should at least recognize it at that point and allow you to flash it with some new firmware.
Does that part at least work?
If QMK toolbox doesn't recognize it after holding in that key while plugging in the PCB it's likely the bootloader which is toast.
Hopefully not the case because you'll need an ISP programmer to flash a new bootloader and the firmware.
It sounds to me as if flashing QMK to the ATmega32u4's flash memory could have failed.
With the ATmega32u4, the firmware will need to have started and enabled the USB port at its end for Windows to be able to detect the device at all. After that, one of the first things that Windows does when detecting a new USB device is to ask it for its Device Descriptor, and that should also have been handled by the firmware. Weird that it does the first step but not the second.
I don't know which USB diagnostics tools there are on Windows, but I would check if it identifies itself as anything if you would put it in bootloader mode.
Try plugging it in holding down ESC, and if that doesn't work try again with Tilde.
Doubtful it will work, but process of elimination and all that stuff...
FLIP is an application written by ATMEL for programming their microcontrollers.
You can use either FLIP or QMK toolbox to flash the firmware onto the PCB.
If the hotkey to enter the bootloader isn't working it's likely because the bootloader itself is corrupted.
The normal startup sequence should be:
1) load the bootloader
2) check of any keys are pressed to enter "bootloader mode" or do other stuff
3) pass control to the firmware and exit
If it's showing up as an unknown device in Windows #3 isn't happening for sure.
If holding down the top right key doesn't get you into bootloader mode #1 is likely not working either.
Could you upload a photo of the back of the PCB?
Sometimes there are jumpers which you can short to force the PCB to enter bootloader mode - that would be the acid test.
Flashing it with an ISP may turn out to be necessary, but we'll first need to figure out which bootloader to use along with firmware.
Yup, sounds like the boot loader is indeed borked if the jumper doesn’t work.
This is the programmer I use:
https://www.sparkfun.com/products/9825
Most PCBs are designed to be flashed from the front.
You can use some jumper wires to reverse the pin out to flash it from the back without needing to desolder the plate.
First flash a new boot loader with the programmer and then do the firmware.
The PCB uses IO expanders for the switch matrix, they probably use these pins and have larger targets to connect a flasher to. I'll have a look in the firmware and try to work out what goes where, then where where is physically (which is fun as the designer likes vias with no clue which direction the frace continues on the other side)
Edit: Looked, firmware is as old school as the board so not human readable. Can you take a closeup pic of the area around the controller and confirm which corner the dot is, if it's not obvious in the pic? Have to play 'follow the trace' and I'm already lost by R35!
And a photo of the front side of the board too if you could...
Had a look at this, as I see it these are the traces for the pins you want. Cyan (SCK) is attached to the top of R105 (or 106?) Magenta (MISO) to the left of R53 and Green (MOSI) goes a long way but doesn't seem to be connected to anything - can I get a closeup of the right side of the front around the green dot?
Workings for anyone who can check I'm not doing something stupid (I don't want to kill a classic board!)
(Attachment Link) (Attachment Link)
Had a look at this, as I see it these are the traces for the pins you want. Cyan (SCK) is attached to the top of R105 (or 106?) Magenta (MISO) to the left of R53 and Green (MOSI) goes a long way but doesn't seem to be connected to anything - can I get a closeup of the right side of the front around the green dot?
Had a look at this, as I see it these are the traces for the pins you want. Cyan (SCK) is attached to the top of R105 (or 106?) Magenta (MISO) to the left of R53 and Green (MOSI) goes a long way but doesn't seem to be connected to anything - can I get a closeup of the right side of the front around the green dot?
We're trying to trace these pins?
9 (SCK), 10 (MOSI), 11 (MISO), 13 (RST)
And then something like 14 (5v VCC) & 15 (GND)
Had a look at this, as I see it these are the traces for the pins you want. Cyan (SCK) is attached to the top of R105 (or 106?) Magenta (MISO) to the left of R53 and Green (MOSI) goes a long way but doesn't seem to be connected to anything - can I get a closeup of the right side of the front around the green dot?
We're trying to trace these pins?
9 (SCK), 10 (MOSI), 11 (MISO), 13 (RST)
And then something like 14 (5v VCC) & 15 (GND)
Yup, I added coloured dots on the vias on both sides and only lines on traces where required (green). 5v and GND probably go to something LED related, I didn't think to do them (damn stupid disease!)
You'll need to supply power to the controller to flash it. The AVR programmer has a switch on the side to turn the power on/off.
I'd recommend using the programmer to power the PCB rather than trying to power it over USB - good chance you fry it and the programmer at the same time.
I've been meaning to ask what's up with the USB port?
Those solder points look a bit gnarly.
(Attachment Link)
We're basically looking for safe places to hook up to these pins (or 34 and 35 for 5V and GND - lots of options for power):
(Attachment Link)
Any chance you've got a multimeter handy?
The aim is not to solder to the controller as the pins are tiny.
Put the multimeter in continuity or diode test mode (so when you touch the probes it beeps or flashes or ... whatever it does) and check as in this pic - pink pin on the controller to the left of R53, Cyan to the top of R105 (or 106?) and green to the pins on the left side of the circled chip (which I'm hoping is big enough to solder to) as the via comes out under the chip so can't tell exactly where it goes.
(Attachment Link)
I have to go to work now so the others will have to wait.
You need to identify which pin on the rectangle chip is the green one, you can also try and follow the 5v or GND pins to find somewhere to put them if you're bored. If not I'll give it a go in 20+ hours but the pic wont beep or flash at me to tell me I'm rightShow Image(https://cdn.geekhack.org/Smileys/solosmileys/laugh.gif)
I'm on a slow mobile in battery saving mode so scrolling is painful let lone loading a fullsize pic so I'll just call it the green one - the green leg on the square chip should be connected to one of the circled legs on the rectangle. There's a good chance GND and 5v also connect to the rectangular chip so you can try testing them to the pins MajorKoos mentioned.
If AVRDude reported success then you managed to write something onto the chip which is progress.
What does it show up as in device manager and QMK toolbox when plugged into USB?
Where is R55? If you got continuity between the controller and R55 that means you found an acceptable place to solder to, I'm just intrigued as it's not near R54 (left side of the middle row) or R56 (right side of the middle row) nor near the rectangle chip where I thought it went. And now that you mention it, I'm a doofus because I did not check for continuity to R55.
There is more than one bootloader that will work on the ATmega32u4 chip so while there is no wrong answer to the question 'which bootloader did you flash' there is an answer, a link would be good if you don't know the name of the one you used. Most importantly if the bootloader you chose has a different size to the one the firmware expects the firmware will be in the wrong memory address on the chip and wont load.
Where is R55? If you got continuity between the controller and R55 that means you found an acceptable place to solder to, I'm just intrigued as it's not near R54 (left side of the middle row) or R56 (right side of the middle row) nor near the rectangle chip where I thought it went. And now that you mention it, I'm a doofus because I did not check for continuity to R55.
There is more than one bootloader that will work on the ATmega32u4 chip so while there is no wrong answer to the question 'which bootloader did you flash' there is an answer, a link would be good if you don't know the name of the one you used. Most importantly if the bootloader you chose has a different size to the one the firmware expects the firmware will be in the wrong memory address on the chip and wont load.
I would certainly trust your judgment over my own, so I'll give those a shot. R55 is in the top left corner (when backside is facing you) of the PCB, slightly below the top-left underglow RGB.
I connected 5v and GND to the rectangle chip, although I placed them at different ones. I wouldn't think that power would be an issue though since the PCB did have a glow of red RGB in the previous image that I included. However, I do think MOSI might be my issue since that was the only one that I tried to figure out myself (and likely failed lol).
Here is the link for the bootloader that I used: https://github.com/qmk/qmk_firmware/blob/master/util/bootloader_atmega32u4_1.0.0.hex
Let me know if there is another one that I could possibly try. In the meantime I will try out the different positions for finding the connection for MOSI.
Oh and if it helps, the rectangle chip is a 74HC237D.
I think I've found the problem - by changing the bootloader you've changed what the chip says it is and now you need to install the drivers for the QMK bootloader. Hopefully that's just a button in the toolbox?