How to Set Up ZMK Firmware From Scratch

Поделиться
HTML-код
  • Опубликовано: 22 июн 2024
  • This video should hopefully help you regardless of if you just want to build firmware for an existing board or create one entirely from scratch. We'll cover both matrix wiring and direct pin wiring along with keymaps, compiling, and flashing. ZMK heavily leverages GitHub Actions meaning everything is compiled remotely making it possible to compile and flash firmware from an iPad or other device that isn't a computer.
    ~ Links ~
    My Keyboards: keyboards.scottokeebs.com
    My Shop: scottokeebs.com
    Merch: merch.scottokeebs.com
    ZMK Docs: zmk.dev/docs
    ZMK Discord: / discord
    ScottoKeebs Discord: / discord
    ~ Handwiring Tools ~
    TS100 Soldering Iron: amzn.to/3LCsrkb
    D24 Chisel Tip: amzn.to/3VFxiES
    63/37 Solder: amzn.to/3uBlMPu
    ~ Handwiring Parts ~
    1N4148 Diodes: amzn.to/3Ccljbb
    16g Copper Wire: amzn.to/3xLDVvJ
    Raspberry Pi Pico: amzn.to/3HglCVb
    Arduino Pro Micro: amzn.to/3HkR9Fn
    Ethernet Cable: amzn.to/3uyaOKr
    M2x6mm Screws: amzn.to/3UI1bDH
    M2x8mm Spacer: amzn.to/3Y4KzJ3
    M2 Heat Set Insert: amzn.to/3WjklB9
    Durock Stabilizers: amzn.to/3FgcLQR
    ~ 3D Printing ~
    Ender-3 Pro: amzn.to/3VIWryL
    PEI Magnetic Bed: amzn.to/3Hi7URx
    Dual Z Upgrade: amzn.to/3h7DTJy
    BLTouch Auto-Leveling: amzn.to/3UGEBv8
    ~ Favorite Cheap Switches ~
    Gateron Milky Yellow: amzn.to/3Bk0Cci
    Akko Lavender Purple: amzn.to/3VJy440
    ~ Social ~
    / joe_scotto
    / joe_scotto
    ko-fi.com/joe_scotto
    ~ Community ~
    ScottoKeebs Discord: / discord
    Handwired Keyboards Reddit: / handwiredkeyboards
    ~ Timestamps ~
    0:00 - Intro
    0:43 - GitHub
    1:15 - Preparation
    3:14 - Creating the Shield
    3:48 - Keyboard Config
    4:33 - Matrix Wiring
    7:20 - Direct Wiring
    8:14 - Keymap
    9:09 - Compiling
    9:53 - Flashing
    10:13 - Outro
    ~ Disclaimer ~
    Some links may be affiliate links where I will make a small commission. Nothing in this video was sponsored by any outside party and I wasn't paid for the content in this video.
    #zmk #firmware #mechanicalkeyboard
  • НаукаНаука

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

  • @joe_scotto
    @joe_scotto  Год назад +5

    So guys, just as usual if you have any questions… feel free to ask! Also, as mentioned in the video check out both my Discord (discord.gg/vN6X3z8eyv) and the official ZMK Discord (discord.gg/uGrqpuWaut) for even more help 🙂

    • @70RCH
      @70RCH Год назад

      I've got some nice!nanos arriving today, this really helped me feel a bit more prepared!
      Do you have any plans to cover nice!view displays? I got a lot out of your OLED video as well.

  • @synless322
    @synless322 Год назад +5

    Genuinely helped me a lot, I have struggled to create a shield for a very long time. I just managed it yesterday but this video would have made things much easier!
    Thanks. Thanks also for the nice little tricks like &bootloader key, I was looking for this one

  • @pgpilotpete
    @pgpilotpete Год назад

    Nicely done. Thanks for taking the time to put this out.

  • @disarmyouwitha
    @disarmyouwitha Год назад +1

    ScottoGang! Thanks for the ZMK video =]
    I’ll be doing a wireless Corne soon and I have been procrastinating getting ZMK set up~

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

    Actually testing ZMK myself, I spent like an hour on all the compiling and waiting until I found that direct pins need different GPIO_ flags than your video!!
    They need to be flipped for direct, like this: ,
    Like so that others don't get burned like me.

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

    Super quick & but sharp and sufficient explanation to de-mystify this nice nano subject !

  • @ardamanjyrwa1669
    @ardamanjyrwa1669 Год назад

    lets goo been waiting for this..... keep up the good stuff!!

  • @bricecarpentier5817
    @bricecarpentier5817 Год назад

    Thanks man! Super clear and didactic!

  • @bobbyhutter5654
    @bobbyhutter5654 Год назад

    Good stuff Joe!

  • @matteuuk
    @matteuuk Год назад +2

    thansk for talking about ZMK. can you maby make a video about have to use a i/o expander in zmk

  • @raphaelmosaic
    @raphaelmosaic Год назад

    Great video!! @joe scotto Would love a video tutorial explaining on how to solder the battery packs to a wireless keyboard. also guidance on how to mount the battery package. Would love to have a super thin and light ortho split keyboard which can fitt in my pocktets and which connects to my ipad mini via BT and where I can basically work from everywhere with. Ideally also sticking it to my pants with valcro tapes or a magnetic connection. Ben Vallack made a video on how he wears his BT split keyboard but never made a tutorial on how to build the BT version of the sweep...

  • @alexmelillo1247
    @alexmelillo1247 Год назад +1

    Finally! Typing this comment from my wireless keyboard 😎 Thanks Joe

  • @jgmora
    @jgmora Год назад +1

    Thanks so much, this helps me a lot, quick and focused tutorial. Are interested to do explanations on the rgb modules or battery?. Also i have an example for the complete list of pins for the nicenanov2, you may know that has 3 extra middle pins than the normal arduino

    • @joe_scotto
      @joe_scotto  Год назад +2

      Many keep asking for RGB so it’s on the content list :)
      As for the battery, I have a video where I briefly explain it at the end: ruclips.net/video/DvWJjn1CbM4/видео.html
      The TL;DW is that you just get a lipo and solder it to the plus and minus of the Nice Nano. Typically 100-500mah and will last about 1-5 weeks.

    • @jgmora
      @jgmora Год назад

      @@joe_scotto actually I have resolved the RGB part, is pretty cool, and thanks for your suggest

  • @lumpiaedits4944
    @lumpiaedits4944 Год назад +1

    Where did you get the overlay file from

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

    The new Keychron B1 seems to have ZMK firmware.

  • @BryanCorona-vl4cy
    @BryanCorona-vl4cy Год назад

    How would I do this with an exciting GitHub zmk firmware?Building a totem and I’m trying to get the uf2 file

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

    This is great but how do we do this for a wireless corne?

  • @70RCH
    @70RCH Год назад

    How would you be able to reach the bootloader binding with this keymap? 9:00
    It looks like it's the same position as the MO switch, so I'm just not sure how that works. Thanks!

    • @joe_scotto
      @joe_scotto  Год назад +1

      You wouldn’t lol. I just realized that… weird it compiles actually.

    • @70RCH
      @70RCH Год назад

      @@joe_scotto Ah okay, appreciate the answer -- I thought I was missing something!
      Great video, I'll definitely rewatch this a few more times before I do my nice!nano build.

  • @lambmaster
    @lambmaster 8 дней назад

    Thanks for this, but... what is the prerequisite knowledge for this? I don't even know what a shield is (yeah I looked it up but I'm just using this as an example). It seems like I'm supposed to know a bunch of stuff before watching this video. I did the ZMK tutorial on getting started, but everything else in the docs also seem to assume some prerequisite knowledge. PS I do know Git and Github, as I am a web developer.

  • @Dp-wi7tz
    @Dp-wi7tz Месяц назад

    while compiling im getting an error in west build, im getting a cmake error and a zephyr error can you help?

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

    5:40 What he is saying here does make sense. However, I am confused as to why you didn't need to use `GPIO_PULL_DOWN` for the `col-gpios`. Any idea why it's different?

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

      I believe the column pins become outputs and the row pins become inputs. Only inputs need to be biased.

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

    I do not know why, but for me is only works when i swapped .defconfig file and .shield file.

  • @nulla3655
    @nulla3655 Год назад

    I'd say I prefer KMK for now; it doesn't need to be compiled, an environment nor flashing unlike QMK - everything is on the board (most likely nice!nano or raspberry pi pico), all you need is to tinker with 2 files that are accessible with a click of a button

  • @Dp-wi7tz
    @Dp-wi7tz Месяц назад

    why did he use pro micro when he was making it for a nice nano? are they interchangeable (in code)

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

      That’s how ZMK names the pins.

    • @Dp-wi7tz
      @Dp-wi7tz Месяц назад

      @@joe_scotto thank you very much

  • @michaeldubery3593
    @michaeldubery3593 7 месяцев назад

    What do you mean by 'drop the file onto it' to flash it?

    • @joe_scotto
      @joe_scotto  7 месяцев назад

      You drag and drop the .uf2 firmware file that the compilation command outputs onto the controller.

  • @J_li-in5cy
    @J_li-in5cy 10 месяцев назад

    hey can you please make a video how to setup vial or via on ZMK corne ❤

    • @joe_scotto
      @joe_scotto  10 месяцев назад

      ZMK doesn’t support any graphical configurators.

    • @J_li-in5cy
      @J_li-in5cy 10 месяцев назад

      @@joe_scotto oh sh*t, ok thank you very much, than i will switch to qmk on my corne

  • @ericfayhuynh
    @ericfayhuynh Год назад +1

    I think I am missing a step here. Through what terminal? My own computer? through the github's terminal. Kinda confused here.

    • @joe_scotto
      @joe_scotto  Год назад

      You use the terminal on your computer and then push it up to GitHub where it’s compiled for you.

    • @ericfayhuynh
      @ericfayhuynh Год назад

      @@joe_scotto i tried the terminal on my computer but it couldnt load the list that i saw in the video. Am i suppose to download something?

    • @ericfayhuynh
      @ericfayhuynh Год назад

      does it make a difference if i use a windows computer instead of a macbook?

    • @joe_scotto
      @joe_scotto  Год назад

      @@ericfayhuynh Yes. You’ll have to use the windows commands, you’ll see a tab on the website for them.

  • @sanketss84
    @sanketss84 10 месяцев назад

    Got my firmware built for xaio ble successfully but i dont know how do i connect via Bluetooth. I have connected this to pc via usb. Can i still connect via Bluetooth if its connected via usb, can i just use usb for power ?

    • @sanketss84
      @sanketss84 10 месяцев назад

      Key bindings are working via usb so the firmware was flashed. My only confusion is how do I use the Bluetooth pairing without battery and just usb power, is it possible?

    • @joe_scotto
      @joe_scotto  10 месяцев назад

      I'm not familiar with that controller but I know on the nice!nano it can use USB as power but will default to a usb connection if you connect it to a computer. If you try powering it off a usb battery pack you could test if it works.

    • @sanketss84
      @sanketss84 10 месяцев назад

      @@joe_scotto I figured it out. Thanks for your inputs. Got it working on usb data cable power, power bank via usb and also battery connected to the battery pins of the board.

    • @sanketss84
      @sanketss84 10 месяцев назад

      @@joe_scotto added this to the conf CONFIG_ZMK_KEYBOARD_NAME="Sanket XIAO" and also had to key bind and press &bt BT_CLR to clear and then the board showed up.

  • @jadam42
    @jadam42 21 день назад

    why go through everything, but then not show the last 3 steps?

  • @mistafizz5195
    @mistafizz5195 Год назад +11

    This video confused me even more smh

    • @drg9522
      @drg9522 8 месяцев назад

      Fr fr

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

    Hey, how do you get the .shield , .defconfig and .overlay files?
    It would be a bit tedious having to copy out all the code from the .overlay file from your video.

  • @dagger6498
    @dagger6498 Год назад +1

    Cool. But wtf is ZMK?