Well, you were right, the versions are the same - but I was using files from the wrong repository I was using the files from your discontinued (I think) “Arduboy” repo instead of the bootloader’s own one. Compiling and uploading using avrdudess work wonderfully so I can start modifying it
Edit: Sooo I made something:
And it works wonderfully! The bootloader sets PF1 low when all pin modes are set. Then, after some initialization steps, it checks if the up arrow is pressed. If yes - it goes into an infinite loop, if not - it sets PF1 high and continues initialisation.
You can ‘break’ it by pressing the reset button very fast - then, it shuts off because PF1 is not set high fast enough.
The circuit works as it should, but there is a problem that I cannot overcome - some games modify the state of the PF1 pin. Circuit Dude, Catacombs of the Damned, etc set the pin low, cutting the power off. I cannot see a way around this. I could add an inverter, but I’m sure I will find some games that set the pin high or activate the pullup. In a different MCU, some peripheral could be multiplexed to the pin instead of the GPIO, but here it is not possible.
My last idea is to use the TX_LED or RX_LED pin. The diodes are rather redundant, but the same thing may happen - do you know any games that use them…?
Your doubts were on point, the circuit I proposed didn’t work. Making a prototype pays off I had to add a resistor to discharge the capacitor:
I also played a bit with element placement. I have stuck with nearly identical dimensions and screen placement, but I had to move all buttons up towards the display.
As the expansion port is right under the screen and the cheapest ~180mAh LiPos I could find were 5x20x30mm, I was thinking about placing all components on the top side. The PCB would act as the back of the enclosure - maybe with a thin layer of PET to isolate any contacts. If I were to add testpoints, they will only fit there. Also, I could not find SMD angled goldpin headers, but I swear I have seen them. I’m not sure about their durability, though.
The pushbutton pads should support the standard clicky switches as well as the 6x6x5mm silent buttons. I saw some people use them, do they feel nicer or are they just used because of the lack of sound?
I’m also pretty sure I will drop the MPU6050 from the schematic - it’s just too expensive, especially if making 5x, 10x boards. And I can always make an expansion card using the generic gyro boards - they have all that is needed, including an LDO.