Mini 6-Layer Mixed-Signal Hardware Design Walkthrough - Phil's Lab #78

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ก.ย. 2024

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

  • @Graham_Wideman
    @Graham_Wideman ปีที่แล้ว +101

    Phil, the only discouraging thing about your videos is that you appear to be able to pump out such a prodigious quantity of well-thought-out designs so frequently that it's apt to make the rest of us feel like we lack the necessary superhuman abilities! Hahaha.

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

      Couldn't have said it in a better way

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

      Sure, wish I can get slow pace version form him. The thinking during design

    • @PhilsLab
      @PhilsLab  ปีที่แล้ว +6

      Haha thanks, Graham !

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

      😅 was think just that! Where do you find the time Phil to do so much?

  • @imignap
    @imignap 11 หลายเดือนก่อน +6

    This channel is a gem.

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

      Thank you very much!

  • @PCBWay
    @PCBWay ปีที่แล้ว +15

    Thanks a ton for featuring us in your great design, Phil! We are honored to partner with you 🥂🥂

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

      Thank you very much for having me on your team! Looking forward to future great boards from PCBWay :)

  • @kayitbilgileri
    @kayitbilgileri ปีที่แล้ว +6

    Thank you very much Phil for your great videos. I appreciate all your work. On your own channel and on Altium. Great thanks to Altium too, for supplying us(who do electronics as a hobby) these great materials and giving us an option to develop our knowledge in Electronics. I hope and wish you will keep this passion forever. I want you to know, that what you are doing for humanity, can not be paid or sold with any valuable or exchange. Live long, happy and healthy with the greatest wealth you already have, which is the happiness for helping to everyone unconditionally.

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

      Thank you very much for your comment. I'm glad to hear that! :)

  • @0p3nh4ym3r
    @0p3nh4ym3r ปีที่แล้ว +8

    This is extremely well thought PCB design! Thank you!

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

      Thanks a lot!

  • @ZacksLab
    @ZacksLab ปีที่แล้ว +15

    you should do a video about power rail filtering, I notice you use pi networks with FBs a lot. how do you determine if they're required, and what kind of sims do you do to choose component values? do you notice any issues on your high speed digital ICs that are taking abrupt gulps of current to get their fast edge rates (FBs would choke these frequencies)? do you just rely on local capacitance for this?

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

      Definitely plan on making a video on that in the near future. For now, there's a great app note on ferrite beads by Analog Devices (www.analog.com/media/en/technical-documentation/application-notes/an-1368.pdf). I'm not placing FBs after regulators for digital power lines (for example, placing a FB on the +5V line that feeds a +3V3 buck converter is okay), rather at power inputs before (e.g. directly after a connector). Have not had any issues for higher-speed designs this way either. More to come in the future video!

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

    Im about to start designing an eval board/module version of one of our products at work, this is a great starting point!

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

      Glad to hear that, thanks Wyatt!

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

    Thanks Phil. This is basically the exact design I was hoping to make too, and looks similar to how Meris do their reverb and delay pedals (in a larger enclosure though - I can’t believe you stuffed all this into such a small board!!!). Your channel is the best. :) Can’t wait for the DSP tutorials.

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

      Awesome, thanks for watching, Jason! Next DSP vid will be on guitar overdrives.

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

    Great walkthrough of a pretty intense board when you add in the extra work of getting it made in house....cheers.

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

      Thanks a lot, Andy!

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

    As a hobbyist, thank you so much for the invaluable content. I’ve learnt a lot from your videos in my own project. I haven’t tried STM32 as I was using ESP32 previously due to connectivity requirements.
    If it is possible, I hope you can do a custom board with using STM32 with 4G modules. I think it’ll help a lot of us in trying to create IoT devices. Once again, thank you and always looking forward to your next video!

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

      Thanks a lot! Very glad to hear that the videos are useful. I'm planning on making some ESP32 videos in the future as well. 4G module videos probably as well in the future, however, that isn't something I have on my 'to-do' list at the moment I'm afraid.

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

    Jumped into this.. ❣️thanks for uploading..

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

      Thanks for watching, Manu!

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

    Love your content. Would love to see more about mixed signal design, particularly with proper grounding!

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

    Would you consider creating a video explaining complete PCB layout process as in how you plan component placement , routing etc ? I understand its the most boaring process of embedded development but would love to understand how you manage to create such beautifully designed boards.

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

      I'd love to - however, this would mean recording and editing tens of hours of content. The closest I have to that is the course via Fedevel.

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

    You deserve far more subscribers for the qaulity of your videos!

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

      Thanks, Jon!

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

    Another well thought-out instructional video full of useful information. Thank you very much for for making them and keeping the quality this high. So far I've only designed 4-layered boards which then I hand or oven soldered myself, so the price at the end was a bit shocking. Maybe I have to get used to it, or just perfect my BGA aligning/soldering skillz :)).

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

      That price is eminently reasonable for five units, 6 layer, assembled, components both sides, and including the vendor supplying the components. So much sourcing time and assembly time saved.

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

    Thanks for uploading this Phil

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

      Thanks for watching!

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

    Amount of information in this videos and way you explain them we should be paying you. Waiting for new videos on the fpga SOM board :)

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

      Thank you! Just received the SoM modules - will be trying them out and then making some videos.

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

    Very thoughtful and inspiring design once again! I have a question for this and the previous dsp you designed. Can these configuration types be configured as a usb audio interface (audio dac/adc) that streams data in realtime via usb like typical soundcards do? Thinking of the low noice front end side this could be real good for applications like xlr mics or usb dacs! Thanks alot!!

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

      Thank you! Yes, ST even provides drivers for an audio USB interface (X-CUBE-USB-AUDIO). Up to 96kHz and 24bits.

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

    Thank you very much, please consider a video on how to choose the components based on our requirements?

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

    Great projects like the other ones Phil thank a lot. I have a question about ferrite bead in your designs. How do you choose proper ferrite bead according to your design ? I mean how do you determine the target frequency that needs to be suppressed ? I read a lot about ferrite bead but I could not find the answer of this question :) thanks in advance ...

  • @crosswick
    @crosswick 8 หลายเดือนก่อน

    Great stuff as always. Why are most of the connector pins not soldered though? 4:00

  • @RebelCoderX
    @RebelCoderX 8 หลายเดือนก่อน

    Hi Phil, I've been experimenting with some audio codecs such as the AD1937/AD1939 and a few others. Mostly I find them too complex. I couldn't even get the AD1937 to work at all (it just produces a bunch of loud noises). I've also experimented with the WM8524 (hardware controlled stereo DAC) which worked on the first attempt, but that one only has two output channels and I need 4 output and 4 input in total. I've also ordered a few WM8782S (hardware controlled stereo ADC) to experiment with, but when I looked recently, they've now gone obsolete. (And the WM8524 is also not that new in the market) I've been wondering the PCM1753 and PCM1808 (which I found on mouser) as newer replacements (the datasheets are last revised in 2019 and 2015 resp.) but the downside is that I would also need 2 of each of those because these also only have 2 channels each. So now I'm wondering about this CS4270 you're using here. It's not available on mouser unfortunately, and on LCSC it's quite a bit more expensive (17 dollars with only 34 in stock). Now that's not a big problem, as long as I can get it to work and it will be available for the foreseeable future. So I wanted to ask how much difficulty you've had getting this chip to work?

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

    High quality content as always

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

    Amazing board!

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

    Please show the setup in stm32cube? It's quite difficult finding high quality tutorials on advanced stm32 peripherals and MCUs such as the H7 series

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

      Good idea - I'll do that. It was a bit of a headache getting it up and running with caches + DMA, but all working well now.

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

      @@PhilsLab your headaches make fabulous content and are our valuable learning opportunities!

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

    Another great video. if you think the mid mount usb c connector is cool. you can make the board itself the usb c connector. there is a footprint out there for eagle for this.

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

      Would you link to this?

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

    In a number of your videos I have watched, you reference that custom JTAG connector. Do you have a recording in which you discuss that at length? Maybe you should make one?

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

    How many days of full-time work does a board like this require on your side? And I mean including datasheet reading and parts selection.

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

      Including datasheets, part selection, and so on - probably just under a month of part-time work (evenings). Full-time I guess that means two weeks.

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

    Thank you for sharing this.

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

      Thanks for watching, Andrew!

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

    very cool board, but can you modify the analog side to work at eurorack levels and add some CV ins and outs?

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

    Hey Phil, do you mind sharing the CS4270 driver for STM32? I’ve used the same CODEC in a DSP board design and I’ve scoured the internet for any reference but haven’t found anything.

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

    Nice Video! One question regarding the DC blocking capacitors in the audio path: Usuall, Class 2 (X5R, X7R) dielectric MLCCs are not recommended due to microphonic effects. Electrolytics, Class 1 (C0G) or film capacitors are preffered, but they are much larger. Do you see any downsides to using Class 2 MLCCs? By what factors are those microphonic effects influenced (SPL, voltage etc.)?
    Could you maybe do a video about this topic (capacitors in audio applications, no special material voodoo, just facts)?

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

    Yay!! More guitar videos!

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

    I noticed that you've connected boot0 to ground, and are using SWD for programming(so you can boot into flash). But what are you using the USB for? Doesn't that require system memory for booting so boot0 pin must be logic high?

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

    Hi Phil, great video as always! Will the design files for this board be available online for reference? Thanks!

  • @1over137
    @1over137 ปีที่แล้ว

    @Phil's Lab Are there any DAC/ADC or CODEC dev boards you could recommend? I've tried looking, but just find the rubbish surplus PCM5102s.
    Ideally, for now, I'd like to avoid getting PCBs made up

  • @km-electronics1
    @km-electronics1 ปีที่แล้ว

    Wow, this is one beefy board! The ULPI part had me curious. Did it really require this precise length matching? I doubt it is more critical than DDR which requires length matching to within 2.5% of the base clock frequency. Also, what's your DDR memory standard? And what's the purpose of the holes around the SWD connector?
    The assembly looks really clean, did you have to rework any components?

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

    Hi. Do you think it's possible to take a Pi Zero, and Guitarix, and ADC/DAC head, a remote control layer, and get everything in a box? Any "pedal", any "amplifier", "cabinet". Or may be to take one of open hardware linux on arm projects and use it as a base instead of spending months and months developing and debugging low level code for every "pedal"?

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

    Is the schematic for this board available anywhere? Did you ever design with configurable USB Host and Device capabilty?

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

    Do you apply the colored lines manually? Or is that done with some class trick?

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

    Very nice design. I picked up an STM32H7 dev board a few months ago to play around with audio DSP stuff, so interesting to see what components you picked. The group coloring and Draftsman features in Altium look really nice. I noticed the reference designators for some of your resistors are "RT" -- what was the reason for that, since some of your others just used "R"?

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

      Thanks! RT is an indicator for me that those need to be thin-film resistors (in the audio signal path). Similarly, I've marked C0G caps with CC.

  • @plahizmaj1717
    @plahizmaj1717 5 หลายเดือนก่อน

    Can you please explain how to configure SAI for I2S

  • @bernhardkneer5393
    @bernhardkneer5393 6 หลายเดือนก่อน

    Hi Phil, I've notice that somebody asked one year ago if there is a chance to buy such a board. Is there any chance in the meantime? Thanks Bernhard

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

    Are you selling this board? I'm a programmer and I like to dabble in electronics (esp32, controlling stepper motors, various sensors) but have never done anything as complicated as this! I've often dreamed of an audio/dsp oriented dev board, something like the electro-smith daisy seed but with more/faster ram and a faster mcu, like the teensy 4.0. It'd be awesome to build my own groovebox with such a board!
    Incidentally, would your course "Mixed-Signal Hardware Design" take me to a level sufficient to design such a board?

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

    Hi Phil, can I know how do you calculate the maximum skew? At 19:18 you mentioned that 100ps skew between SDRAM signals are within tolerance.

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

    Why not use the ADCs that are on the STM32H7 directly?

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

    do u have a bill of material for this design just wanted to know what usb c connector you used

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

    Why are the through-hole pins not soldered?

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

    Thanks for your video. As always amazing. How do you handle design rules for example for power where you have wide traces but also narrow sense lines? Do you make a different net and use a net tie? Is there a more elegant solution?

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

      Net tie seems to the solution in several ecad software packages, including Kicad. Not sure about Altium.

  • @koustavdas7775
    @koustavdas7775 7 หลายเดือนก่อน

    PHIL i also want to build this board how can i get the board layout

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

    Amazing work, I learned a lot again!!!!How long did it take to design this board?

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

      Thanks, Cagri! Hmm something like 2-3 weeks "part-time".

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

    @Phil off topic, but how do you add these inverted color silkscreen labels like this?

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

      Choose a true type font, then click 'inverted'.

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

    Does the USB C connector have contacts on both sides of the board? Why 0.8mm thick for that connector?
    Why the weenie mickey mouse mounting ears? How does the enclosure mate with the odd shape board?

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

    Wow very good content sir.But I would like to know the names of the memory chips and how are they connected to the microcontroller because I used to think the low microcontroller internal ram/memory is the only memory the microcontroller can use.

    • @km-electronics1
      @km-electronics1 ปีที่แล้ว +2

      It depends on whether the microcontroller itself supports external memory or not. For flash memory, the routing is usually point to point for clock and data line when the protocol is quad-SPI. Some microcontrollers such as ESP32 support additional RAM through a similar protocol. The datasheet or other documents should tell you what additional components should be added. In the case of parallel buses where you have multiple data lines and a clock. Make the data lines matched in length but don't stress over it. As long as they kinda sorta look like they are roughly the same length, they should be fine. The next thing is to make the clock line slightly longer than the longest data line but not too much.

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

    why some pins on the connectors isn't soldered?

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

    How did u chose the value and voltage rating of the coupling caps?
    Also why didnt you use a buffer to buffer the reference and thus use larger resistors there?
    Also at the input dont you need a preamplifier? (i am new to audio so i am not sure)

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

      Voltage rating typically at least 2x DC bias + signal voltage. Value is design-dependent, e.g. filter cut-off.
      Smaller resistors give lower Johnson noise. I didn't need a buffer, since I'm biasing high-impedance FET op-amps.
      Guitar input voltage range is nicely in range with the ADCs capabilities.

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

      @@PhilsLab THX

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

    Hello Sir, Nice design, can you explain how to calculate how many capacitors needed to be connected to the Vcc of the ICs, for example like in 8:44

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

      One for each Vcc pin as he said in the video :)

    • @km-electronics1
      @km-electronics1 ปีที่แล้ว

      You put one decoupling cap on each power pin in the IC and then put some higher value ones (1-10uF usually) close to the IC. 2 adjacent power pins may share the same capacitor but this is more of a last resort. Their values is taken from the datasheet, reference design or the app note.

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

      Read the documentation of the IC you are using

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

    I've been wondering: If you have a four layer board with your two inner layers as ground planes is it okay to put a power plane on say you bottom or top layer? For say a board that doesn't really have any high speed interfaces.

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

      Intrested to know why you aren't considering the common SIG/GND/PWR/SIG configuration? Any particular reason or just curious?

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

      @@abhijithekv That configuration is not supported by most of the PCB gurus as far as I see. Their reasoning is the lack of a ground reference plane for the bottom layer signal plane. I think you can use the power plane as a reference but need to be careful when changing the layer with a via since you will lose your reference. Because of that they either recommend SIG/GND/GND/SIG or SIG/GND/SIG/GND stack-ups and recommend to route the power on the signal layers. This way all the signals have a proper reference. However, if you really need a dedicated power plane and two signal layers, 4 layer stack-up is a bit unfitting.

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

    Hi Phil, When will you publish high level PCB design courses which include Altium designer?

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

      Hi Osman, I'm working on it currently. I aim to have it released by beginning of 2023.

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

      @@PhilsLab Waow, I am excited for it :)

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

    Why do you use such design of mounting holes? Is there any advantage except pcb looks cool?

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

      No advantage - I just did it for looks.

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

    I didn't see any test points (or missed them, I like electronics but it isn't my day job), what would be your take on that?
    Thank you very much for making these videos, having examples of how to do correctly or not PCB and explanations too helps a lot to progress!

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

    Hi Phil, what is the reason for switching to pcbway? Just curious 😀
    NB: I manufactured your emi board with a ESP32 (more familiar with it). Are videos with this board still expected? Already played with it, for esp max 40mhz. But enough to already provoke EMI.

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

      JLCPCB is good, however, they aren't able to produce the type of boards I want to show in future videos. With PCBWay we get many more options (layer count, flex, advanced assembly, etc.) - so I'll be able to showcase FPGA/SoC boards, rigid-flex, and so on in upcoming videos :)
      Cool to hear you had the EMI test board produced - yes, will have more videos on that as well!

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

    24:00 what on earth requires a 60 layer PCB?!?!?

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

      My colleague previously used to work in a company where they designed a 56 layer PCB for some kind of a scientific precision measuring equipment. The board had 10+ FGPAs. I was told more than the difficulty with routing, these BGAs consumed truck-loads of power. So the typical 1oz layer wasn't enough and hence there were 2/4 layers of the same voltage. And the fact that power planes come in 'pairs' means the same amount of GND layers and soon your layer count gets insanely high.

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

    ...sorry to ask but, there could be a way for anyone to buy this or other boards? Either through to your web or via the manufacturer... May be a short period to do so... I guess you will not be affected at all, and would allow others to follow / fork / ... your work... Thanks

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

      I'm afraid I only have five of these boards assembled - due to the chip shortage it's difficult to have larger quantities assembled. But if there's enough interest I can see to make a 'general purpose' DSP board for people to follow along.

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

    Dsp what is dsp

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

    You have built all this on your own?

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

      Yep

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

      @@PhilsLab it is amazing how you connected alle this together and made it work eventually!
      what have you studied?

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

      Thanks, Zain! I studied electrical engineering - however, we didn't have anything on PCB design, so that is pretty much self-taught.

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

    Don't you have a course on udemy?

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

      Yeah, one on Udemy (which is also free on my YT channel), and one with Fedevel.

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

    god bless u xdd