Git Product home page Git Product logo

blue_pill_f103c8's Introduction

Blue Pill STM32F103C8T6

⚠️ Work in progress. Depends on STM32F1 support in MicroPython.

MicroPython board definition files for the generic blue pill STM32F103C8T6 dev board.

Brand: vcc-gnd/Generic

Markings: http://vcc-gnd.taobao.com/

board

You can buy one for around $2 USD on AliExpress

Build and deploy the firmware:

⚠️ Most likely does not work yet.

  • Clone the board definitions to your MicroPython ports/stm32/boards folder.
cd micropython/ports/stm32/boards
git clone https://github.com/mcauser/BLUE_PILL_F103C8.git
  • Disconnect the board from USB
  • Set BOOT0 jumper to ON (BT0->3V3)
  • Connect the board via USB
cd micropython/ports/stm32
make BOARD=BLUE_PILL_F103C8
make BOARD=BLUE_PILL_F103C8 deploy
  • Disconnect the board from USB
  • Set BOOT0 jumper to OFF (BT0->GND)
  • Connect the board via USB
screen /dev/tty.usbmodem1422

Specifications:

  • STM32F103C8T6 ARM Cortex M3
  • 72MHz, 90 DMIPS / 1.25 DMIPS / MHz
  • 2.0V - 3.6V operating voltage
  • 8MHz system crystal
  • 32.768KHz RTC crystal
  • 2.54mm pitch pins
  • JTAG/SWD header
  • 64 KByte Flash, 20 KByte SRAM
  • 2x SPI, 3x USART, 2x I2C, 1x CAN
  • 38 I/Os almost all 5V-tolerant
  • 1x USB 2.0 FS
  • 2x ADC (12-bit / 16-channel)
  • 3x general timers, 1x advanced timer
  • RT9193 3.3V LDO voltage regulator, max current 300mA
  • Micro USB for power and data
  • Blue user LED (PC13)
  • 2x jumpers for bootloader selection
  • Reset button
  • 2x20 side pins + 1x4 SWD pins
  • Dimensions: 53.0mm x 22.5mm

Experimental:

Some C8 microcontrollers have been discovered to have 128 KB flash instead of 64 KB. To fit MicroPython on this board, we'll try to use 128KB flash and pretend it's a F103CB board instead of F103C8. CB=128K, C8=64K.

Some C8 boards ship with incorrect USB pull up resistors. More on that later.

Links:

License

Licensed under the MIT License.

blue_pill_f103c8's People

Contributors

mcauser avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

blue_pill_f103c8's Issues

Missing file?

When I complie follow your according to your instructions, I meet the following problem:


$ make BOARD=BLUE_PILL_F103C8


Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
make: *** No rule to make target 'build-BLUE_PILL_F103C8/genhdr/pins.h', needed by 'build-BLUE_PILL_F103C8/py/mpstate.o'. Stop.


Is there any solutions to solve this problem?

What can we do with this?

Hello my friend and thanks for the magic!

What can we expect to be able to do with this if it ever works? I'm particularly concerned with the quantity of RAM available on the chip :-3 I feel like it's going to be complicated to run more than a "Hello, World!" on 20KiB? How much do you need to strip down mpy (which features do you need to sacrifice) to make it fit on 128KiB of flash? etc :-)

Thanks in advance!

compile issue

i get following problem when compile it:

phenix@phenix:/micropython/micropython/ports/stm32$ make BOARD=BLUE_PILL_F103C8 deploy
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
make: *** 没有规则可以创建“build-BLUE_PILL_F103C8/py/mpstate.o”需要的目标“build-BLUE_PILL_F103C8/genhdr/pins.h”。 停止。
phenix@phenix:
/micropython/micropython/ports/stm32$ make BOARD=BLUE_PILL_F103C8
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
make: *** 没有规则可以创建“build-BLUE_PILL_F103C8/py/mpstate.o”需要的目标“build-BLUE_PILL_F103C8/genhdr/pins.h”。 停止。
phenix@phenix:/micropython/micropython/ports/stm32$
phenix@phenix:
/micropython/micropython/ports/stm32$
phenix@phenix:/micropython/micropython/ports/stm32$
phenix@phenix:
/micropython/micropython/ports/stm32$
phenix@phenix:/micropython/micropython/ports/stm32$
phenix@phenix:
/micropython/micropython/ports/stm32$ make BOARD=BLUE_PILL_F103C8 deploy
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
make: *** 没有规则可以创建“build-BLUE_PILL_F103C8/py/mpstate.o”需要的目标“build-BLUE_PILL_F103C8/genhdr/pins.h”。 停止。
phenix@phenix:/micropython/micropython/ports/stm32$
phenix@phenix:
/micropython/micropython/ports/stm32$
phenix@phenix:~/micropython/micropython/ports/stm32

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.