STM32 Keyboard PCB Design

Поделиться
HTML-код
  • Опубликовано: 30 янв 2024
  • Designing a keyboard with an STM32F072 microcontroller.
    This uses a template for the controller and USB port, avoiding having to make design decisions about routing the microcontroller.
    KiCad:
    www.kicad.org/
    Template:
    github.com/NCKiser/STM32F072_...
    KLE Placer Plugin:
    github.com/zykrah/kicad-kle-p...
    Marbastlib Footprint Library:
    github.com/ebastler/marbastlib
    JLC Parts List:
    docs.google.com/spreadsheets/...
    Keyboard Layout Editor:
    www.keyboard-layout-editor.com/
  • НаукаНаука

Комментарии • 39

  • @georgedoubleyou4098
    @georgedoubleyou4098 4 месяца назад

    Really good, as usual, love the KLE Placer and the parts list. Thanks!

  • @benjack6637
    @benjack6637 2 месяца назад +2

    What a legend, this video is exactly (to the letter) what I was looking for!
    Can you flash the bootloader to the STM chip over the USB? I've only used blackpills in the past where I needed to use the stm usb to serial flashing tool connected to the serial pins. If these pins aren't exposed how do you get the bootloader on the chips, does JLCPCB factory flash them for you or something?

  • @foxtrotperry
    @foxtrotperry 5 месяцев назад +4

    Love your videos! Thank you so much for providing such valuable resources for free. It really means a lot.

    • @noahkiser
      @noahkiser  5 месяцев назад

      Glad you like them!

  • @Chockrit
    @Chockrit 4 месяца назад +1

    Thank you for sharing your template. For V2 of my keyboard design, I was planning on painstakingly copying a schematic for a ProMicro and probably messing up along the way. Your videos have basically taught me KiCad.

    • @noahkiser
      @noahkiser  4 месяца назад +1

      The STM32F072 has a very detailed datasheet. Have a read through it if you are going to do anything other than a simple switch matrix: www.st.com/resource/en/datasheet/stm32f072cb.pdf
      www.st.com/en/microcontrollers-microprocessors/stm32f072cb.html

  • @protieus
    @protieus 5 месяцев назад +2

    Thank you. Finally a proper stm32

    • @noahkiser
      @noahkiser  5 месяцев назад +1

      No problem 👍

  • @buzz1ebee
    @buzz1ebee Месяц назад

    Great video! Great idea to use the esp32 designs to skip reinventing the wheel. I've been really enjoying your content. Have kicad installed and plan to make a full sized iso layout board.
    It would be amazing to see adding features like encoders for knobs (should be fairly easy), leds via i2c or something, how to flash and customise firmware, and how to use something like the esp32 to also enable 2.4ghz connectivity via a dongle.

  • @enginsama
    @enginsama 4 месяца назад

    ah finally. great tutorial Noah. Thanks for sharing !

    • @enginsama
      @enginsama 4 месяца назад

      What should we do if we wanna make %60ish keyboard and also add smd leds to the under like underglow ? Adding and managing power source for leds kinda hard to make imo.

    • @noahkiser
      @noahkiser  4 месяца назад +1

      @@enginsamaunderglow and per-key rgb lighting is a topic that I hope to cover in a future video

    • @enginsama
      @enginsama 4 месяца назад

      Thank you so much for your work, you are amazing@@noahkiser

  • @user-pk4hn1uz1k
    @user-pk4hn1uz1k 4 месяца назад +1

    thanks that clears things up

  • @AdamFeinstein
    @AdamFeinstein 3 месяца назад +1

    You're very thorough and concise in your explanations, and it's a gift to have been clearly shown a way to design using this template. Thank you for making PCB design so much more accessible!
    One minor thing I can't get to work is what you do at 20:03 - switch out the USB footprint for the marbastlib version. I followed the same exact steps and updated from schematic, and the footprint updated successfully. However, when I go to the 3D view, the USB still doesn't show. I'm curious if there's an additional setting you may have that's different, or perhaps you may know of a reason why the 3D model for the USB header doesn't show even though I updated to the marbastlib footprint?

    • @AdamFeinstein
      @AdamFeinstein 3 месяца назад

      Figured it out, and for anyone with a similar issue:
      For whatever reason, either the download did not contain the 3D .step file or the plugin did not import it correctly.
      I had to find the .step file separately (it's called HRO_TYPE-C-31-M-12.step) online and download it.
      (My download had .txt extension, but just override it to .step if so).
      From the PCB editor, double-click on the USB component to open Footprint Properties. Under 3D Models, click "+" to add the .step file.
      Most likely the .step file will not be in the correct place, so highlight the newly added .step file in the list, and adjust the settings in the modifications panels on the left.

  • @berkayaltok835
    @berkayaltok835 Месяц назад

    So good video. Do you make video about hall effect keyboard pcb design?

  • @bahmad5811
    @bahmad5811 5 месяцев назад

    a simple way to make rounded board layout is to draw a rectangle then right click on one corner and select filet and enter radius of corners.

    • @noahkiser
      @noahkiser  4 месяца назад

      This is a great trick! Will have to use it in a future design.
      Sometimes the board isn't just a rectangle, so it's back to lines and arcs to make complicated edge cuts

  • @sadeghmollaii9873
    @sadeghmollaii9873 4 месяца назад +1

    Awsome

  • @joshuabrisebois5188
    @joshuabrisebois5188 2 месяца назад

    Could you do a video adding RGB to one of these boards? do you add in the LED or do you just swap out the diode for an LED?

  • @agneeshwar_
    @agneeshwar_ 3 месяца назад

    Would you recommend going completely crystal-less for USB operation? Or is it better to include an LSE crystal in the design?

  • @Tenshiwa
    @Tenshiwa 4 месяца назад

    Hi Noah.
    I've been following your TKL series the past few days, and now I only need to route the matrix. I already have slight knowledge how to do this with the rows and collums, so I'm just asking now if it's possible for me to finish the project by routing the rows of the diode catodes to 6 different IO pins, and my 18 Columns of switch inputs, to 24 IO pins on the RP2040, and then finish by flashing the QMK firmware onto the chip?
    Also, would you recommend using Western Duplex Matrix, or should I just keep to using one node pr. row and column individually.
    Great tutorial, and many thanks for the good videos!

    • @noahkiser
      @noahkiser  4 месяца назад

      Hooking up the common cathodes on each row to it's own GPIO, then the columns to their own GPIO is all that is needed to wire up the matrix. In your case, yes, you would need 24 pins (6 rows and 18 columns).
      I do recommend the Western Duplex, though I like to call it an "interlaced" or "folded" matrix, where you effectively double the rows and half the columns. In your case, that would take it from 6+18=24 to 12+9=21 pins, saving you 3 pins.

    • @Tenshiwa
      @Tenshiwa 4 месяца назад

      @@noahkiser What are the pros of using Western Duplex in my case instead of just using the pins I already have enough for.

    • @zegonix
      @zegonix 4 месяца назад

      ​@@Tenshiwa​@Tenshiwa it just saves you 3 pins, thats the only advantage. but the r2040 has only 29 gpios so if you plan to add other features, this might be necessary.

  • @JustSomeGuyCTFO
    @JustSomeGuyCTFO 13 дней назад

    Does any one have a template for the LQFP-100 package?

  • @ayzenshiro1090
    @ayzenshiro1090 11 дней назад +1

    Now, how to write firmware for that STM32? Can anyone put me in to right direction?

    • @imlassuom
      @imlassuom 4 дня назад

      Have you check QMK firmware?

  • @saken6381
    @saken6381 5 месяцев назад +3

    Are you still doing a TKL Keyboard PCB Design, Part 3?

    • @noahkiser
      @noahkiser  4 месяца назад

      I will, I promise. Most of what is left is just the matrix routing.

    • @saken6381
      @saken6381 4 месяца назад +2

      @@noahkiser Great to hear, I shall be waiting. Good luck!

    • @ozzloy
      @ozzloy 4 месяца назад +1

      ​​@@saken6381yeah, me too! thanks for making this, @noahkiser!

  • @tony3156
    @tony3156 5 месяцев назад +1

    This is equivalent of previous videos but for STM32 ?

    • @noahkiser
      @noahkiser  5 месяцев назад +1

      This is equivalent to the "Keyboard with Diodes" video, but now with an integrated controller instead of a pro-micro.

  • @sobotica4173
    @sobotica4173 4 месяца назад

    Are u ever gonna revive the ti84 ke?

  • @protieus
    @protieus 4 месяца назад

    I am currently using STM32F072C8T6. Any difference with your STM32 model that you are using?

    • @noahkiser
      @noahkiser  4 месяца назад +1

      Looks like the C8 has half of the flash memory of the CB, at 64Kbytes instead of 128. This would be quite limiting when running QMK, and would be insufficient when trying to run ZMK.