Embedded Software Design

Software at the
heart of the matter

Modern electronic products are platforms for the incredible powers of software. SW embedded in microcontrollers are the heart of the product, and this is where DGCD excels. Our team not only specializes in developing the electronics, but we write code that runs your product. Whether it’s embedded microcontroller code running on bare metal, or code running on RTOS or a Linux operating system on a single-board computer, DGCD has the knowledge your product needs.

Controls, I/Os, wireless communication, UIs, algorithms, and more

DGCD has extensively developed code that interacts with electronics to run algorithms, control code, graphical user interfaces (GUI) including touchscreens, wireless protocols, and more. This isn’t an engineering task for just anyone. DGCD’s software engineers are uniquely qualified to handle this deeply involved work and are familiar with programming a wide variety of devices and protocols.

 

Many projects types

DGCD has developed the embedded software for many products of all shapes, sizes, and complexity. For example, EDM’s AP30Jr overhead powerline measurement device is run by several different code bases sitting on three different pieces of HW. These include the touchscreen GUI, code for GPS and cell connections, algorithms for complex timing and calculations, and FPGA and microcontroller control code to manage the system. Other projects have ranged from highly complex to simple and quick, but we will deliver your electronic product fully functional and with professionally developed SW.

Contact us to learn more and get started.

Areas of Expertise

DGCD has years of experience working on a variety of microcontrollers, technologies, and product types.  We have developed expertise in many areas and the ability to effectively develop code for new ideas and for new electronics.

  •  Various microcontrollers.  Experience working with ARM Cortex Mx parts including STM32, NXP LPX families, Nordic nRF5x, Microchip PIC, and ESP32.
  • Development tools including Keil MDK, Eclipse, Visual Code, MPLab, and Arduino IDE.
  • IoT and Consumer products including wireless communications.
  • Firmware design for optimized power consumption and extended battery life.
  •  BLE communication protocols (API) development for communication with mobile device Apps
  • Real time handling of IMUs and other MEMS sensors including data filtering and monitoring for triggering events.
  • Real time handling of A/D converters including data filtering and monitoring for trigger levels.
  • User Interface design for character and graphical displays.
  • Low-power application level protocols for network communications for wired and wireless networks including cellular and satellite.
  • Driver level development for phone/tablet apps to interface with the OS’s BLE API.