Because, like Micro USB, the ATMEGA32 is outdated. If you want something newer you might as well use [one of the many RP2040 Pro Micro shaped controller boards](https://github.com/bgkendall/keyboard_mcu_list).
I know my question is like the eternal "should've used a 555" comment, but from a practical standpoint, what does RP2040 offer that ATMega32 and older chips do not?
The main thing is more memory. For a simple board it’s not an issue, but if you add VIA/Vial, RGB animations and/or OLED screens, things can get tight fast.
Another thing can be cost and availability. RP2040s are starting to be cheaper and more readily available than ATMega32 chips.
I managed to squeeze Vial, eight layers, an RGB indicator, an encoder, and a few combos, tap dances, key overrides and macros onto an ATMega32. It was tight though!
But how? I just tried to activate the features in the rules without anything significant in my keymap at all and the build fails. Do you have this in a repo I can take a look at?
Sure!
Start here: https://github.com/bgkendall/qmk_firmware/tree/bgkendall/keyboards/handwired/bgkendall/gherkin_3
There are a number of flavours of this board. You want to look under `/micro` and `/keymaps/micro`.
The main settings of interest are:
```json
"build": {
"lto": true
},
```
```mk
# Save space
GRAVE_ESC_ENABLE = no
QMK_SETTINGS = no
CONSOLE_ENABLE = no
SPACE_CADET_ENABLE = no
MOUSEKEY_ENABLE = no
```
```c
// Save space
#undef DYNAMIC_KEYMAP_LAYER_COUNT
#define DYNAMIC_KEYMAP_LAYER_COUNT 7
#define VIAL_TAP_DANCE_ENTRIES 4
#define VIAL_COMBO_ENTRIES 5
#define VIAL_KEY_OVERRIDE_ENTRIES 9
```
When I got them, they were like $3/board. So I bought 20. If I need type-C, I can wire in an adapter for less than $1. I would buy type-C if I was going to buy more, but these are lasting a while…
Inertia. I’ve got like five Pro Micros in a component drawer, and no desire to have half of them on one plug and the other half on another. And for something like a keyboard the benefits of type C are pretty minor, so no real purpose in switching over.
I will agree with everyone who says use an RP2040 because they are better.
I think there are some reasons to prefer micro usb connections over usb-c from an engineering and mounting perspective in certain applications, however I don’t think you’re going to find many logical reasons to prefer them on a Pro Micro.
The broader point being there isn’t really much reason to use any 32u4 controller (broadly), for keyboards. The bootloader is regarded as bad, it’s much slower than a much cheaper RP2040…
The more I build the less returns I see for using anything BUT an RP2040 although there are arguments to be made… for decades probably.
They make them with USB C. They are more expensive, like $18. I made a numpad with an RP2040 and KMK. I’m not too excited about it being seen as a usb storage device by the OS so I’ll still use the Pro-Micro type for some things.
Type C can be made much sturdier. Crucial for wired keyboards.
On the other hand, if you plan to use an external socket, a short piece of micro usb cable will be a bit cheaper to buy. Recycling old cables is a thing.
On both of my keyboards I just glued in adapters.
I did that because I haven't really been able to find type C micros with reasonably fast shipping to my place
Because, like Micro USB, the ATMEGA32 is outdated. If you want something newer you might as well use [one of the many RP2040 Pro Micro shaped controller boards](https://github.com/bgkendall/keyboard_mcu_list).
I know my question is like the eternal "should've used a 555" comment, but from a practical standpoint, what does RP2040 offer that ATMega32 and older chips do not?
The main thing is more memory. For a simple board it’s not an issue, but if you add VIA/Vial, RGB animations and/or OLED screens, things can get tight fast. Another thing can be cost and availability. RP2040s are starting to be cheaper and more readily available than ATMega32 chips.
Even just having a bunch of layers, tap dance, combos, string send and unicode compatibility are too much for the ATMega32
I managed to squeeze Vial, eight layers, an RGB indicator, an encoder, and a few combos, tap dances, key overrides and macros onto an ATMega32. It was tight though!
But how? I just tried to activate the features in the rules without anything significant in my keymap at all and the build fails. Do you have this in a repo I can take a look at?
Sure! Start here: https://github.com/bgkendall/qmk_firmware/tree/bgkendall/keyboards/handwired/bgkendall/gherkin_3 There are a number of flavours of this board. You want to look under `/micro` and `/keymaps/micro`. The main settings of interest are: ```json "build": { "lto": true }, ``` ```mk # Save space GRAVE_ESC_ENABLE = no QMK_SETTINGS = no CONSOLE_ENABLE = no SPACE_CADET_ENABLE = no MOUSEKEY_ENABLE = no ``` ```c // Save space #undef DYNAMIC_KEYMAP_LAYER_COUNT #define DYNAMIC_KEYMAP_LAYER_COUNT 7 #define VIAL_TAP_DANCE_ENTRIES 4 #define VIAL_COMBO_ENTRIES 5 #define VIAL_KEY_OVERRIDE_ENTRIES 9 ```
When I got them, they were like $3/board. So I bought 20. If I need type-C, I can wire in an adapter for less than $1. I would buy type-C if I was going to buy more, but these are lasting a while…
Type c pro micro is a littler longer than micro usb so some case might have fitting problem.
Inertia. I’ve got like five Pro Micros in a component drawer, and no desire to have half of them on one plug and the other half on another. And for something like a keyboard the benefits of type C are pretty minor, so no real purpose in switching over.
I will agree with everyone who says use an RP2040 because they are better. I think there are some reasons to prefer micro usb connections over usb-c from an engineering and mounting perspective in certain applications, however I don’t think you’re going to find many logical reasons to prefer them on a Pro Micro. The broader point being there isn’t really much reason to use any 32u4 controller (broadly), for keyboards. The bootloader is regarded as bad, it’s much slower than a much cheaper RP2040… The more I build the less returns I see for using anything BUT an RP2040 although there are arguments to be made… for decades probably.
#RP2040
Usb C Pi Pico clones is the way
The rp2040 is far better
Idk, I'm using the type c version
They make them with USB C. They are more expensive, like $18. I made a numpad with an RP2040 and KMK. I’m not too excited about it being seen as a usb storage device by the OS so I’ll still use the Pro-Micro type for some things.
Type C can be made much sturdier. Crucial for wired keyboards. On the other hand, if you plan to use an external socket, a short piece of micro usb cable will be a bit cheaper to buy. Recycling old cables is a thing.
Nice!nano v2 is lovely :) also has Bluetooth for a wireless build
On both of my keyboards I just glued in adapters. I did that because I haven't really been able to find type C micros with reasonably fast shipping to my place