Medicine balls are a great addition to any fitness routine, especially in the martial arts. I imagine just about every boxing gym has a bunch of them lieing around, but martial arts clubs often lack them. They are great for ab work, toning, plyometric training, and general next morning soreness inducing. Problem is, they can get pretty pricey, so here is a easy, cheap alternative that makes a good, sturdy medicine ball.
First, go out and pick up a cheap basketball. This is a mini sized one, which will fill to up to 10 pounds, for heavier balls, use a larger basketball. The weight of ball you should be aiming for is going to depend on how you plan to incorporate it into your workout routine. A full sized ball will fill to about 25 lbs using sand.

Cut a little slit in the ball, probably a good idea to let some of the air out first.

The slit needs to be just large enough to wedge a funnel in. Fill the bag with sand, rice or some other material. Sand is heavier, rice is lighter. Depending on how heavy you want your ball you may need a mixture. A 50lbs bag of sand will run you a few dollars, or if you’re really cheap, wait till dark, put on your ninja suit and head to the park to raid the sandbox. This has the added benefit of giving you a extra workout as you jump over fences and hide in peoples pushes while carrying 20lbs of sand. I opted for the 50lbs bag option.

Glue the little slit together, super glue or some rubber sealer should do the trick. And for a little extra slap a little duct tape over the hole as well. Wrapping the ball completely is also a option if you plan to be especially rough on it. Important thing is just to make sure the sand is going to stay in, and check it before you before / after each workout to make sure it’s still sealed.

And there it is, a homemade, $5 medicine ball. The one in the picture is mini-sized, and weighs about 10lbs full of sand. So forget the funky diet pills and enjoy your workout with a much cheaper home made medicine ball.