I still consider myself a beginner in designing PCBs and I have a number of questions regarding one I'm currently working on.
First of all, this PCB is constrained as to its dimensions so it is quite dense, with components on both sides. I made a previous version of this board which has worked well.
This PCB is built around an ExpressIF ESP32-S3 microcontroller and is designed to be able to drive a bunch of WS2812 type LEDs among other things. It contains a digital microphone, stereo speaker output, accelerometer/gyroscope/compass, a 1.2A, 3.3V switching supply, 12V 500ma boost supply with PWM (for fans), 5V I/O (6 channels), one RGB WS2812 type status LED (with output available to extend), a micro SD card, I2C I/O, and 12 additional GPIO pins connected to an i2c expander to trigger on external inputs. There's also a switched 5V output. It's a 4 layer board but I was able to minimize the number of traces requiring an inner layer.
While I have a dedicated ground plane but am somewhat worried about possible significant noise introduced by the wi-fi antenna. Do I need to worry about this, especially with the i2s digital amplifier located so close?
Did I go overboard with the vias? What about the ground floods on the front and back of the PCB? I am open to any suggestions, especially in regards to grounding.
It's designed with KiCad 6.0 and can be found at
https://github.com/aaronw2/led-controller-v4 and is still a work in progress and will be for a while since some key chips are currently unavailable.
I had a previous version of this board based off of an ESP32 Wrover made which generally works well, but I haven't pushed wifi hard yet.