You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

77 lines
2.6 KiB

  1. # Proton C
  2. The Proton C is an Arm STM32F303xC based drop-in replacement for the Pro Micro.
  3. <img src="https://i.imgur.com/GdsN1Rdh.jpg" alt="Proton C" />
  4. #### Features
  5. * Through-hole mounted USB-C Port
  6. * 32-bit 72MHz Cortex-M4 processor (STM32F303CCT6)
  7. * I2C, SPI, PWM, DMA, DAC, USART, I2S
  8. * 23x 3.3V I/O Ports
  9. * 1x 5V output for WS2812 LED chains
  10. * 256kB flash
  11. * 40kB RAM
  12. * AST1109MLTRQ speaker footprint
  13. * Reset button
  14. ## Warnings
  15. Some of the PCBs compatible with Pro Micro have VCC (3.3V) and RAW (5V) pins connected (shorted) on the pcb. Using the Proton C will short 5V power from USB and regulated 3.3V which is connected directly to the MCU. Shorting those pins may damage the MCU on the Proton C.
  16. So far, it appears that this is only an issue on the Gherkin PCBs, but other PCBs may be affected in this way.
  17. In this case, you may want to not hook up the RAW pin at all.
  18. ## Manual Conversion
  19. To use the Proton C natively, without having to specify `CONVERT_TO=proton_c`, you need to change the `MCU` line in `rules.mk`:
  20. ```
  21. MCU = STM32F303
  22. BOARD = QMK_PROTON_C
  23. ```
  24. Remove these variables if they exist:
  25. * `BOOTLOADER`
  26. * `EXTRA_FLAGS`
  27. Finally convert all pin assignments in `config.h` to the stm32 equivalents.
  28. | Pro Micro Left | Proton C Left | | Proton C Right | Pro Micro Right |
  29. |-----------|----------|-|----------|-----------|
  30. | `D3` | `A9` | | 5v | RAW (5v) |
  31. | `D2` | `A10` | | GND | GND |
  32. | GND | GND | | FLASH | RESET |
  33. | GND | GND | | 3.3v | VCC <sup>1</sup> |
  34. | `D1` | `B7` | | `A2` | `F4` |
  35. | `D0` | `B6` | | `A1` | `F5` |
  36. | `D4` | `B5` | | `A0` | `F6` |
  37. | `C6` | `B4` | | `B8` | `F7` |
  38. | `D7` | `B3` | | `B13` | `B1` |
  39. | `E6` | `B2` | | `B14` | `B3` |
  40. | `B4` | `B1` | | `B15` | `B2` |
  41. | `B5` | `B0` | | `B9` | `B6` |
  42. | `B0` (RX LED) | `C13` <sup>2</sup> | | `C13` <sup>2</sup> | `D5` (TX LED) |
  43. You can also make use of several new pins on the extended portion of the Proton C:
  44. | Left | | Right |
  45. |------|-|-------|
  46. | `A4`<sup>3</sup> | | `B10` |
  47. | `A5`<sup>4</sup> | | `B11` |
  48. | `A6` | | `B12` |
  49. | `A7` | | `A14`<sup>5</sup> (SWCLK) |
  50. | `A8` | | `A13`<sup>5</sup> (SWDIO) |
  51. | `A15` | | RESET<sup>6</sup> |
  52. Notes:
  53. 1. On a Pro Micro VCC can be 3.3v or 5v.
  54. 2. A Proton C only has one onboard LED, not two like a Pro Micro. The Pro Micro has an RX LED on `D5` and a TX LED on `B0`.
  55. 3. `A4` is shared with the speaker.
  56. 4. `A5` is shared with the speaker.
  57. 5. `A13` and `A14` are used for hardware debugging (SWD). You can also use them for GPIO, but should use them last.
  58. 6. Short RESET to 3.3v (pull high) to reboot the MCU. This does not enter bootloader mode like a Pro Micro, it only resets the MCU.