That is the easy part. Powering the system for any length of time is the hard part. Add up all your current requirements multiply by the time and find a battery to put in your hard hat that will supply that power for the necessary time.
Most all GPS and all SD cards are nativly 3.3V supply and logic.
So if you want to use them with a 5V Arduino UNO you need to be sure all the GPS boards and SD card boards you are using are suited for use with the Arduino UNO.
Myself, I have done a fair bit of stuff with GPSs and SD cards, including loggers, but I always use 3.3V Arduinos such as the 3.3V Pro Mini.
Your very unlikley to be able to build a 'small' GPS logger for a hat with an Arduino UNO.
srnet,
I've read that since the Pro Mini does not have a USB port it draws less current than say, a Nano, at all times (I mean whether or not there are any comms taking place thru the USB).
Is that right and is the current savings significant?
I found the Pro Mini awkward to work with as it can't be programmed thru a USB port. Next time I want to use a Pro Mini I think I'll do the development and testing on a Uno or Nano and commit to the Pro Mini when the program is proven.
I wasn't doing it that way. I used the RX/TX pins of a Uno. That requires pressing the Pro Mini reset button at just the right moment. Will try your method next time.
What about the current issue? Would a Nano use significantly more current than a Pro Mini just to support the USB port?