In one word: absolutely.
In more words: as you point out, many roles require some sort of college degree (either explicitly or implicitly), so getting a degree (notably: _some_ degree, in a technical field) will definitely expand your scope of options.
I know lots of people that got degrees in a field not directly related to what they're currently employed in, so don't worry too much about over-specializing as an undergrad. A typical computer science degree or one in the sciences (physics, biology, chemistry, etc.) will expose you to a lot of ideas and fields of work that you may not even be aware of now, while also setting you up well to continue your path toward hardware if you choose to go that route. (For my part, I majored in physics, then got an MS in Systems Science, but now spend most of my time writing code to deploy cloud compute systems, which is only indirectly related to the things I spent most of my time in school studying.)
Simply getting the degree isn't a sure-fire ticket to a great job, of course, so during your time in college it's equally important to think ahead and consider the different ways you could apply what you're learning to some interesting problem or opportunity you've seen. In my experience, that's _really_ what companies want to see—someone that can think critically and identify opportunities before others can. College is simply the single best place to pick up those kinds of critical thinking skills.