You’re putting entirely too much focus and emphasis on the title of your little piece of paper that isn’t going to matter a year after you get your first job.
My Computer Science program had embedded devices, systems architecture, and classes with VHDL. I also took a class on electronic components and the basics of soldering, diodes, breadboards, etc. If you’re into that stuff and your “Computer Science” program doesn’t do that but “Computer Engineering” does, then go do CE. If you want pure hardware and EKG, EEG, Electromagnetic engineering, etc. maybe you should go into Electrical Engineering where they have an emphasis on that stuff. You’ll still learn C, but it sounds like you already know that.
You said you’ve been working on hardware the last four years. Do you have a GitHub? If not, get one. Do you have a resume? Is your GitHub on your resume? You should do that, too. You also said you want to get a Ph.D. If you’re getting a Ph.D. you should just pick a program and see if there is a “fast track” option so you’re taking graduate level classes your senior year of undergrad. This is by far the best option that no one takes advantage of.
The market is over-saturated and it’s been that way for a long time, that doesn’t stop people from getting jobs. People go into CompSci or I.T. because they want to make money, then they realize how difficult and tedious everything is, lose their passion, if they ever had any, and end up being an asshole manager. You like working with Linux and DTS and have put some time into that, know that your school may or may not go into all of that.
In my area, the salary for a fresh college graduate is $43,000 to $65,000. I was making more than that before I graduated. I work with people that are data scientists, research and development engineers, software engineers, crazy embedded engineers and they have English majors, History majors, no degree, or other unrelated degree. I also work with people that went the CS route and are good at what they do, some suck, some are pulling a 9-5 and don’t give a shit one way or the other.
No, this is a myth perpetuated by advisers, computer engineering majors that think they’re “smarter” than computer science (or other engineering) majors, and people that don’t know what they’re talking about. At the end of the day it’s all software running on a server or tablet somewhere, how cool or edgy your degree sounds won’t matter after a while.
Also, as someone that just applied to a Ph.D. program, got accepted, and then gave them the middle finger, know that you’re in for another four years of tedious classes to keep your GPA up while you research your own projects. If you’re really good, you can get out before then. You also have to play into the politics (I’m not talking about U.S. Politics or Conservative/Liberal/other retarded buzzword, I’m talking about corporate dick sucking) to get a proper evaluation and not bullied out of the program.
Take that last paragraph with a grain of salt, because that may just be isolated to the school system I applied through. But seriously, find a fast track program and do that if you’re serious about a Ph.D. You may get to your junior year and say “Fuck this” when/if you realize it’s all bullshit and just take your B.S. and run.
As others have said, you’re going to graduate and realize you’ve been working on dated technology stacks. Or, you’ll enjoy the experience and take college (Computer Science) for what it is: Some old software to express complex ideas in a simple manner that are relevant today.
Still, if you find yourself disappointed with the experience, know that you’re not alone, and it may get you further ahead if you want to just explore things on your own time. I know I sound like yet another person that went to college that say “College is bad!”, which is some conspiracy somewhere I’m sure. But, I pissed a lot of money away to just get myself ahead on my own time 