Why do you need it?

At this stage you have an idea for a new device that could (and probably will, if well conceived) make you millions of dollars. Alternatively, you might have a device that is not working, because you tried to get the programming done quickly and cheaply -- and now it doesn't work..

In either case, what you need is knowledgeable expert programming of special chips that integrate with your new invention, and which link to the mechanical parts of your new invention -- to make it work correctly, exactly as you conceived it.

That is firmware. If you do not get firmware to work correctly, as you intended, or as marketing demands dictate -- then your invention is a total failure. It could have been a money-making success with the right programming, but without it, your invention fails to work correctly.

Firmware is the least expensive part of the development cycle for almost all new hardware devices and inventions. Making the prototypes, promoting the product, and manufacturing the hardware, are almost always 90% of the expense of any new commercial venture.

Many companies try to economize on firmware -- they try to get it done as cheap as possible, hiring inexperienced programmers who offer a less-than-realistic bid. Time and time again, these programmers actually cost 2x to 3x more than what it should have cost to do the programming right the first time.

We are often asked to fix other people's failed attempts at firmware. It may cost more to fix it than for us to redesign the firmware correctly anew. Fixing other's design flaws takes time. Get it done right the first time - it costs less that way !