The smallest package that USPS will accept is a package size of 3 inches high, 6 inches long, and 1/4 inch thick.
The package must also be rectangular and the length and girth of the package combined cannot exceed 108 inches, except for the USPS Retail Ground and Parcel Select, which allows for up to 130 inches.
The package also cannot weigh more than 70 lbs and machinable packages have to be at least 6 inches long, 3 inches high and 0.25 inches thick.
I've had packages that were shipped to me through USPS that were slightly less than the minimum size but it's best to have your package that you're shipping to be the minimum size.
For shipping costs the USPS is the cheapest, especially for shipments of small packages.
I've shipped a small package that costs $15.60 to ship at FedEx and the same size package and same weight package cost only $7.10 to ship with USPS using USPS ground advantage.
UPS is often more expensive to ship with than FedEx and USPS.
Small packages are often better shipped using USPS ground advantage and larger packages are better shipped through UPS or FedEx.