VanceVagell / kv4p-ht

Open source handheld ham radio project KV4P-HT
GNU General Public License v3.0
316 stars 35 forks source link

[PCB] Design several variants of PCB for different size ESP32-WROOM dev boards #59

Open VanceVagell opened 3 weeks ago

VanceVagell commented 3 weeks ago

Some are 30-pin, some are 38-pin, and even within those there are narrow and wider widths.

It would be good to have 3 or 4 variants of the PCB that support all of these (with an associated list of known ESP32 vendors each one supports). Amazon has started selling out of the original ESP32 dev kit we've been using, so we need to offer some options.

SmittyHalibut commented 3 weeks ago

Post links to the pinouts of the modules you want to support.

VanceVagell commented 3 weeks ago

Here are the modules we should probably support, for ease of building / giving people options:

  1. https://www.amazon.com/gp/product/B0CDRLLTHD (this is the existing one used in the PCB design, including it for completeness)
  2. https://www.amazon.com/dp/B0CNYK7WT2 (this is very similar to above, but slightly narrower. I measure 23mm from center of pin on left to center of pin on right)
  3. https://www.amazon.com/AITRIP-ESP-WROOM-32-Development-Microcontroller-Integrated/dp/B0CR5Y2JVD (this one is a 30 pin variant, instead of 38 pin -- the PCB for this can be shorter and this might even be the new preferred mcu because of that)

The pinout for 1 and 2 are identical. I've attached an image of what I believe is the correct pinout for 3, although I can't be 100% sure. It has same chip layout. ESP32-Pinout

VanceVagell commented 3 weeks ago

I edited my prior comment, the space between the pins on the 2nd ESP32 module is actually 23mm from center of pin to center of pin (I just re-measured).

SmittyHalibut commented 3 weeks ago

image Looks like the first one isn't available anymore? I suppose that's why you also include the second one. :-)

SmittyHalibut commented 3 weeks ago

I've attached an image of what I believe is the correct pinout for 3, although I can't be 100% sure. It has same chip layout.

It matches the silkscreen in the pictures on the Amazon product page, so I'm going with it.

SmittyHalibut commented 3 weeks ago

image

That's the pinout of the other two modules. Now we have both outlines to match up. On it.

SmittyHalibut commented 3 weeks ago

This isn't going to work, not with a single board. It'll take multiple variants of the board to make this work.

This is what a single footprint would look like with the pins in the easiest-to-route position: image

That makes the USB-C not centered, and not at the bottom edge of the board, but the pins are as close to their counterparts as possible.

This one, they're all centered, but the pins are WAY too close to other pins that would be far too easy to solder bridge: image

I have one more thing I want to try, but I suspect we'll have to make multiple boards.

SmittyHalibut commented 3 weeks ago

image

Ok, this worked. The bottom of the 38pin module hangs off the bottom of the board, but the 30pin module is flush. And wiring isn't a complete disaster.

loopmasta commented 3 weeks ago

Great work. But I still can't see the layout for variant 2. https://docs.ai-thinker.com/en/esp32/boards/nodemcu_32s 38 pins, exact same pin layout, but with 22. 86mm width. Am I missing something?

nodemcu_32s_pin nodemcu_32s_size1

SmittyHalibut commented 3 weeks ago

Woop! Thank you @loopmasta for pointing this out. I had the spacings reversed. The 38pin module is only 1.0" wide, 0.9" pin spacing. The 30pin module is 1.1" wide, 1.0" pin spacing.

I have updated the outline accordingly. Again, thank you for catching this.

SmittyHalibut commented 3 weeks ago

@VanceVagell Is this ticket still relevant? I'm intending to do away with the dev boards, and put the ESP32 module and support hardware directly on the board, on the assumption that JLCPCB is doing the board assembly. Do you want me to make sure to ALSO support these dev boards? Or should I just remove their outlines entirely?

SmittyHalibut commented 2 weeks ago

NOTE: Must be ESP32, NOT ESP32-[extension]

I started working on an ESP32-S3 on-board direct replacement for these dev modules and @VanceVagell correctly pointed out that it doesn't have an on-board DAC. It appears that only the original ESP32 does.

Yes, adding an off-ship I2S CODEC is an option, but @VanceVagell has requested we not do that now. That's something we can work on at a later date/revision. For now, I'm going to stick to ESP32 (no extension) modules.

SmittyHalibut commented 1 week ago

Done in #86. Resolve please (it won't let me.)

VanceVagell commented 1 week ago

I would like to continue supporting the 1.7 line for people who want to build it themselves. I don't think #86 adds support for these other dev board sizes, it just obsoletes them if you use the all-in-one board, right?

If so, we'll leave this open and I'd like to update 1.7 to have one or two variants for the other size dev boards of ESP32-WROOM.

SmittyHalibut commented 1 week ago

Correct. Very good, that's reasonable.

You can see the KiCAD libraries in the new stuff for a footprint that accepts multiple different dev boards, like pictured above.

SmittyHalibut commented 3 days ago

I'll work on a v1.7c (or would you prefer v1.8?)