Skip to content

A Arduino core implementation for some GD32 type chips, at first focusing on GD32F1x0 type chips.

Notifications You must be signed in to change notification settings

maxgerhardt/gd32-arduino-core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 

Repository files navigation

THIS REPO IS NOT DEVELOPED FURTHER

GD32 Arduino Core

A Arduino core implementation for some GD32 type chips, at first focusing on GD32F1x0 type chips.

Movatition

Why create our own Arduino core?

  • Some GD32 chips are drop-in-replacements of STM32 chips, e.g., the STM32F103 and GD32F103
  • Some GD32 chips are not close enough clones / different chips compared to existing STM32 ones
    • e.g., GD32F170, GD32F190, ...
    • for these, no Arduino core exists of yet (that is publically known). Though luck if you wanted to use Arduino with them.
    • => we can fill a gap here for these chips
  • Still, using the above Arduino STM32 core with some enabled features is strictly speaking legally forbidden, due to the core using STM32 middleware USB libraries here, which has a license stating it may only run on STM32 parts. Running it on GD32 chips violates that.
    • (from https://www.st.com/SLA0044) "This software or any part thereof, including modifications and/or derivative works of this software, must be used and execute solely and exclusively on or in combination with a microcontroller or microprocessor device manufactured by or for STMicroelectronics."
    • => We can make a new Arduino core free of these licensing issues by carefully choosing the included (or non-included / self-written) code

Collaborating

Interested in collaborating? Join our dedicated Discord channel for this at https://discord.gg/59kf4JxsRM.

State of the project

This project is currently in a planing phase with no code written yet.

A custom dev board has been designed to make development uniform / reproducable.

ToDo List (subjecto to change)

  • Hardware Design
    • Design custom PCB for development
    • Submit for manufacturing
    • Get PCBs back
    • Distribute to devs
    • Verify and test PCBs (with e.g. simple SPL firmwares)
  • Software Design
    • Decide on questions that influence the core design, e.g.
      • Depend on / call into SPL framework by GigaDevice, or write own baremetal drivers?
        • flash savings and customizability vs simplicity / development speed
        • also has implications on used licence?
      • PlatformIO integration first, Arduino IDE integration later?
      • Software USB implementation for chips not supporting USB?
      • What exact chips need a custom Arduino core because they are not clones of some STM32 chip (and thus https://github.com/stm32duino/Arduino_Core_STM32 applies)
      • etc. etc.
    • decide on possible project license

Updates / History

31.05.2021:

Initial contact and thoughts about an Arduino core implementation with @kemotz via Email.

02.06.2021:

Creation of the Github project and the discord channel.

10.06.2021:

A custom dev board has been designed and is in production. The repo with the files for it is at https://github.com/kemotz/GD32F1x0-dev-brd.

grafik grafik grafik

About

A Arduino core implementation for some GD32 type chips, at first focusing on GD32F1x0 type chips.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published