I suspect your vocation of choice is misaligned with your personality. Software/hardware development is very detail-oriented work, not much different from a mechanic, carpenter or watch-maker. It's easy to recover from mistakes in tech unlike the more tangible fields, but not any less focused on the tiny bits. That's not for everyone and it should also come as no surprise that most good developers have some degree of OCD (things have to be _just so_). It's not a good fit for those who prefer to see the big picture, who like dealing with opinions rather than fact, who naturally gravitate to thinking of the human rather than the machine.
There is a way to test this, for you and anyone else. Try the game Shenzhen I/O. It mimics the typical work environment of an embedded developer (mix of hardware and software). Communication is minimal, you can't really reach out to colleagues to help you solve the problem, the manual is your best friend. It seems to match very closely with your current way of working. Try playing it, but with a specific focus on how it makes you feel. Does opening the inbox and seeing a new problem fill you with joy or dread? Does finding a solution make you feel elated or downcast? After you're done, do you feel like improving your design or do you prefer to never see it again? Do you prefer to see the email of the colleague trying to be funny or the colleague giving you a useful tip? It may seem like such a simple thing, yet the difference in feeling can be enormous. Let it guide you to discovery.
Software problems are essentially puzzles. Do you like solving puzzles? If not, it's totally okay. Not everyone does. It just means there are better fits than software out there for you.