Newb arduino user here. I am designing a ping pong ball shooter for a class and am hoping to use a flywheel system to fire them off rapidly and with high velocities. However, I am struggling to find the right motor for the job. Most DC motors I see have smooth output shafts that are not designed for directly mounting wheels to, and the ones that do have good shafts never have high RPM. I tried looking into steppers as well, but it doesn't look like they will give me the RPM I need, preferably something in the 3-4000 range. Any mechanical advice is much appreciated, i.e what type of motor, what type of wheel, hub, etc.
Take a look at Fetch-O-Matic DIY Ball Launcher - YouTube which uses a low-speed motor and a spring to launch the ball. Since you're only launching ping pong balls you can use a much smaller, gearhead motor which would have the type of flatted shaft that you're looking for.
How big is this flywheel? Maybe draw a picture of the kind of device you want to build? It's quite common for the bearings and shafts of DC motors not being robust enough to direct drive loads. A pinion gear or a small chain sprocket or belt sprocket should go on the motor shaft, connected to another sprocket on a bigger shaft with more robust bearings where the flywheel would be.