Can You Spot the Problem?

Поделиться
HTML-код
  • Опубликовано: 19 ноя 2023
  • The new ESP32-TV boards have arrived from www.PCBWay.com/?from=atomic. There are a couple of issues with the board - but there's one potentially catastrophic error!
    Let me know in the comments if you spot it.
    ---
    If you'd like to help support the channel and help me buy more nonsense - I have a Patreon page: / atomic14
    We've also got a shop now! shop.atomic14.com
    And if you're shopping on AliExpress or Amazon then if you click on these links I will get a little bit of affiliate money:
    Aliexpress - s.click.aliexpress.com/e/_Ac05mF
    Amazon - www.amazon.com/?tag=atomic14-20
    You can also join us on Discord here: / discord
    There's also the Atomic14 newsletter here: atomic14.substack.com/
    And don't forget about the MakerNews newsletter - makernews.substack.com/
  • НаукаНаука

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

  • @atomic14
    @atomic14  7 месяцев назад +8

    If you'd like to help support the channel and help me buy more nonsense - I have a Patreon page: www.patreon.com/atomic14
    We've also got a shop now! shop.atomic14.com
    And if you're shopping on AliExpress or Amazon then if you click on these links I will get a little bit of affiliate money:
    Aliexpress - s.click.aliexpress.com/e/_Ac05mF
    Amazon - www.amazon.com/?tag=atomic14-20
    You can also join us on Discord here: discord.gg/h2DDnDdjD2
    There's also the Atomic14 newsletter here: atomic14.substack.com/
    And don't forget about the MakerNews newsletter - makernews.substack.com/

    • @JoaoMoreira-mg4zj
      @JoaoMoreira-mg4zj 7 месяцев назад

      why dont u use an usb hub ic so u can have sd card controler and esp32 connected at the same timme ?

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

      Mostly down to cost - and I still need to share the SD Card between the ESP32 and the card controller.

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

      The speed you obtained on the uSD is the same I get from a Teensy 4.1 in 816 MHz overclock mode. No need for an additional chip. Looks to me the ESP32 is a clunky solution.

  • @madrigo
    @madrigo 7 месяцев назад +21

    Man after working on my synth, I basically gave up dealing with reproduction of media using microcontrollers. Got frustrated after all the failures. I still haven't figured how people can reproduce media bigger than the RAM itself, and here you are, making video happen. That's amazing. Amazing content, cheers!!

  • @chasemartin4450
    @chasemartin4450 7 месяцев назад +3

    My thought would be to use a USB hub IC (assuming you have the board space for it) to properly share the bus between the two devices

  • @thecommsguy
    @thecommsguy 7 месяцев назад +9

    It's a little evil but I use one side of the USB C for the microprocessor and flip the cable over for additional devices. Just don't forget it when you get the boards back!

    • @atomic14
      @atomic14  7 месяцев назад +4

      That's brilliant - and yes, a little evil :)

    • @D3M3NT3Dstrang3r
      @D3M3NT3Dstrang3r 7 месяцев назад +2

      @@atomic14 The T-Pico C3 does this as well to switch between the RP2040 and ESP32C3. It uses a different color led so you know which one you are connected to. I think it would work well for what you are doing and would probably be easy enough to implement.

    • @atomic14
      @atomic14  7 месяцев назад +1

      I'll do some investigating - might solve my USB conflict completely!

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

    When it comes to electronic design there's so many gotchas in the finer details of the datasheets!

    • @atomic14
      @atomic14  7 месяцев назад +2

      I'm starting to think you only really know if something will work by building a prototype and testing it.

    • @TradieTrev
      @TradieTrev 7 месяцев назад +1

      That's the best way to do it! People can only learn from their own mistakes and you'll make them in order to learn a little. I always love how you explain things compared to a noobie like myself. :) @@atomic14

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

      Especially when the datasheets are V0.9
      I do a lot of work with displays and nearly always find 'hints' to really useful features not fully documented. To say nothing of datasheet errors. It's frustrating to have the latest hardware knowing that the accompanying datasheet was written long before the hardware was finalized.

  • @MichaelTeeuw
    @MichaelTeeuw 7 месяцев назад +3

    A lot of alternate solutions posted here. I would simply suggest a jumper or switch to select between dev or storage mode. Great project!

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

      That's actually not a bad idea. Certainly simpler than trying to automatically switch between the two modes.

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

      Or have some removable jumpers in case of an emergency lockup situation. I recon the idea of a 'no user intervention' sharing of the USB bus is worth striving for.

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

      I'd really like to be able to just plug it into USB and have it switch into mass storage mode. For programming you could hold down a button and go into a DFU type mode.

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

    6:41 Battle of the Planets intro. 70s TV show. What are the odds? 🤯

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

    Nice man! Glad you solved this! Yea i was wondering how u could connect these both up to the same usb port...

  • @systemofapwne
    @systemofapwne 7 месяцев назад +1

    When seeing the reverse polarity protection, that you used as a clever gate between battery/usb power, the diode felt like to be misplaced. And I was right. I think, I did too much electronics during my physics PhD 😅

  • @dosgos
    @dosgos 7 месяцев назад +2

    It is a clever circuit when done correctly. It is not hard to gloss over the left side which might typically just be +5v and ground . . . Great video and project.

    • @atomic14
      @atomic14  7 месяцев назад +1

      Thanks! It's so easy to make mistakes - and even multiple reviews can miss something very obvious.

  • @wolfganglienbacher
    @wolfganglienbacher 7 месяцев назад +1

    Whoah, that schematic is giving me PTSD. No wonder you got the diode wrong! There's nothing wrong with using multiple ground symbols in a schematic. It makes things much cleaner and easier to read/figure out where ground is and where not, without following potentially confusing lines. And also: always have voltage sources up in the schematic. Not just the arrow pointing up, but have the whole connecting in the top portion of the schematic, and draw from there. Looking at you 5V symbol that's almost in line with the already confusing ground line! Nicely done video!

    • @atomic14
      @atomic14  7 месяцев назад +1

      Good points, definitely worth having another go at the schematic to make it clearer.

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

    Close call indeed! Happy this little project is gaining some traction.

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

      Thanks - it was only when I connected the battery and saw the charging light was not flashing that I realised something was wrong. And then when I measured the voltage on the battery I quickly disconnected it!

  • @sultan7679
    @sultan7679 7 месяцев назад +1

    Thanks for this great video, i have been looking for a way to use sd card as mass storage without disconnecting it from the microcontroller.👏👏👏

  • @staffa007
    @staffa007 7 месяцев назад +2

    Awesome! cheers from Italy!!!

    • @atomic14
      @atomic14  7 месяцев назад +1

      Hello Italy!

  • @RommudohDev
    @RommudohDev 7 месяцев назад +1

    Since I designed such a power-sharing circuit myself for a TP4056, I immediately spotted the wrongly positioned diode :)

    • @atomic14
      @atomic14  7 месяцев назад +1

      Nice work!

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

    Super compact board. Using the ribbon cable version of the screen is way to go for sure. It's cheaper and should remove potential alignment headaches. Lots of very cool features.

    • @atomic14
      @atomic14  7 месяцев назад +1

      Thanks! I’m tempted to get 100 of the sockets from AliBaba - I’m sure I can get rid of the spares on eBay…

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

    For reference, SD Association indicates a 104MB/sec max bus speed for UHS-1 cards (~SDHC I). In practice, that is probably limited by the host, etc. SD cards are trial-and-error based on different model of cards and devices.
    We have some good luck with some very old SD devices playing with new SDXC cards (huge capacity but not sure if any speed advantages). SwissKnife etc can facilitate formatting.
    Newer UHS-II and UHS-III cards have more pins and can run faster. The newer SD Express cards are up to 3940MB/sec (PCIe Gen4.2).

    • @atomic14
      @atomic14  7 месяцев назад +1

      I started down a complete rabbit hole of building my USB3.0 solid state drive before I managed to pull myself back out to sanity :)

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

      @@atomic14Indeed, it is a black hole! The standards and options are mind boggling.
      I suppose you just need a storage solution that is cheap, fast, and big. . . given the scope of the project & limits of the hardware.
      In the real-world, I quite like SD cards.

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

    this is something would want to buy

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

    What about a USB Switch IC connected to a selector Switch used to select which peripheral you want to connect to, eg. NX3DV221GM,115

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

    8:10 I have been there one week ago :D
    Instead of using two USB C connectors could you wire one data pair to ESP32S3 and the other to USB2244 so it depends on the orientation of your USB C cable which controller is connected?

    • @atomic14
      @atomic14  7 месяцев назад +1

      Good idea - I like it. And congrats on getting the answer correct :)

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

    Were you using the SD card in SDMMC Host Driver mode?
    The 1MB/S you mentions is standard SD driver?

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

      Lots of details here - ruclips.net/video/ocXs1yxsux4/видео.html On this board I'm using it in SDMMC mode. But I've tried it in SPI as well. The main limitation with the ESP32 is the USB speed which is 12Mbps.

  • @TT-it9gg
    @TT-it9gg 7 месяцев назад

    Thanks for the vidoe. Love to watch it.
    For the ESP32, if programming right, the 4-bit SDIO can do 7MB/s read and 2.6MB/s write. FYR!
    BTW, the USB is slow even on ESP32 S3. Slower than 4-bit SDIO....

    • @atomic14
      @atomic14  7 месяцев назад +1

      Definitely, I was able to get really good results with 4-bit SDIO ruclips.net/video/ocXs1yxsux4/видео.html but sadly the ESP-32 USB is just really slow and limits the speed to 1Mb/s.

    • @TT-it9gg
      @TT-it9gg 7 месяцев назад

      @@atomic14 The Pi5 now can support 13 years ago SD 3.01 spec., day SDR104. Faster than Pi4.
      Because of the SD speed and display, I switch to use Pi zero instead. Much better...

  • @JustAnotherAlchemist
    @JustAnotherAlchemist 6 месяцев назад

    Can't help but notice that you have removed the antenna while working with these WiFi modules.
    I was under the impression that one should never have the antenna off a RF transmitter as the impedance mismatch reflects any output power back to the RF amp, potentially cooking it.

  • @graealex
    @graealex 7 месяцев назад +2

    Why not something like a USB2660? Flash media controller plus USB hub. That'd be the cleanest solution.

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

      Would definitely be cleaner, but I need to be able to use the SD Card from the ESP32 as well. With the USB2660 I can't see any way to tell it stop using the card so the ESP32 can take over.

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

      @@atomic14 I would assume that you can externally assert pin 22 ("Card Detect") and make the USB2660 eject the card/stop accessing it anymore.
      Also sure that you can find other ICs with a similar use case (USB hub with integrated card reader), which might have a clearer way to disconnect the card from the interface IC.

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

      I found one that has a pass through for the SD Card - but it was quite expensive.

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

    Hello, awesome board. I was just wondering why didn't you use something like a USB switch? It is very cheap and it does the same thing you are trying to do with reseting the usb2244 but it's cleaner. Thank you.

    • @atomic14
      @atomic14  7 месяцев назад +1

      Just trying to save on components - but you are right, they are very cheap. I'll still need to hold the USB2244 in reset to get access to the SD Card, but having a switch would guarantee no interference.

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

    How about a small signal DPDT relay for guaranteed-safe USB switching? Or an analog MUX IC?

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

      Someone pointed me to some very cheap USB switches - so I could use that as a failsafe.

  • @DustinWatts
    @DustinWatts 7 месяцев назад +1

    D. That schottky diode.... now watch the rest of the video. :)

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

    You could add an sl2. 1s usb hub on there

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

    Zener looks backwards to me. I presume you're trying to drop a +5V input to a typical battery level for when no battery is connected (or possibly charging? but that would be better done through a charging controller)

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

      Close! You're definitely looking in the right area.

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

    Somehow using a smaller PD resistor to circumvent the ICs PU just seems wrong. I wonder why they made it internal and not just externally required, aren't resistors in IC's some of the most expensive components?

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

      I've seen it in a couple of datasheets now - but always explicitly called out. It seems weird to me, but maybe they want to make sure the IC works when it's powered without needing to connect the reset line?

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

    Space Academy?

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

    GND and 5V flipped!

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

      Close, but not quite :)

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

    uhhh,, loves explosives 😅😅😅

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

    Hello,Can you give me reference design file to try this?

    • @atomic14
      @atomic14  7 месяцев назад +1

      The software is here: github.com/atomic14/esp32-tv
      And the schematics are here: github.com/atomic14/esp32-tv-hardware
      But please remember - this is all a work in progress - the errors in this video are just the tip of the iceberg...

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

      @@atomic14 Thanka you so much

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

      @@atomic14 Are yousing KiCAd for designing?

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

    I love it

  • @GoatZilla
    @GoatZilla 7 месяцев назад +1

    I guessed A

    • @atomic14
      @atomic14  7 месяцев назад +1

      Not unreasonable. It's one of the really interesting things about the circuit - the MOSFET does look like it's the wrong way round - but it's actually crucial to how the circuit works. When you hook up the battery you need it to flow through the diode of the MOSFET so that the VGS voltage makes the MOSFET turn fully on.

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

      @@atomic14 right. I recently designed something similar but with solar power bypassing a battery. The thing that messes me up is when symbols don't draw out the body diode. That tends to help me keep things clear. In your schematic, body diode us not drawn, but in your explanation schematic it is.

    • @atomic14
      @atomic14  7 месяцев назад +1

      Ah, you're right. Yes, I think the symbols should always include that body diode - otherwise it's really confusing.

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

    No -ve continuity except through 100k

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

      Good guess, but the GND is connected elsewhere so battery negative and the USB ground pin.

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

      nope, mis read the circuit

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

      Well, don't feel bad. I'm the one who made the mistake in the schematic :)

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

    Why don't you try a USB hub controller to solve the USB issue? Like the FE1.1, it's cheap and dead simple to use
    But since you are likely never going to need both at the same time, nor can you easily since SPI and SDIO are not multimaster buses, something like a USB switch is likely simpler. But then you end up in a similar situation where you could lock yourself out.

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

      That's what concerns me - I've already had a couple of instances where I've had to short out the reset line to get back into a sensible state. Having some kind of emergency access to flash the ESP32 feels sensible.

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

    This "clever circuit" should work.. if Q2 p-MOS Source port is 3, but not 2 as the circuit symbol used says.

  • @TitanumIchigo
    @TitanumIchigo 7 месяцев назад +1

    My eyes start bleeding seeing this PCB...
    1. Every SIG/PWR via needs a GND via at lumped distance. - 3:41 (improves signal integrity)
    2. Components should be placed at least 2-3mm away from boards edge (with exception for connectors) - 2:05
    3. Leaving a copper pour with single via is almost guaranteed way to fail at EMI tests (it acts as antenna) - 3:30 [same as long thin non-via-terminated pours]
    4. I can't spot if USB connector is ESD-proof, but probably not and it may end really bad for your board. - 2:05
    5. I see it's 2-layer board so those signal lines have definitely wrong impedance (fix me if it's 4+-layer)
    6. As it's prototype I'd not complain about component placement which looks bad.
    7. Board edge should be covered with a guard ring connected to CGND (chassis ground) - otherwise edge fired emissions may cause EMI tests to fail
    8. Lack of length matching on traces (at least not visible on video)
    Probably more, but those issues were most visible.

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

      Context mate. Not all PCBs are designed to be commercialized. For my projects, if they work, that's usually good enough. Given this seems to be for a fun project, your approach seems quite excessive.

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

      ​@@Sovvyy Even if PCB is not commercialized it still needs to meet all local regulations - in most countries goverments doesn't care about that, but sometimes they execute a round-up and drop some heavy fines for showcase (my country just loves to fine their citizens, as our budget is f-d up).
      Also you'll learn that hard way when your hardware will start to glitch due to amount of EMI inside the box. Better to learn how to design properly than to have a high-voltage power supply of EDM machine or even worse closed-loop stepper motors at 2-ton machine going wild (3, 7)
      I've noted mostly issues that are important on hobby-grade project to work properly if it involves USB HS. Even if it may work properly it's a good idea to match traces length and impedance to prevent high frequency noise around your PCB (1, 5, 8).
      Component placement makes your routing and soldering way easier... and often you can do complex designs on two layers instead of six (2, 6)
      Also don't ask me how many USB PCBs I've fried due to ESD at connector (4)
      I could also complain about having room and leaving traces too close together or using small vias where larger could fit and reduce manufacturing complexity, having ground pour too close to traces and influencing impedance... but those are usually related to commercialization and mass manufacturing rather than prototype staging (trust me it's quick to implement above guidelines and you will have less issues with your designs, especially if it involves high and very high frequencies - 100MHz+ and 1GHz+).