element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Single-Board Computers
  • Products
  • Dev Tools
  • Single-Board Computers
  • More
  • Cancel
Single-Board Computers
Blog The Dark Side of Devkits and Single-board Computers
  • Blog
  • Forum
  • Documents
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Single-Board Computers to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: GardenState
  • Date Created: 18 Feb 2014 12:22 AM Date Created
  • Views 1057 views
  • Likes 0 likes
  • Comments 5 comments
Related
Recommended

The Dark Side of Devkits and Single-board Computers

GardenState
GardenState
18 Feb 2014

Only a spoilsport would say so, but contrary to widespread belief devkits and single-boards, while useful, are not the Holy Grail that the time-strapped design engineer is searching for. And while it is true that they have become an important part of the design process for electronic systems, they come with some potential baggage that we will talk about shortly. The problem (in most cases) isn’t conceptual. Like reference designs, devkits and single-boards can make it much easier for designers to solve some of their challenges and evaluate parts they need; the key benefit being that the engineer won't have to do everything from scratch.

 

My esteemed colleague Cabe Atwell, discussing the good side of these tools in his blog “Single-board computers are a game changer” argues that he tries to avoid “building projects before building my project.” He notes that “development boards and single board computers are (just) a catalyst to the ultimate goal “and he would rather use a Raspberry Pi or similar SBC with lots of plug-n-play accessories than build what he calls a “one-of” single purpose prototyping device.

 

He’ right, of course, and I could not agree more, but here’s why I inserted the qualifier “in most cases” two paragraphs above:  Cabe’s correct if we are talking about single-board computers aimed at the hobbyist or educational market, such as the Raspberry Pi, BeagleBoard or Arduino. But if you are a practicing engineer, with circuits or systems to design with the intent of manufacturing a product to be sold in the commercial world in large numbers, these SBCs were never intended for such use.

 

Don’t get me wrong. I love the Raspberry Pi, that a wonderful little computer that measures just 3 inches by 2 inches by less than an inch high, created initially to replace the expensive computers in school science labs and one which packs enough power to, for instance, run a home media center using its graphics chip to stream video and photos to a big-screen TV.

 

But these are hobbyist boards and they shouldn’t be expected to adhere to the same high standards as a kit suppliers offer to help you design a fully commercialized product. That being part of a commercial design chain was never intended for these SBCs is very clear. Let me quote from the BeagleBone Black System Reference Manual (the underscore is mine):

 

“The BeagleBone Black is designed to address the Open Source Community, early adopters, and anyone interested in a low cost ARM Cortex-A8 based processor. It has been equipped with a minimum set of features to allow the user to experience the power of the processor and is not intended as a full development platform as many of the features and interfaces supplied by the processor are not accessible from the BeagleBoneBlack via onboard support of some interfaces. It is not a complete product designed to do any particular function. It is a foundation for experimentation and learning how to program the processor and to access the peripherals by the creation of your own software  and hardware “

 

image

image

    

  1. Fig. 1 Ti offers both  (top) the CC2530DK development kit supporting its second generation 2.4GHz IEEE 802.15.4 compliant System-on-Chip, containing all hardware, software, and tools necessary to build a 802.15.4-compliant product and (bottom) the marvelous little BeagleBone Black SBC. While both are great at what they do engineers are more likely to use the former from 9 to 5 and the latter from 5 to 9.

 

Even devkits and SBCs with aspiration to be concept-testers in a commercial product design chain have issues, although here the problem is often one of execution, or rather one of a less than desirable execution. As one-time give-away items for chip companies to show off their latest components, dev kits have matured into test beds for software development and prototype or proof-of-concept designs. But in the doing a concern has emerged that the evaluation kit either has flaws or cannot meet the exact needs of the design engineer. I’ m reminded of something Tampa Bay Buccaneer head football coach John McKay once said. Following a loss coach McKay was asked what he thought of his team's "execution." He is reported to have replied, "I'm all for it."

 

There is definitely a down side for the engineer who relies too heavily on devkits and SBCs.  Here’s why:

 

