Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What's the minimal required MCU? #42

Closed
MarkuBu opened this issue Jan 1, 2021 · 10 comments
Closed

What's the minimal required MCU? #42

MarkuBu opened this issue Jan 1, 2021 · 10 comments
Labels
question Further information is requested

Comments

@MarkuBu
Copy link

MarkuBu commented Jan 1, 2021

Hi, I want to make a keyboard PCB and I want to use keyberon as firmware. I have some questions to select a MCU.

What is the minimal required MCU for keyberon?
How much flash, RAM, clock frequency?
Is EEPROM useful or not supported at all?
Is a Cortex-M0 enough?

Happy new year

@TeXitoi
Copy link
Owner

TeXitoi commented Jan 1, 2021

STM32 MCUs have good USB support in rust. AVR has not yet USB support in rust, and is less mature.

Firmware is about 22k here, so better 32k or more. I didn't optimized for size, so it should be possible to work a bit to make it fit on 16k.

There is not really eeprom needed.

M0 is enough. I use it on a STM32F072CBT6 without any problem, so 48MHz is enough, maybe less is possible.

@MarkuBu
Copy link
Author

MarkuBu commented Jan 1, 2021

I'm planning to use a STM32L0xx, LQFP32 package. I think EEPROM might become interesting to store some settings

@TeXitoi
Copy link
Owner

TeXitoi commented Jan 1, 2021

You'll need a 0x2 or 0x3 to have USB

Not sure for 8k of ram, so I'll opt for a stm32l072kb

@MarkuBu
Copy link
Author

MarkuBu commented Jan 1, 2021

Does it really need so much RAM?

Any experience with ATSAM?

@TeXitoi
Copy link
Owner

TeXitoi commented Jan 1, 2021

I don't know, never tested with less than 20k.

@TeXitoi
Copy link
Owner

TeXitoi commented Jan 1, 2021

@MarkuBu
Copy link
Author

MarkuBu commented Jan 1, 2021

Thanks, I'm ordering a Nucleo L053R8 and an Adafruit feather board with ATSAMD21G18 to make some tests. I'll let you know the results

@MarkuBu
Copy link
Author

MarkuBu commented Jan 2, 2021

It seems I can't use the L053. It has USB, but no USB DFU bootloader. The L053 only supports USART bootloader

I think the most simple way to flash a controller is DFU because it is built in

@TeXitoi
Copy link
Owner

TeXitoi commented Jan 3, 2021

While a hardware DFU bootloader is a plus, you can always flash using a debugger probe as a ST-Link, that is most of the time included in the nucleo boards.

@MarkuBu
Copy link
Author

MarkuBu commented Jan 4, 2021

While a hardware DFU bootloader is a plus, you can always flash using a debugger probe as a ST-Link, that is most of the time included in the nucleo boards.

I have a ST-Link, but if someone else wants to build a keyboard it should be possible to program the board without an external programmer.

The problem with the Nucleo boards is that you can't use USB from the main controller. You have to wire a connector yourself.

@TeXitoi TeXitoi added the question Further information is requested label Feb 17, 2021
@TeXitoi TeXitoi closed this as completed Jul 7, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants