Innovation usually comes at a price. Nowhere is this more true than with developing embedded systems, which usually requires a significant investment in components, tools, software and skills development. This reality has made many engineers hesitant to get involved with embedded systems design, forgoing what may be a lucrative and challenging practice.
However, manufacturers and vendors are increasingly partnering to lower the barriers to entry and fuel a boon for developers looking to leverage embedded technologies. The importance of this cannot be understated, as embedded systems become the key to distributing hardware (and software) intelligence away from centralized systems, and bring portability and power to the masses in all sorts of form factors.
Of course, embedded systems are not all that new; they’ve existed since the wholesale adaptation of transistor-based hardware and were used in such significant engineering achievements as the Apollo guidance system for the moon landing.
Embedded systems have grown exponentially in power and capability, and prices have fallen significantly. This has created an environment where almost anyone can tinker with embedded technologies and bring innovation to wherever software meets the physical world. Today, getting started with embedded systems design takes little more than a will to succeed and a few hundred dollars -- thanks to vendors, groups and services that are chock full of information and products to bootstrap almost any embedded design adventure. Let’s take a look at just a few.
The Gizmo Explorer Kit includes the components and accessories needed to get started with embedded design.
Steps to Success
While getting started with embedded development takes little more than a credit card and free time, there are still best practices that can dictate the success or failure of that first project. Simply put, newbies can learn from the mistakes of others and can avoid repeating history -- as long as they know that history. That’s when an active development community can become one of an engineer’s best allies.
Nevertheless, there are still some tenets that dictate how to proceed with a project and bring professional practices early into the process.
- Have a plan: Define your requirements and make sure you have a goal in mind. Only then can you select the proper elements to start a project.
- Software choice is key: Most engineers are wowed by hardware innovations and designs; however, what really matters the most is the software (or firmware) that the embedded device will run. It is critical to have an understanding of how code will integrate with hardware and how it will ultimately function.
- Budget accordingly: If history teaches us anything, it teaches that things tend to cost more than expected. Make sure budgets are capable of supporting your project, and expect the unforeseen to rear its ugly head and increase the time and monetary resources needed.
- Choose hardware wisely: Never forget the integral role that software plays in choosing hardware. In other words, make sure the hardware chosen will be supported by the software development environment.
- Leverage the work of others: For most developers, it is unnecessary to create operating systems or other software elements. A vast open-source community exists that may provide exactly what is needed when it comes to operating systems. What’s more, determine whether an operating system is even necessary: Single-purpose designs (such as clocks, thermostats, sensors, and the like) do not have to juggle multiple tasks, and may not even require an operating system to function.
- Keep It Simple, Stupid (the KISS Principle): In other words, use simpler programing languages and design tools when getting started with embedded systems. For example, it is much easier to develop in Embedded C, as opposed to C++, which has a steep learning curve.
- Invest wisely: Don’t be afraid to spend money on tools. Most tools speed development, reduce bugs and boost productivity -- and pay for themselves very quickly with time saved.
-- F. Ohlhorst.
GizmoSphere A Place for Everything Embedded
GizmoSphere is a not-for-profit organization that functions as a resource center for embedded developers, as well as a community that supports a development environment built around the Gizmo Explorer Kit, a $199 concoction of elements that pretty much delivers everything an engineer needs to get started with embedded design. The kit includes:
- The Gizmo Board: This compact development board is powered by the AMD Embedded G-Series APU. It includes two custom card edge connectors, which can interface with SATA, USB, Display Port, PCIe, SPI, I2C, GPIO, PWM, ADC Input, DAC Output, Reset and Counter devices. The board also includes JTAG header, VGA video output, audio input/output, Ethernet, and USB ports.
- The Explorer Board: A companion board for Gizmo, the Explorer expansion I/O board offers additional experimentation and exploration opportunities. This two-layer board connects to Gizmo via the low-speed connector and provides an alpha-numeric keypad, a micro-display, and a sea of holes for prototyping and customization.
- Sage SmartProbe JTAG Development Tool: An automated, configurable plugin development tool for embedded designs. The SmartProbe offers full development and debug capabilities, including access to all registers and memory, USB and Ethernet support, remote access, virtual port, reset vector control and field-updatable firmware.
- Sage EDK Graphical Interface: A 30-day trial license for the Sage EDK, an intuitive graphical interface that streamlines development and debugging. The Sage EDK integrated development environment (IDE) provides the ability to build, inspect and debug software.
- Pre-installed SageBIOS on Gizmo: The Gizmo board comes pre-installed with SageBIOS, a distribution of open source coreboot, which supports several boot options, including a PC behavior option and an Explorer board option, among others.
- Flash drive: A bootable SLAX Linux distribution, which contains instructions for installing the Sage EDK and documentation such as the Gizmo Explorer Kit user guide.
- Quick Start Guide: A to-the-point guide to get you up and running quickly.
- Accessories: Power supply, Ethernet and USB cables round out the offerings.
Geppetto, an online development platform from Gumstix, allows users to design custom boards within a web browser. Gumstix can then assemble the custom boards.
Additional software licenses and development tools are available online for those looking to enhance the Gizmo Explorer Kit.
However, the Gizmo Explorer Kit is only one part of the GizmoSphere story, developers will find that the GizmoSphere site is loaded with reference materials, sample schematics, plans and most importantly, a very active developer community that offers interaction and help from numerous other developers. The community is further divided into groups and forums, making it simple for those working with Gizmo boards to get answers quickly, post comments and share ideas.
The most impressive feature of the Gizmo Explorer Kit is the Gizmo board itself, which features an AMD G-T40E dual core processor running at 1GHz, as well as a Radeon HD 6250 graphics controller and 1GB of DDR3 SDRAM, making the Gizmo board a powerful development platform for a variety of embedded functions, ranging from setup boxes, industrial control systems, and even casino gaming machines.
GizmoSphere claims that the Gizmo board offers 52 gigaflops of performance, and consumes just 10 watts of power. What’s more, the Gizmo board can run Android, Linux, RTOSes and Windows operating systems.
Other Paths to Innovation
While the Gizmo Explorer Kit may prove to be a great starting point for those wanting to dip their toes into the waters of embedded design, there are other options as well -- options that shift the development process to the virtual realm. Take, for example, Geppetto, an online development platform from Gumstix, a company known for designing custom boards for embedded applications.
Geppetto allows anyone with a proper web browser to design custom boards, which Gumstix then can assemble. Geppetto brings simplicity to printed circuit board (PCB) design. Users simply have to select the size of the board, add modules (USB, Ethernet, HDMI, etc.), and then allow the platform to render the board. Users are offered a 3D representation of the designed board, and then can share it with others (via the cloud) or request that Gumstix manufacture a physical board.
The entire design process only takes a few minutes, and the platform automates the rendering. Users need not know anything about PCB layouts, schematics or electrical engineering. The upside is that engineers can design embedded controllers that only contain the features they need -- for example, if you don’t need a video controller or Ethernet on the board, you can simply choose not to incorporate those modules into the design.
Initial board setup can cost as much as $1,999, and additional units vary in price, depending on the numbers ordered and the features requested. That said, Geppetto probably offers the quickest, easiest and most innovative way to design custom embedded devices.
The Gizmo is powered by the AMD Embedded G-Series APU and includes two custom card edge connectors.
No conversation on x86 embedded design would be complete without mentioning Sage Electronic Engineering, a company that provides everything from development tools to full design services. Sage is a partner of GizmoSphere, and offers tools that work hand in hand with GizmoSphere offerings to ease embedded system development. One of Sage’s claims to fame comes in the form of its SageBIOS, which is a distribution of the open source coreboot project. SageBios replaces the proprietary boot firmware found on x86 systems with an open source implementation that is fully customizable.
Sage also offers SmartProbe, which is designed to give engineers full access to AMD processors to create a complete system view for debugging and design purposes. When paired with Sage EDK (an IDE-based development tool), developers have a complete environment for developing custom code for embedded systems. Sage EDK integrates every aspect of design into a streamlined, intuitive graphical interface that further simplifies the development process.
While embedded design is nothing new, never has it been as simple to get started with as it is today. Engineers can readily step up to the bat and get involved in the process, to create profitable solutions and devices that can drive the next generation of innovation.
Frank Ohlhorst is chief analyst and freelance writer at Ohlhorst.net. Send e-mail about this article to email@example.com. More Information
Advanced Micro Devices
Sage Electronic Engineering