Is Doing It All All It's Cracked Up To Be?

Stefanie Diesi, Staff Engineer

The tech industry is constantly changing.  New languages come in and out of style, and new WYSIWYG editors make GUI design easier than ever. Unlike app development and IoT, the embedded world has been largely isolated from these changes until now. Code for embedded devices is still written in C or occasionally C++, and the embedded software development cycle is still heavily integrated with the hardware development cycle. However, new tools are starting to surface that seem to change the embedded paradigm with “do-it-all” solutions, but do they really do it all?

shutterstock_166537538Proliferation of DIY Solutions

Arduino, RaspberryPi, BeagleBoneBlack, and others have made it easier than ever to develop your own plug-and-play hardware solutions, and now I’m seeing a rise in plug-and-play software solutions, as well. Chip manufacturers like Cypress and CSR are offering ready-made software development kits for their hardware like the PSoc Creator IDE  and the Bluetooth(R) Smart SDK.

For the record, I think these tools are great. They reduce barrier to entry for hobbyists, start-ups, and hardware-focused companies to get a prototype running quickly and with very little effort. As one chip rep recently told me, “you never have to look at registers again!” Rather than share in his excitement, this made me a little sad. As a professional software engineer, if I don’t look at registers, comb through source code, or hook up a logic analyzer, do I really understand the project I’m working on?

Product Development is Hard

There’s a difference between creating a prototype and creating a product. In my experience of taking multiple products to market, I believe that the Paretto Principle holds more often than not. No matter how well a project goes at the beginning, 80% of the work is getting the last 20% of the features, including the reliability necessary to launch a successful product. That 20% is typically missing from a prototype, and it gives false expectations about the size and scope of a project.

As projects move forward, each new feature, tweak, and bug fix gets more difficult to fix. The code base gets larger and more complicated. Each small change has the potential to break something else, and at the last minute, many companies will do almost anything to fix a bug in software if it means not having to modify the hardware. This includes bending do-it-all software in ways that the vendors never intended. It is for this reason that it would be beneficial to develop and progress your own technology skills in case a small change causes something you have no knowledge on. You can learn these skills through sites like Pluralsight that teach new skills all online. But before you invest, ask is pluralsight worth it? Does it give you the necessary resources and information to help you.

All of these situations require us to delve deep into the code, disassemble the executables, hook up the oscilloscope, and do whatever else has to be done to solve the problem at hand.  If that doesn’t sound exciting to you, that’s fine.  Let me take a look at your project, I’ll decode the registers for you.

Cardinal Peak
Learn more about our Audio & Video capabilities.

Dive deeper into our IoT portfolio

Take a look at the clients we have helped.

We’re always looking for top talent, check out our current openings. 

Contact Us

Please fill out the contact form below and our engineering services team will be in touch soon.

We rely on Cardinal Peak for their ability to bolster our patent licensing efforts with in-depth technical guidance. They have deep expertise and they’re easy to work with.
Diego deGarrido Sr. Manager, LSI
Cardinal Peak has a strong technology portfolio that has complemented our own expertise well. They are communicative, drive toward results quickly, and understand the appropriate level of documentation it takes to effectively convey their work. In…
Jason Damori Director of Engineering, Biamp Systems
We asked Cardinal Peak to take ownership for an important subsystem, and they completed a very high quality deliverable on time.
Matt Cowan Chief Scientific Officer, RealD
Cardinal Peak’s personnel worked side-by-side with our own engineers and engineers from other companies on several of our key projects. The Cardinal Peak staff has consistently provided a level of professionalism and technical expertise that we…
Sherisse Hawkins VP Software Development, Time Warner Cable
Cardinal Peak was a natural choice for us. They were able to develop a high-quality product, based in part on open source, and in part on intellectual property they had already developed, all for a very effective price.
Bruce Webber VP Engineering, VBrick
We completely trust Cardinal Peak to advise us on technology strategy, as well as to implement it. They are a dependable partner that ultimately makes us more competitive in the marketplace.
Brian Brown President and CEO, Decatur Electronics
The Cardinal Peak team started quickly and delivered high-quality results, and they worked really well with our own engineering team.
Charles Corbalis VP Engineering, RGB Networks
We found Cardinal Peak’s team to be very knowledgeable about embedded video delivery systems. Their ability to deliver working solutions on time—combined with excellent project management skills—helped bring success not only to the product…
Ralph Schmitt VP, Product Marketing and Engineering, Kustom Signals
Cardinal Peak has provided deep technical insights, and they’ve allowed us to complete some really hard projects quickly. We are big fans of their team.
Scott Garlington VP Engineering, xG Technology
We’ve used Cardinal Peak on several projects. They have a very capable engineering team. They’re a great resource.
Greg Read Senior Program Manager, Symmetricom
Cardinal Peak has proven to be a trusted and flexible partner who has helped Harmonic to deliver reliably on our commitments to our own customers. The team at Cardinal Peak was responsive to our needs and delivered high quality results.
Alex Derecho VP Professional Services, Harmonic
Yonder Music was an excellent collaboration with Cardinal Peak. Combining our experience with the music industry and target music market, with Cardinal Peak’s technical expertise, the product has made the mobile experience of Yonder as powerful as…
Adam Kidron founder and CEO, Yonder Music
The Cardinal Peak team played an invaluable role in helping us get our first Internet of Things product to market quickly. They were up to speed in no time and provided all of the technical expertise we lacked. They interfaced seamlessly with our i…
Kevin Leadford Vice President of Innovation, Acuity Brands Lighting
We asked Cardinal Peak to help us address a number of open items related to programming our systems in production. Their engineers have a wealth of experience in IoT and embedded fields, and they helped us quickly and diligently. I’d definitely…
Ryan Margoles Founder and CTO, notion