EQware is more than just a collection of talented software engineers. We have proven ourselves to be high-quality system engineers and product developers. Our skills represent our team's combined experiences and education.
EQware has worked with so many hardware platforms, SoCs, components, and interfaces that it would be difficult to list them all! Let's just say we know how to digest complicated chip specs, schematics, and existing code so that quality firmware can be developed. Firmware development is often an exercise of incrementally bringing hardware circuits to life, and testing interfaces for proper operation. EQware can support your hardware design, or create a prototype from scratch.
Prototypes/Board Bring-up — EQware is experienced in board bring-up, creating “probe code” and exercising new circuitry as quickly and simply as possible. We bring reference designs to life, creating BSPs that allow silicon manufacturers to validate their designs and OEM customers to create product prototypes. EQware also supports processor selection for embedded systems, and leverages processor evaluation kits and/or hobby kits such as Beagleboards and Raspberry Pi to quickly prototype products. These front-end project efforts typically establish the bootloader(s), operating system, and manufacturing load & test methods used throughout the product lifespan.
Platforms/CPUs — From custom 4-bit microprocessors to HPC clusters with 1000s of cores, we've worked on it. We've developed vast amounts of software for numerous x86, ARM, and PPC processors as well as other CPU architectures, and have executed cross-building for embedded targets, from the command line, or by using a build framework such as Yocto.
Devices/Interfaces/Protocols — Processors need to communicate with devices, on and off the platform. EQware developers already know how to harness the most common physical interfaces. However, this is just the start. These interfaces often connect to other devices: processors, networking interfaces, memories, disk drives, LCD panels, and sensors. The drivers for these devices are more closely related to the application needs but are often hidden behind layers of middleware. EQware is well versed in all sorts of device drivers as well as any other layer of the software stack up to and including the application.
Power Management — Embedded products are often battery powered. EQware understands the importance of suspending various hardware components when not being used. This can be a complicated balance of disabling power and clock domains, yet allowing certain wake events to be possible. Understanding how to use power management controllers to serve system power sources as required, while saving power at other times, is essential. We know how to implement suspend-resume hooks for appropriate power management, and can integrate a fuel gauge or battery charger circuit into the system.
Wireless Communications — EQware’s extensive experience in various wireless technologies separates us from other firmware development companies. Our engineers were able to achieve a year-long product battery life for one customer by creating a custom IC and using a proprietary protocol. We have deep experience developing BLE solutions, peripheral and central roles across many platforms. Whether you need a custom 2.4GHz solution, or an off-the-shelf WiFi/Bluetooth module to be harnessed, we can get the job done.
Circuit Board Design — EQware is experienced and qualified to lead and manage all aspects of product development, and has close relationships with outside hardware consultants. While many of our projects are software-oriented, we are more than happy to help bring your design ideas from napkin to manufactured product.
Debuggers & Test Tools — Using the right tools to use to capture bus transfers, or otherwise monitor interfaces is key. We know the right tools for the job, whether sniffing BLE, capturing SPI on a logic analyzer, or tracing code execution; whatever is needed to best analyze firmware behavior. EQware also knows how to use in-circuit emulators, debuggers and performance analyzers to their full potential, and can even update the tool chain to support new processors or extensions.