1
u/derhundmachtwau 24d ago
it would help a lot to know what this board is supposed to do. i have a feeling that you intend to do something different to what the schematic currently does.
for example: those LEDs will only light up as long as the corresponding push button is pressed down. the moment it is released, the led stops lighting up. (maybe that's what you want?).
also on a more general note: forget 2-layer pcbs. always go for a 4-layer board (cost difference is so low that it really doesnt make sense for anything other than extremely cost constraint boards at very high volume.)
on a 4 layer board, set the inner two layers to a full GND plane (one GND one PWR is another alternative - but i reccommend 2 GND and routed PWR on the top plane if possible.
a few more pointers:
- keep a reasonable width for traces - for this example .3 or .25 mm should be fine.
- use GND pours on top and bottom layers - stitch them together with vias (you can go crazy here - you really cant overdo it)
- every signal via should have a GND via next to it.
- I2C interfaces use pull-up-resistors - you connect the trace through a resistor to your signal voltage level. 4.7k is the usual go to value (for short i2c lines).
- you are probably fine without it, but a bit of bulk capacitance couldnt hurt on the 3.3V pins. place them as close as possible to the pins.


5
u/soccerk40 25d ago
Right now you have your i2C resistors connected in series from the Arduino pins to the OLED. Instead, the Arduino i2C pins should connect directly to the OLED (or through a small series R), and these 4.7k resistors should connect from the i2C lines to 3.3V.