UART vs SPI on 3D Printers. What are they?

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 มิ.ย. 2024
  • What is the difference between UART and SPI and does it matter on 3D Printers? Configuring control boards and firmware can be a highly complex and confusing endeavour. knowing the difference between UART and SPI and how to configure each can be a critical step to ensure you can enable the stepper driver features you want.
    You can support the channel via Patreon.com/Vector3D
    Thanks to BIQU for providing the BTT GTR V1.0
    Twitter: @Adam_V3D
    V3D Discord: / discord
    V3D Merch: vector3d.co.uk/product-catego...
    Instagram: @Adam_V3D
    Gear: www.vector3d.co.uk/my-gear
    Blog: www.vector3d.co.uk/blog
    Website: vector3d.co.uk/
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 54

  • @alpachino468
    @alpachino468 3 ปีที่แล้ว +21

    4:56 You're all welcome...

    • @andrewcichetti555
      @andrewcichetti555 4 หลายเดือนก่อน

      he still doesn't even get to it until 5:40!

  • @kwaad2
    @kwaad2 3 ปีที่แล้ว +3

    Very good explanation on the two technologies, and explaining the application and advantages. (or total lack thereof) between the two. Thanks for the video!

  • @Spartacusse
    @Spartacusse 3 ปีที่แล้ว +9

    UART has some nice features for people who are into tinkering, like dynamically switching from spreadcycle and stealthchop2 modes. But I think what most people will use, if they do, is being able to change the driver Vref in the firmware and not by turning the potentiometer.

  • @S00rabh
    @S00rabh 4 ปีที่แล้ว +1

    My friend, this is what I wanted to know but did not bother to search for. Subscribed for this video.

  • @RobbieHatley
    @RobbieHatley 11 หลายเดือนก่อน

    Excellent video; thanks for making and posting. I was interested in how SPI works, but the first few videos I looked at that claimed to be about connecting a CPU (Arduino, ESP32, Pi, Teensy, etc) to a TMC5160 stepper driver had "SPI" in their title, but skipped actually describing how to hook it up. Thanks for the detailed description!

  • @rayams
    @rayams ปีที่แล้ว

    Thank you so much for sharing this info - in fact, these were confusing to me as well.

  • @avejst
    @avejst 4 ปีที่แล้ว

    Great update
    Thanks for sharing👍😀

  • @leandrodibuono4004
    @leandrodibuono4004 4 ปีที่แล้ว +2

    Ótimo vídeo, usei as legendas. Deu pra entender certinho. Obrigado.

  • @roeidalm
    @roeidalm 2 ปีที่แล้ว

    Thanks so much! now i understand the different!

  • @garramiro
    @garramiro 4 ปีที่แล้ว +2

    remember on my embedded systems class learning about UART, i have now forgotten almost everything lol.

  • @takocankol
    @takocankol ปีที่แล้ว

    Thank you great explanation

  • @zzing
    @zzing 4 ปีที่แล้ว

    The red headers are nice contrasting.

  • @36191727
    @36191727 4 ปีที่แล้ว +2

    this came just in time, im about to upgrade my printer's board and drivers, and i really confused about spi/uart

  • @certified-forklifter
    @certified-forklifter 4 ปีที่แล้ว

    awesome. thanks for this video. I was wondering, if you could make a video focussing about the Wifi function of this board. What it can do and so :) would be interested.

  • @machinerin151
    @machinerin151 4 ปีที่แล้ว +5

    Fun fact: GTR board, when taken with an expansion board and filled with UART TMC2209 drivers - costs almost as much as a Duet 2 + Duex5 clones from the same Bigtreetech. It has more inputs and outputs, if you plan to use Klipper - it's a pretty good system, could be worth it, maybe for something like a Voron or other printer with lots and lots of motors.
    If you do like Reprap firmware, and don't mind its restrictions and lower speeds - you can get a Duet clone.
    Either way - Bigtreetech has got you covered. I like what they're doing. Affordable prices, true open-source on github...
    I wish Bigtreetech made their own Pi board! You know, to order alongside the other boards, for octoprint and other similar things.

    • @gazeddy
      @gazeddy 4 ปีที่แล้ว +1

      Id like something similar to the einsy rambo as used on prusa mk3 with a location to gpio hook up a pi "natively"

    • @gazeddy
      @gazeddy 4 ปีที่แล้ว

      Having not watched this video throughout haha i meant on more "normal" boards skr etc

    • @machinerin151
      @machinerin151 4 ปีที่แล้ว

      @@gazeddy Pi GPIO header is waaay too large, SKR boards are already full of components, there's no space on them.

    • @cameronmalchow7597
      @cameronmalchow7597 2 ปีที่แล้ว

      @@machinerin151 You don't need to hook up all the GPIO pins to the board, just the ones required for communication.

    • @TECHNDJ
      @TECHNDJ ปีที่แล้ว +1

      Ur wish is just happend and now its on my hands too😃 Manta + CB1💝

  • @stevehanwright481
    @stevehanwright481 ปีที่แล้ว

    Thanks good work😊

  • @fallofmanbrand
    @fallofmanbrand 4 ปีที่แล้ว

    amazing video

  • @gundy5057
    @gundy5057 ปีที่แล้ว +2

    At 4:28 seconds I found myself asking out loud, what the hell does any of this have to do with SPI or UART.

  • @NorthAlabamaPC
    @NorthAlabamaPC 4 ปีที่แล้ว +10

    Missed one thing on UART, there is one wire mode and two wire mode. One wire mode sends then waits for a response on that same wire, two wire mode is what you showed in your video. On the SKR’s, Pro, GTR, & M5 all use one wire mode. th-cam.com/video/alPl3kzp_oE/w-d-xo.html

    • @AlyssaNguyen
      @AlyssaNguyen 2 ปีที่แล้ว

      There can be up to four wires if you add in hardware flow control with the RTS/CTS lines.

  • @nyeinchanzaw6936
    @nyeinchanzaw6936 3 ปีที่แล้ว

    thank you.

  • @MarkusFotofieber
    @MarkusFotofieber 4 ปีที่แล้ว +2

    AFAIK boards like SKR 1.4 use only one pin for RX and TX with TMC drivers in UART mode.

    • @grathado28
      @grathado28 ปีที่แล้ว

      hey buddy thanks for making the video yes it did help.

  • @geraldblindeling4405
    @geraldblindeling4405 4 ปีที่แล้ว

    Hi can you make a video how to setup this board for it to compile propely with no error thx.

  • @datrandomdugggy5537
    @datrandomdugggy5537 ปีที่แล้ว

    so does uart set microstepping or do i need use step/dir mode to get microstepping?

  • @plampix
    @plampix 4 ปีที่แล้ว

    Do keep in mind that, if you want to use UART for your stepper drivers, the microcontroller will probably not have that many UARTS supported in hardware, and a software implementation must be used (which will probably be slower/require more resources/be less reliable), whereas with SPI, you only need one SPI bus on your microcontroller (of which there may be more than one)

    • @Vector3DP
      @Vector3DP  4 ปีที่แล้ว

      That's a really good point and one which i hadn't considered. Do you know if the software implementation would be slow enough to cause issues? Or do you know that they're not already using a software implementation?

    • @plampix
      @plampix 4 ปีที่แล้ว

      @@Vector3DP There are SoftwareSerial implementations included in the Marlin source code. I don't know if it'll cause issues. It might be a theoretical problem only.

    • @plampix
      @plampix 4 ปีที่แล้ว +2

      I don't think it actually matters, most drivers use step/dir for controlling the motors, and only use one of the serial interfaces for configuration, which won't happen that often and has no critical timing. Those that can use a serial interface for controlling the motors, use the SPI bus.

  • @szekerespista3758
    @szekerespista3758 3 ปีที่แล้ว

    The UART mode is not supported on SKR 1.2 PRO board?

  • @CostlyFiddle
    @CostlyFiddle ปีที่แล้ว

    Til better to overkill than underkill!

  • @alfredanil
    @alfredanil 2 ปีที่แล้ว

    Is there a way to add ethernet to octopus board instead of wi-fi? Probably a ethernet breakout board with UART or SPI interface. Looking to connect my RPi remote server to 3d printer.

  • @NeoIsrafil
    @NeoIsrafil 2 ปีที่แล้ว

    I wonder if there's one the tmc2209 and SKR2 prefer... cuz they'll take either depending on your jumpers. Ah wait, my bad, the 2209 are UART. Maybe it was the 2208 that was spi...
    Hell...this dang thing can take step/dir too if I wanna use my big CNC stepper drivers... lol

  • @colind6797
    @colind6797 ปีที่แล้ว

    That second head growing beside your nose looks PAINFUL homie, tea tree oil is your friend (soak a cotton ball and press and hold it on for a while, you can even hold it there long term with a band-aid if necessary. Do this when you wake up and then before bed and it should be gone in 2 days tops!)

  • @Bajicoy
    @Bajicoy 4 ปีที่แล้ว

    Me: I don't understand the difference
    Vector3D: this is how to understand the difference
    My brain: no, I don't think I will
    Really nice video guide, I will rewatch this in a little bit after I figure out the wiring for TMC2130 to RAMPS to fix some cetus printers.

    • @Vector3DP
      @Vector3DP  4 ปีที่แล้ว +1

      The difference is: nothing. (well there is but mostly it doesn't matter)

    • @Bajicoy
      @Bajicoy 4 ปีที่แล้ว

      @@Vector3DP thanks!

  • @cameronmalchow7597
    @cameronmalchow7597 2 ปีที่แล้ว

    Almost a good video, but you very much ignored the software difference between the two. Specifically the added features you get with Marlin when you use UART as the communication type on steppers that support it. Added features like being able to specify the current, turn on/off the various modes and set thresholds for modes. This is a lot more than you can currently do with the SPI connection in Marlin.

  • @StephenMott
    @StephenMott 4 ปีที่แล้ว

    Sorry Adam, not wanting to troll, but you mention parallel vs serial, which neither UART or SPI is, and your SPI diagram is a bit out, surely MOSI goes to MISO, you basically setup a chain then use CS to reference them..? I'm probably just jealous as I want one of those boards to give S.T.E.V.E. 3 Z axis steppers.. ;-)

    • @Vector3DP
      @Vector3DP  4 ปีที่แล้ว +1

      Don't mention one vs the other, just a diagram of both to show what the 'serial' part of serial communication means in winder context. Mosi goes to Mosi. That's why they're named like that, to prevent confusion like you get with UART where you wire up to diffently named ports. Master is the main chip, slaves are the stepper drivers. Output of the master connects to input of the slave, hence Mosi.

    • @StephenMott
      @StephenMott 4 ปีที่แล้ว

      @@Vector3DP Fair enough, just seemed a bit random, I always thought MOSI (Master Out Slave In) goes to MISO (Master In Slave Out), maybe that's why I prefer I2C.. :)

    • @tomaski.
      @tomaski. 3 ปีที่แล้ว +1

      @@Vector3DP Actually, Stephen is correct. MOSI/MISO is used AFAIK exclusively on MCUs, because these are assumed to be the master. Devices other that MCUs usually use SDO/SDA and are connected MISO-SDO and MOSI-SDA. But when two MCUs are communicating, then the master "status" alternates and the one sending is a master but when it receives, it is a slave. That is why MOSI goes to MISO.

  • @AlyssaNguyen
    @AlyssaNguyen 2 ปีที่แล้ว

    To confuse matters even more, it's often possible to select between UART and USB when setting up Klipper. USB is easier to set up as far as the average person is concerned, but UART might be a few nanoseconds faster because most 3D printer controller boards these days use a UART to USB chip. In fact, when sending G-code from a computer connected to a printer via USB, the computer doesn't actually know it's talking to a 3D printer. It only sees a USB to UART adapter (which is why the printer appears as a serial port in Windows Device Manager or the equivalent). That's probably not going to change any time soon, especially with all of the existing software and hardware out there.

  • @mcbeenb
    @mcbeenb ปีที่แล้ว +2

    SPI is a bus technology. UART is serial point-to-point

  • @d.m.rleenen6918
    @d.m.rleenen6918 4 ปีที่แล้ว

    HAH First

  • @michaelmerryman577
    @michaelmerryman577 3 ปีที่แล้ว +1

    No real info
    Both work both are ok..
    No Ibofo on feature like linear advance
    " hi use either one" but you watched my video for better features with ZERO features listed !!