20x4 LCD stops working sometimes, caused by power drops?

Hi, first of all english is not my primary language so my description may not be the best. Anyway, I have an arduino uno (china version) that has a lot of stuff connected to it, for example a real time module, a buzzer, a XYZ-axis module, a mosfet and so on (all analog and digital ports are ocupied), and ofcourse the actual LCD.
My problem is that the LCD stops working for example when the buzzer beeps or when a relay is switched. What happens when I say stops working is that characters moves around and when pressing something the whole LCD is filled with random characters (/0?<_ etc.) . Only by pressing reset on the arduino the LCD starts working normal again.

My guess is that the relays or buzzer uses to much power for a very short amount of time so the LCD lacks enough power. How can I solve this? Can I place a capacitor somewhere? Where and how many F?

Thanks in advance

Yes in deed... you need to conect an external power supply and from there to feed anything including arduino, so the power comnsumtion will stay in the limits of the arduino Pins.

Try to use a buck converter at the proper voltaje, and from there send the vcc and thr gnd to each of you components, so when the relays need more power, will be take from the converter, not the arduino pins.

Cheers.
-Alex.

AlexLPD:
Yes in deed... you need to conect an external power supply and from there to feed anything including arduino, so the power comnsumtion will stay in the limits of the arduino Pins.

Try to use a buck converter at the proper voltaje, and from there send the vcc and thr gnd to each of you components, so when the relays need more power, will be take from the converter, not the arduino pins.

Cheers.
-Alex.

Okay I will try this, thank you!