flipperdevices / flipperzero-firmware

Flipper Zero firmware source code
https://flipperzero.one
GNU General Public License v3.0
11.81k stars 2.61k forks source link

Wouldn't nRF5340 be a better micro-controller for Flipper Zero? #105

Closed pavel-demin closed 3 years ago

pavel-demin commented 3 years ago

I am currently comparing STM32WB55 and nRF5340 and it seems that the nRF5340 has some advantages over the STM32WB55. Since a new PCB needs to be designed and the micro-controller currently in use needs to be replaced, wouldn't nRF5340 be a better micro-controller for Flipper Zero?

STM32WB55 is not bad but in my opinion nRF5340 has the following advantages:

I haven't checked the lead times for high volumes and Bluetooth certification issues. So maybe STM32WB55 has advantages in these areas.

crozone commented 3 years ago

512 KB RAM would effectively solve the dynamic plugin loading issue as well. Flipper could load a 256K plugin from the SD card and still have as much leftover working RAM as before.

glitchcore commented 3 years ago

I like Nordic too, but in short — we already cannot change key components due to manufacturing requirements. Also maybe @zhovner will tell something

zhovner commented 3 years ago

I agree that nRF5340 looks very interesting, it also has a secure element for storing U2F keys and built-in NFC. But the NFC may be a problem because we need to implement emulation of proprietary protocols like Mifare and we plan to reuse the codebase from the HydraNFC project.

Anyway, I will look closer at this chip, thank you @pavel-demin

Disasm commented 3 years ago

If I recall correctly, nRF5340 only has NFC tag support, it can be used to emulate tags, not to read them.

zhovner commented 3 years ago

@Disasm Yeah, you right. So the only pros are more RAM and speed.

pavel-demin commented 3 years ago

I think that "fully programmable network CPU" is also a pro.

On STM32WB55 it's quite difficult to update the encrypted Bluetooth firmware for the second CPU.