I would be curious to see how you actually are spending your time. That's not a tremendously heavy load. I know this has been mentioned several times, but I just assume you're attending all classes and taking notes. Right?
The reality in engineering is that you have to do the homework. The homework and projects are why engineering is a bitch of a major, but it's essentially how you study for the tests over the course of the semester. If that means locking yourself down in the library for 8 hours a day after class, then that's what you do. Unlike some other majors where you can sit back and do little or nothing for weeks between exams, there's homework to do most nights of the week. It's structured and regimented and is a lot of work, but it also keeps you from ever getting too far behind. Cramming tends not to work in engineering. The night or two before the test, I'd go back and review the graded homeworks, refresh my memory on stuff that had been covered 3 weeks ago, be sure I knew how to set up the problems, and rework some of them until I was relatively confident that I could handle an exam.
That said, I don't really know if homework is your problem or not. I'm not sure why you're bombing the tests without more explanation from you.
Not reaching out for some help when you know you're sinking is pretty much a guarantee that you're going to drown. Most universities offer free tutoring for the intro level maths and physics, use it. Find a small group of students you can work with on some of these assignments. Make yourself known to professors, visit their office, ask intelligent questions about the assignments. Some of them will help you out. A few may even throw you a few points if you're borderline on a grade. If you're an anonymous name on the page who didn't even show up for the final, you'll get a big fat F (or E) every time.
I would *never* give up on classes like you're doing and just simply stop showing up, at least drop them. You're permanently destroying your GPA. Sounds to me like you got overwhelmed and threw in the towel. That started to happen to me in a semester, and I made the decision to bail on an engineering programming class that I knew was going to gobble up my time (taught by my advisor, kind of embarrassing to drop that.) But at least I didn't go down with the ship entirely.
In your situation, realizing that next semester is the last chance, I'd schedule mostly morning classes if possible, then lock it down in the library *every* afternoon, regardless of whether something is due the next day or not. With focus and with purpose, not with a laptop, texting, gaming, chatting, listening to music, etc. Treat it like an 8-5, or 8-midnight if that's what it takes.
It almost sounds like you're not even motivated to make this work. I've been there too. You might need to spend some serious time questioning why you're doing this, what your goals in life are, and look at different majors, within engineering, or perhaps entirely outside of it. Good luck to you.