Skip to content

Confused by bluepill flash sizes #1003

Closed
@matthijskooijman

Description

@matthijskooijman

I was looking at various blue pill variants and was a bit confused. Boards.txt says this:

# BLUEPILL_F103C6 board
GenF1.menu.pnum.BLUEPILL_F103C6=BluePill F103C6 (32K)
GenF1.menu.pnum.BLUEPILL_F103C6.upload.maximum_size=32768
GenF1.menu.pnum.BLUEPILL_F103C6.upload.maximum_data_size=10240
GenF1.menu.pnum.BLUEPILL_F103C6.build.board=BLUEPILL_F103C6
GenF1.menu.pnum.BLUEPILL_F103C6.build.product_line=STM32F103x6
GenF1.menu.pnum.BLUEPILL_F103C6.build.variant=PILL_F103XX

# BLUEPILL_F103C8 board
GenF1.menu.pnum.BLUEPILL_F103C8=BluePill F103C8
GenF1.menu.pnum.BLUEPILL_F103C8.upload.maximum_size=65536
GenF1.menu.pnum.BLUEPILL_F103C8.upload.maximum_data_size=20480
GenF1.menu.pnum.BLUEPILL_F103C8.build.board=BLUEPILL_F103C8
GenF1.menu.pnum.BLUEPILL_F103C8.build.product_line=STM32F103x8
GenF1.menu.pnum.BLUEPILL_F103C8.build.variant=PILL_F103XX

GenF1.menu.pnum.BLUEPILL_F103C8B=BluePill F103C8 (128k)
GenF1.menu.pnum.BLUEPILL_F103C8B.upload.maximum_size=131072
GenF1.menu.pnum.BLUEPILL_F103C8B.upload.maximum_data_size=20480
GenF1.menu.pnum.BLUEPILL_F103C8B.build.board=BLUEPILL_F103CB
GenF1.menu.pnum.BLUEPILL_F103C8B.build.product_line=STM32F103xB
GenF1.menu.pnum.BLUEPILL_F103C8B.build.variant=PILL_F103XX

# BLACKPILL_F103C8 board
GenF1.menu.pnum.BLACKPILL_F103C8=BlackPill F103C8
GenF1.menu.pnum.BLACKPILL_F103C8.upload.maximum_size=65536
GenF1.menu.pnum.BLACKPILL_F103C8.upload.maximum_data_size=20480
GenF1.menu.pnum.BLACKPILL_F103C8.build.board=BLACKPILL_F103C8
GenF1.menu.pnum.BLACKPILL_F103C8.build.product_line=STM32F103xB
GenF1.menu.pnum.BLACKPILL_F103C8.build.variant=PILL_F103XX

GenF1.menu.pnum.BLACKPILL_F103C8B=BlackPill F103C8 (128k)
GenF1.menu.pnum.BLACKPILL_F103C8B.upload.maximum_size=131072
GenF1.menu.pnum.BLACKPILL_F103C8B.upload.maximum_data_size=20480
GenF1.menu.pnum.BLACKPILL_F103C8B.build.board=BLACKPILL_F103C8
GenF1.menu.pnum.BLACKPILL_F103C8B.build.product_line=STM32F103xB
GenF1.menu.pnum.BLACKPILL_F103C8B.build.variant=PILL_F103XX

I have a bluepill with a chip that says F103C8, but in the boards list there is "BluePill F103C8" and "BluePill F103C8 (128k)". I know that the 8 in the model number indicates the flash size, so what does the "(128k)" mean? Should that be F103CB instead? That is what the board and product_line properties indicate.

Later I found some references online that some C8 chips are actually just relabeled CB chips and actually have 128k of flash (they are probably all made 128k and then divided into good and bad ones). So I guess the 128k is intended to refer to C8's with 128k flash (though they are really just CB's, I guess?)

Would it be more clear to use explicitly label this option as CB (and maybe indicate the C8 option too), e.g.:

GenF1.menu.pnum.BLUEPILL_F103CB=BluePill F103CB (or C8 with 128k)

The same thing holds for the Black Pill (though note that there seems to be some copy-paste error in the board and product_line values with are inconsistent, they should probably both be C8 for the 64k version and CB for the 128k version?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions