Sometimes, the fastest way to get started building a new embedded application is to start experimenting with your code and a piece of hardware. If it’s your first time working with a new part number, or you don’t have access to a custom PCB, there are tools you can use to spin up an application and start testing its core functions. Cue the development boards, which are very useful tools for experimenting with an embedded system and any external hardware you want to add to a new product.
Development boards carry some cost, which would be much higher than the cost of the chip you want to use in your design. However, the costs associated with development boards are still much lower than what you’ll pay to prototype a custom test board. Here’s why investment in development products are well worth the investment before you start designing a custom system.
What You’ll Find in a Dev Board
Development boards are useful pre-packaged products that include a fully assembled circuit board with your desired MCU or FPGA part number. They include exposure to all the important interfaces through connectors and headers, and they include some basic components like switches and indicators that can be used for functional testing. The primary reason to use dev boards is for application development, as outlined below.
Probably the most common type of development product you will find for purchase from electronics distributors is an MCU dev board. These boards all have some common characteristics that make them very useful for embedded application development. They include all the basic features needed to turn on the board, hold an application in memory, connect external hardware via pin headers, and execute an application on-device.
Because all of the required features (power, processing, and interfaces) are built onto the board, these are quite simple to use. Just connect a bench power supply and a serial interface to a computer, and you can start programming the board and sending it commands via a terminal application.
An older dev board for a PIC microcontroller.
MCU boards are usually inexpensive and are well worth the investment. They will normally come with plenty of access to pin interfaces through pin headers, so you can start hooking up other modules to the device and experiment with your application.
An MCU always has fixed interfaces; the chip is not programmable like an FPGA. This means the MCU on the board will not have any firmware built into the device and it will need to be programmed with an initial application to start testing the functions on the device. The MCU vendor will often supply a “Hello, World!” application that you can start modifying with your custom functions.
FPGAs are more advanced chips that are programmable at the internal interconnect level. FPGAs can have their interfaces programmed and changed in the vendor’s IDE application, so developers can do much more experimentation with the device. While this was historically used in prototyping for new chips, FPGAs are seeing more use as the main chips for production-grade hardware.
FPGA boards require an associated image be burned onto the device in order to start using the features on the dev board. This could be a simple “Hello, World!” application example that is available through the vendor’s IDE, or it could be a specific image for that development product. When the image is pulled into the vendor IDE, you will have an opportunity to modify the configuration and start implementing your own code into the image. The bitstream can then be sent to the FPGA using the vendor’s application, and you can then start querying your dev board in a terminal application.
Dev board for an Altera FPGA
In terms of cost and support, MCU boards can be purchased directly from the vendor or from a 3rd party distributor for similar prices. Make sure to also purchase the vendor’s programmer if one is available, or purchase a 3rd party programmer.
For FPGA boards, due to the complexity of the products and the IP requirements, it may be best to take the low risk path and purchase the FPGA development kit directly from the semiconductor vendor if one is available. If the vendor does not provide a dev kit for your specific part number, then consider purchasing from a 3rd party company that is registered design partner for the FPGA vendor. The FPGA vendor will list this on their website and the distributor where you purchase the board will usually offer support for these products.
Are Development Boards Worth the Cost?
The answer is an unequivocal “yes” both for FPGA dev boards and for MCU dev boards. For embedded developers who need a hardware platform to experiment with code, the use of a dev board will be the only thing that enables testing while eliminating hardware bugs. Compared to a BOM for a custom PCB, and the cost of custom PCB fabrication, it make a lot of sense to just start with a development product:
IP experimentation - For FPGA products, developers can experiment with new IP they are developing as custom logic. This is very important for chip prototyping and in advanced systems like edge AI.
Costs - MCU boards cost more than the chip, but they are still very inexpensive and are worth purchasing. FPGA boards can be quite expensive for the newest part numbers, but the cost is much lower than prototype runs.
Lower risk - Dev boards supplied by vendors are proven pieces of hardware, so they remove the risk associated with a custom FPGA or MCU prototype. You won’t have to worry about prototype spins when using these products.
Application examples - A development board can give access to application examples from the vendor.
The other great thing about development boards is the schematics are sometimes freely available online. Even if the native design files are not available from the MCU dev board vendor or distributor, the schematics may be available in PDF format, or they could be available as an open-source project on GitHub. When you have access to schematics, it will be much easier to start designing your own system with the desired part number.
ESP32 example in OrCAD Capture
MCU boards and FPGA boards are not the only development products you will need when designing a new embedded system. There are many different modules for ASICs that can be purchased and added into your development platform. These modules are typically inexpensive and will be available from many different vendors. Some example products you might find from distributors include:
Wireless transceiver chips for Bluetooth/WiFi access
Sensors, such as environmental or inertial sensors
Memories, which will typically be Flash memory chips
ADC/DAC modules that might exceed capabilities built into an MCU
LED drivers or gate drivers that can be used to control motors
Most of these will include solderable through-hole pads or pin headers as the primary mechanism to connect boards together, so it will be a simple matter to solder some pins or wires onto these boards and start using them in a development platform. You can then start working on a driver for the ASIC module and test it in your embedded application.
MAX31855 module for thermocouple compensation
You Can Still Design Schematics While Testing
As you experiment with your code and go through your test cases, you can still work on your schematics at the system level. As you go through your breadboarding process ensuring connections are correct, copy each of these connections into your schematics as you test the system. Start with the available schematics for your development boards and copy connections into your custom schematics as the design is being tested.
To do this, just keep your schematics open in your capture program while testing the board. Each time you run through a test case, you can modify the schematics to match the tested connections in your dev system.
Once the design is complete, it’s time to start on your PCB! Most of the hard work in the schematics will be completed as long as you follow a design-and-test process when capturing schematics. Now you can import the footprints to a new PCB and start working on the layout.
When you’re ready to design a custom PCB for your embedded system, make sure you use the best PCB design features in OrCAD from Cadence. If you’re ready to take even more control over net logic and board layout, you can graduate to Allegro PCB Designer for a more advanced toolset and additional simulation options for systems analysis. Only Cadence offers a comprehensive set of circuit, IC, and PCB design tools for any application and any level of complexity.