Mastering the material is less than half of what it takes to be a great engineer. Showing up and doing the work - even when it is phenomenally boring - is critical.
Giving him a pass will not in any way prepare him for a career in this field. If he's not willing to do the BS tasks, he shouldn't pass. If you feel so inclined, give him the final and base his entire grade off of that, and he'll become someone else's problem later. BUT, as an educator - especially at this level - your goal should be not only to develop mastery of the material, but to imbue a good work ethic and a sense of responsibility.
Case in point: I hate changing diapers, but I love being a parent. Guess what I do quite frequently, and how fun that part is.
I've met quite a few very intelligent people who work menial jobs because the industry won't adapt to their demands, because their boss was "a moron," etc.
If this were a university-level course, he would fail. A (small-ish) part of high school is about preparing for university, and for life afterward. If this student winds up in my class at university, with this attitude, he will fail. Communication is key - talk to the kid about this - but excess accommodation (outside of disabilities) is NOT doing him, or anyone else, any favors.
Aside from teaching, I've worked in embedded systems, EE, web, and games. The latter is the most accepting of this resistance to structure, but even that has its limits. You have to do the job you're given. If you're lucky, you can turn that into the job you want.
It is FAR better that the student learn this now, rather than coasting on your compassion, understanding and attempts to help until, one day when the training wheels come off, he falls flat on his face. Help, in this case, may be teaching him a lesson. It sucks, but I'd rather have learned that lesson at 16 than 30.
Good luck, and I admire the question. Far too many teachers just don't care.