We like to pretend that engineers choose their parts by detailed analysis of data sheets and careful study of critical specifications. But the truth is, we’d have a pretty hard time these days getting anything designed into our circuits at all without access to some high-quality development kits. If we order basic bare chips, the time it takes from breaking open the bubble wrap until we have something reasonable running on our lab bench is weeks at best. At a minimum, we have to develop some kind of prototype PCB with the FPGA, processor, and other major components at the center, and all the peripherals we think we need orbiting around it. That’s just not a practical way to begin a development project.
Of course, very good tools exist for capturing our schematic block diagram in order to design our PCB. We can even do a decent rudimentary level of simulation on the whole thing to get an idea how it’s going to behave. But, if that circuit contains complex programmable components such as FPGAs, high-speed serial interfaces, and behavior defined extensively in software, we really aren’t going to get a reasonable functional simulation that tells us how our finished board is going to behave. For that, we really do need a development kit.
Many of us choose development kits almost as an afterthought. If we’re interested in some high-end component, like maybe a particular FPGA, a lot of us tend to look around for the cheapest kit with that component that can find its way onto our lab bench quickly. Often, this results in a long struggle with a subpar kit that really isn’t a good match for our needs. The vendors themselves have helped to cause this problem. They want to keep the barriers to entry for their devices as low as possible. If their competitor has a kit for $49, they want theirs to be $39. No real engineer would choose a critical component of their design simply to save $10 of company money on the development kit, but that reality gets lost somehow inside the marketing departments of big semiconductor companies.
If your own time is valuable to you, and for engineers it certainly should be, skip the cheapo introductory and eval kits. Unless there is some specific attribute you think you can quickly test out with an eval kit, that $39 would be better spent sitting in a pub drawing block diagrams on the back of a napkin over a pint or two. Those kits are great for hobbyists and students on severely limited budgets, and they might provide a nice paid advertisement for a semiconductor company’s latest bright shiny chip, but they were never designed for real engineering work.
If you want to get real commercial work done, you should probably start with your application. For many common application domains, there are purpose-built development kits from a surprising variety of sources that can truly be major productivity boosters for your project. For example, if you’re developing a video analytics application, the difference between a video–specific development kit and a generic one could be literally months of your own engineering team’s time. A video–specific kit will come pre-wired with all the right interfaces, the right choices of supporting components, and, if you’re lucky, a rich set of IP and reference designs that will probably get you up and running on the very first day. The amount of manual work you and your team would have to do just to reach the point where you were on a par with the video-specific kit could be enormous.
It makes sense, of course. The company who developed the video–specific kit probably spent months of their own development time working out the issues with the kit itself. Chances are, they had experts on video applications who ended up doing a lot of the groundwork required to get a base-level video analytics application up and running. The chances are also good that none of the work they did is the kind of stuff that will end up being important in differentiating your application from your competitors’. Kit developers tend to have a good sense of where to draw the line between basic minimum capabilities common to most designs and the areas where we all want to add our secret sauce to make our designs special.
Sometimes, even more important than those differentiating features, is the ability to get a working product to market fast. If you can release a few months before your competitor, that often makes an almost insurmountable difference in capturing market. This is where choosing the right development kit can end up being a make-or-break decision for your whole project. Consider the case above where the right choice of development kit could have you up and running with a base level of your application in real, working hardware within a couple of days, and the wrong choice of kit could cause your team a few months of work to arrive at that same point.
“Not invented here” syndrome can sometimes be the kiss of death for projects that would’ve otherwise been successful. If you feel like you can design all the little bits just a little bit better than what the kit developers did, you should try to back away and consider how much difference (if any) the sum total of those little optimizations would mean for your final product. The answer is usually “virtually none.” But the amount of engineering work you’d have to do in order to reinvent all of those little wheels would be substantial. In almost every case, you’re better off starting with a solid development kit and modifying only those aspects of the design that end up presenting tangible real-world problems.
One critical thing to remember is that every company who develops and markets a kit does so with some agenda in mind. If it’s a semiconductor company, they’re trying to get you to choose their chips over the competition’s. If it’s a distributor, they may be trying to get you to build an entire design that you can order from their line card, Or, if they’re more devious, an entire design that you can get only from their line card. Other companies may be marketing kits in order to get you to use their proprietary IP, or to adopt their design tools. None of these motivations is necessarily bad, but you should take a realistic look at them so you can decide if your interests align with those of the company marketing your kit. Every kit comes with some hidden baggage, so it’s useful to understand what you’re buying into.
In some cases, the distributor angle may be particularly attractive. Your manufacturing and procurement teams may be eternally grateful if they learn that you’ve designed an entire product whose BOM they can easily single-source from their favorite distributor. Or, a kit provided by a tool vendor whose tools you are using might save you considerable time if the integration between the tools and the kit has been well engineered.
The most important thing is – don’t let your boss (or the bean counters) convince you to let price be a driving factor in your selection of the development kit. The difference in cost of development kits is trivial compared to the amount of time and money you’ll save by choosing the right kit for the job.
Image: Flickr user mightyohm