Engineers require sufficient information about how best to use a part. To do so, they need to determine to the point of exhaustion what is actually going on with a part so as to properly use it in a design project.  Manufacturers and/or third parties make things easier by providing a wide variety of dev kit options. Some packages are executable demos, which cannot be modified; some are trial versions, which come with software (or links to a library) as well as perhaps a sample project for the IDE that has been used. Most kits enable engineers to evaluate code, do software development or even develop and debug a small design with much less cost and complexity than a full-fledged development board would require.

 

In this effort the semiconductor vendor’s task should be to completely describe the functionality and behavior of the device, and also provide the settings of peripherals used (if applicable) and the electrical and packaging specifications of the device. But raw details on functionality and setup cannot by itself inform a designer how to best use a feature in an actual application, which is important since most designs continue to be application-driven.

 

To be valuable to an engineer a devkit or SBC should be accompanied by detailed support material containing a schematic, a bill of materials including supplier and part numbers for all components and a thorough, functional description as well as all of the formulas and design procedures used to determine the component values used in the circuit--all to help enable the engineer to adapt the design to his/her own needs. Kits also should include a CD or flash drive with self-running tutorials and application examples that highlight the features and capabilities of the part or family of parts and its supporting tools.

 

Documentation is critical. And so is the manner in which that documentation is presented. Too often if a user’s guide is provided at all, it is either too simplistic or contains errors.

 

Ask yourself: how often are sufficient support materials included with a devkit/SBC, especially if it has been designed to carry either a very low cost price tag or in fact is free?  In many cases the supplier clearly wants to make certain cost will not be an obstacle to anyone (students and hobbyists included) who wants to evaluate or develop its parts. Low cost is also important so that if an engineer has to throw away non-functional prototypes it doesn’t cause his or her company financial grief.  But to drive the cost down often the first thing that goes is support materials.

 

Moreover, there are other shortcomings to watch out for, any of which could result in a frustrated engineer.  In some cases, the experience can be so bad that the low cost kit will be discarded before the evaluation is finished.

 

Among common problems:

 

  • Setup and startup instructions are unclear or incomplete. Installation procedures are clumsy and heavily laden with mouse clicks and incorrect or questionable user inputs. Software tools failed to install correctly.
  • The hardware didn’t operate correctly or required additional components (such as a power supply and cables).
  • Hardware and software components failed to play well with one another.
  • Hardware was overly simple, or unnecessarily complex, for assessing the target part. In the case of Raspberry Pi  since the board does not come with an included micro-USB cable to supply power, you must obtain one. Additionally, the Raspberry Pi does not come with a pre-installed operating system or on-board storage.
  • There was no explanation of the IDE and/or toolchain, despite the fact that their operation wasn’t nearly as intuitive as might be expected ,  creating delays.
  • Example code and projects (when supplied) were remedial and provided little insight into device and tool performance and capabilities. Development kits need to provide easy-to-follow, non-trivial examples to show engineers how to quickly accomplish the ordinary details of what they need to do, such as establishing USB and Ethernet communication, setting up timers and interrupts, etc.
  • It was necessary to call the device manufacturer for help before getting the kit’s system board to work
  • SDKs may have licenses that make them unsuitable for creating software intended to be developed under another, incompatible license. A proprietary SDK, for instance, may be incompatible with free software development, while a licensed SDK could be incompatible with proprietary software development.

 

So, in conclusion, we’re not saying don’t use devkits or SBCs. But we are suggesting that you keep in mind that they should not be viewed as easy, breezy substitutes for a good, old-fashioned design effort.

  • Sign in to reply

