It really depends on your robot kinematics (where is the location of the wheels in the robot frame and what type of wheels it have). There are a lot of resources online to get it from the configuration you have or you can even calculate it yourself. Since you got experience with diff drive then you know that you need to compute something like this for the linear velocity in the x axis of the local frame of your diff drive robot:
vx = radius_wheel* (vel_wheel_left + vel_wheel_right) / distance_between_wheels;
when you get the kinematics for an omnidirectional 4 wheels you can also get such an equation to put it in your arduino and send the info to the main robot computer.
An arduino by itself is not powerful enough to run the full nav stack, you would need at least a raspberry pi to work as the main robot computer and the arduino as a low level controller for the motors and read encoders.
You can start by googling kinematics of 4 wheels omnidirectional robot.