Top Comments

  • johnbeetem
    johnbeetem over 11 years ago +1
    I love SBCs and other development boards. They provide a low-to-medium-cost way to try out a new chip and prove that it's really going to work for your application. If the errata and software support are…
  • Former Member
    Former Member over 11 years ago in reply to johnbeetem +1
    John Beetem wrote: If your software people have to wait for working hardware, you'll likely miss your market window. Most of the early Raspberry Pi software was developed on Alpha units. and Raspbian…
  • Former Member
    Former Member over 11 years ago in reply to johnbeetem

    John Beetem wrote:

     

    If your software people have to wait for working hardware, you'll likely miss your market window. Most of the early Raspberry Pi software was developed on Alpha units.

    and Raspbian was mostly done on i.MX53-QSB's when the Pi still wasn't available.  I think it's hard to dismiss the value of SBCs for all sorts of purposes.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • johnbeetem
    johnbeetem over 11 years ago

    I love SBCs and other development boards.  They provide a low-to-medium-cost way to try out a new chip and prove that it's really going to work for your application.  If the errata and software support are inadequate for your application, you find that out quickly while you still have time to switch to something else.  Sometimes a manufacturer rep will give or loan you a dev board, in which case it's no cost.

     

    One of my favorite examples of SBC success was when I ported a complex data communications product from a Motorola (now Freescale) MC68360 QUICC to an MPC860 PowerQUICC.  Approx 98% of the code was application level protocol stuff that was source-code compatible so I only had to rewrite some device-level code.  I got that baby working on an MPC860 development board, and you could see the standard software boot up and work like the product-to-be.  Doing this took care of the high-risk part of the project: getting the software to work.  We got the green light to develop the PowerQUICC board, which didn't have prototypes until months later.

     

    SBCs are a great way to get software working in parallel with the final hardware, so that the two parts converge simultaneously.  If your software people have to wait for working hardware, you'll likely miss your market window.  Most of the early Raspberry Pi software was developed on Alpha units.

     

    I did something similar with a Spartan-IIE FPGA.  I got the key parts of the design working on a Spartan-II FPGA development board, which would actually plug into one of our existing products as a daughter board.  It's a great way to get credibility to demonstrate production software running on prototype hardware long before the actual PCBs are designed or fabricated.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Former Member
    Former Member over 11 years ago

    While I do agree that good documentation is a must, any decent engineer is usually prepared to deal with errata in any of documentation, design or silicon. For things as complex as the SoC's that are on today's SBC's, expecting everything to be perfect simply isn't realistic.  To take your example of the BBB, most engineers will actually be evaluating the AM3359 and will not be hugely interested in the 109 page BBB_SRM, preferring the 4100+ page AM3359 Technical Reference Manual along with the Datasheet and silicon errata documents.

     

    You also say:

    Engineers require sufficient information about how best to use a part. To do so, they need to determine to the point of exhaustion what is actually going on with a part so as to properly use it in a design project

    I'd agree with that, however getting at some of that information is likely to require signing some sort of NDA, at which time many of your other points become tenuous at best. For example having to call the manufacturer to get something to work.. Signed the NDA means you've already done that and most likely have access to proper technical support etc.

     

    A compromise, somewhere between Cabe's point and yours seems more realistic. Something like the BBB where you are able to take a proven design and reduce it to what's really necessary for your product may be a very useful thing to have, it may save you effort in both hardware and software development time.

     

    As a possible pointer to things to come,  earlier in my career I watched a lot of purpose designed systems fall by the wayside to be replaced by cheap commodity PC's as the brains of some larger system. I certainly don't think today's SBC's are capable of accomplishing the same feat, yet... but I think they might just be a step and a half away.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • kas.lewis
    kas.lewis over 11 years ago

    Reading the last paragraph brings back memories... How many companies I have left behind because I could not get the basics to work. With no documentation your free samples are worthless. I have even been told by a rep from a very big company to ignore their bad website (that had nothing helpful) and email him every time I needed something... well it was simpler to just use someone elses part...

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • DAB
    DAB over 11 years ago

    Well put.

     

    SBC development kits are only intended to provide engineers with a simple way to test the capabilities of the processor and ancillary chips on the board.

    They should never be embedded into a final design.  It might sound like a quick solution, but it is no way to build a product.

    I have no problem using Development kits to build up one of a kind laboratory instrument or test rig for some other product or device.

    I might even prototype a proposed product using one, but that is as far as you should go.

     

    DAB

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube