Our Services
Since our inception, EQware has built itself out of well-rounded, tight-knit engineers. As such, we get to take pride in the fact that EQware can offer you an experience that is truly more than just a collection of engineers.
With decades of experience under our belt, we at EQware have the skills and capabilities to help you bring your designs to reality. Not only can do exactly what you need without the overhead or training involved with a new hire, we hit the ground running, working closely with you and your team to hit your goals.
Select A Different Service Hardware Engineering
Launching a new hardware design? Looking to move into prototypes and evaluation boards? Looking for clarification about what is the right hardware for your job? EQware is familiar with all the unique challenges of hardware development and is happy to bring our expertise to the table.
Microprocessors and Platform Development
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. Our experience with compilers has allowed us to execute cross-building for embedded target platforms, either from the command line, or by using build frameworks such as Yocto. We even have experience working beyond the world of traditional microprocessors in our work with FPGAs.
Evaluation Hardware
From the beginning of prototyping to the end of production, EQware has the capabilities to aid you at every step of the way. Whether it is an evaluation board for a new part or a reference board for potential customers, EQware has the ability to design a complete board with all the appropriate interfaces and peripherals, along with any documentation your OEM or hardware team may need.
Hardware Designs and Bring-up
We at EQware are extremely comfortable with assisting in the hardware design process. We know the importance of that initial “probe code” and being able to exercise new circuitry as quickly and simply as possible. We also have helped bring reference designs to life, creating BSPs that both allow silicon manufacturers to validate their designs and let OEM customers create product prototypes.
Embedded Connectivity
Almost every processor needs to communicate with some sort of device, which could be on or off the platform. EQware developers already know how to harness the most common physical interfaces for embedded connectivity. However, this is just the start. These interfaces often connect to other devices: other processors, networking interfaces, memory, storage devices, LCD panels, sensors, and more. Sometimes, the drivers for these devices are closely related to the application needs, but they can be hidden behind layers of middleware. EQware is well versed in any of layer of the software stack up to and including the application.
Select A Different Service Firmware & OS
EQware stands for "Embedded Quality wares", and low level code has been EQware's fundamental business for decades. So make your Firmware and OS work less daunting by partnering with ouryears of experience in OSs, RTOSs, runtimes, bootloaders, kernels, and more! Our engineers have the experience to tackle all of the most daunting of tasks with a quality that you can be proud of.
BIOS & Bootloaders
Early in the startup of every computer lies an important piece of software: the bootloader. Sometimes called a BIOS on desktop or other workstation-grade computers, these important pieces of software are the hardware-software cornerstone. However, bootloaders can be difficult to create, modify, and debug. But with EQware on your team, your project will soon be up and running: We have the experience to set up a bootloader to the specification your hardware and application need.
RTOS
Our engineers have experience with several types of real-time operating systems, from small OSs such as ThreadX and FreeRTOS, to full-scale and custom. While EQware has performed extensive development using embedded Linux on handheld devices, current expectations are that smartphones should be able to replace such devices. By leveraging deep knowledge of iOS and Android, we can make these expectations reality. And so from embedded Linux, to custom operating systems, we can ensure that your system responds to interrupts and handles critical operations in a timely fashion.
Kernel Changes / Linux Kernel Porting
Not every firm is prepared to make changes inside the OS kernel, but when projects require it, EQware is up to that challenge. We also have the tools and experience needed to debug, analyze performance, and run regression suites against your kernel code.
When it comes to Linux, EQware has particular experience. We have ported the Linux kernel many times, including several device drivers. We also understand the difficulty that can come with backporting bug fixes from "future" Linux versions. It can become a dependency nightmare if trying to back-port larger drivers, written to underlying Linux frameworks that have changed. As such, we do kernel porting to realize actual benefits for you and the development community at large. As such, we've executed several large porting projects in concert with associated ports in the Yocto version.
Reference OS
EQware has experience with many OSs. We are proven experts at porting onto new reference boards, from kernel modifications to all of the device drivers needed to demonstrate your new hardware's functionality to potential OEMs.
Middleware Libraries
Today's embedded systems consist of multiple layers of software required to support your product application. These middleware layers can have critical functionality to support complex communication stacks, high performance multimedia, general accessibility, and more.
Select A Different Service Development & Tooling
Whether its in the embedded realm or not, prototypes and tooling are undeniably important parts of the software development process. Proof of concepts, hardware emulators, and test tooling have comprised some of EQware's finest works. So if you're looking for a partner to develop a product with, we are here to help.
Proof of Concepts
We at EQware are experienced in board bring-up, creating “probe code”, and getting new designs up and running as quickly and simply as possible. We also help you bring reference designs into the world by creating BSPs that allow silicon manufacturers to validate their designs and OEM customers to create product prototypes.
EQware also supports a wide processor selection for embedded systems. We also leverage processor evaluation kits and/or hobby kits (such as Beagleboards and Raspberry Pi) to quickly prototype products. Ultimately we understand the importance of first-to-market and are happy to work with any and all tools that are appropriate.
Hardware and System Emulators
Hardware emulation greatly assists in development of new hardware, systems, and software. We also know how cost-effective it is as prototyping method, giving the initial software developers a controlled environment. Our engineers have built completely custom emulators, ported existing emulators, and combined multiple open-source emulators together to simulate a complete system. We also know how to check the feasibility of large and small systems alike. Whether simulating and testing a new algorithm prior to implementation, or creating a discrete event simulation of a complex system with many variables, we know the tools and techniques for the job.
Test Tooling
Meaningful tests and reporting keeps everyone moving forward. EQware understands that regression testing ensures your design starts clean and stays clean through the entire development cycle. For example: in the case of a new CPU, we can evaluate your instruction pipeline for stalls and faults, turning this information around to create a better compiler.
We also understand that many embedded projects need to have a few custom tools built in the project's lifespan. From custom probe code to testing harnesses to put hardware through its paces, custom tooling can be invaluable, both in the debug and test stages. There is frequently a need for special production and servicing test tools as well during the development process. EQware engineers build these tools as a matter of course and deliver them as a part of the package.
IDEs and Debuggers
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.
Custom Development Toolchains
We at EQware are highly proficient at creating and extending development tools. We have extended both GCC and LLVM compilers, ported debuggers, created custom test tools, and much more. And just as with our test tooling, EQware engineers build these development tools as a matter of course and deliver them as a part of the final package.
Select A Different Service Product Optimization
Constraints is one of the innate concepts in embedded engineering. This familiarity gives EQware significant insight into the process of optimizing an existing product. Whether its slimming down the CPU or memory profile of an application or getting a power envelope down to meet portability needs, we at EQware are always looking to push the envelope of computing.
Size and Power Constraints
In a world that prizes lower profiles and efficient devices, constraints are an important consideration in the development of a product. From power and heat to size and hardware, there are many constraints that guide modern designs.
Achieving low power in a handheld device can be incredibly complicated. Some ARM SoCs have entire subsystems dedicated to control of internal clock and power domains. Some chips even contain sophisticated dynamic voltage/frequency control features. The main board will usually have a PMIC chip that manages board power, and can also be quite complex with stored queues of power operations, and core signal connections to the CPU. These systems are connected to operating system power management policies, and define the various power scenarios for the product. Some products will also require battery chargers, fuel gauges, and such to form a complete solution. EQware is well versed in all these areas, and can help turn these constraints into one of your biggest selling points.
CPU / Memory Usage
EQware understands resource constraints of embedded systems, and that these resources are stressed the most when certain events collide or other exhausting conditions are combined. Creating the correct software architecture is key; identifying interrupt-level work, shared data, task breakdown and relative priorities are all important aspects of a solid real-time design.
Scheduling Optimization
Multi-threading is essential to real-time programming, providing the flexibility needed to carry out the program's core functions while remaining responsive to outside events. But threads introduce new kinds of problems as well: deadlocks and race conditions. EQware designers are expert at crafting interrupt-driven architectures to maximize responsiveness and using synchronization primitives to safely coordinate multi-threaded operations.
Performance Analysis
Some of EQware's proudest mobile work has been in squeezing maximum performance from hardware and protocols while still maintaining robustness. Whether you want the highest bandwidth possible or your top priority is timing and precision, we have you covered.
Select A Different Service Networking & Wireless
Our world continues to grow in connectivity, with networking and wireless taking a priority seat in the stack of technologies. EQware has been deeply involved in wireless solutions for many years, from early paging protocols to the latest BLE developments. We have even developed our own proprietary, one-way communications protocol, giving us unique insight into the intricacies of wireless communication and networking.
Bluetooth / BLE
Bluetooth and BLE (Bluetooth Low Energy) are becoming ever more popular. EQware has strong skills in designing entirely new Bluetooth / BLE features from the ground up on various platforms, and we're ready to assist with debugging and testing to get your product streamlined and stable. We know BLE in great detail, and we have developed BLE firmware for various vendors and SDKs, and BLE applications for several computer and cell phone operating systems. EQware can also support your audio streaming needs over Bluetooth EDR (Enhanced Data Rate).
Wi-Fi / Wi-Fi Direct
Do you have a device that needs WiFi support? Are you blocked by a critical networking bug? We can analyze the system, and push the WiFi communications to their limits. For example, a WiFi module in your product might require better firmware, or perhaps a driver patch from the public domain needs to be ported and tested. WiFi Direct can be a good solution for passing moderately sized pieces of data peer-to-peer. Our developers understand how to leverage various network stacks, and arrive at reliable, simple solutions. EQware has also worked on a popular open-source router, specifically in filtering packets.
Wireless Synchronization
EQware has deep experience developing devices that depend on time division multiplexed protocols to receive and/or transmit wireless packets on specific frequencies. We have done this to reduce power consumption and to synchronize sensor sampling across devices.
Zigbee & Custom Radio Protocols
EQware has experience at every layer of the network stack. From low-level NIC interfaces to IEEE 802 specifications, we have you covered. The Zigbee specification in particular opens up new possibilities for low-power mesh networks. EQware can help you harness Zigbee or any other protocol's features, bringing down your product costs without sacrificing quality.
If existing protocols don't truly fit your needs, EQware can design and implement custom radio protocols that get your devices talking to each other seamlessly. Our designs are tailored to your priorities and hardware, and we provide extensive documentation so that you have all your bases covered. We've both worked on custom ICs for packet demodulation / time-accurate framing, as well as on soft radios for extreme timing and location accuracy.
Select A Different Service Mobile & Web Integration
While EQware has focused on putting out excellent embedded code for years, we have also gained plenty of experience in developing mobile and web apps that integrate with embedded products. So whether you're looking to extend a specific protocol or bring your Internet of Things project up to speed, EQware has the skills you need.
Internet of Things
Connection with a backend is a commonplace feature in modern devices. This does not mean it is easy though. From network connections and system engineering to backend routes and databases, there are many different aspects of the Internet of Things (IoT) that contribute to its overall complexity and difficulty. But as engineers, we at EQware take the time to understand the full system we are working in, and pur job is to extend this offer to you with your project.
Web Applications / Web Control Panels
For many embedded applications, the easiest and simplest method of control is via a web application or web control panel. EQware has had multiple contracts where we help upgrade or build control panels to control different embedded electronics. And whether it is a simple site written in php or a site written with a modern Javascript framework, we can get your project the tooling it needs.
Android and iOS Apps
In a world where phones and mobile devices are highly common and valued, native applications are extremely helpful tools to build customer comfort within a product ecosystem. EQware will gladly assist in building an app to help interface with your device. So whether you need to connect via bluetooth, via USB, or anything in between, we can build what you need.
Select A Different Service Multidisciplinary Expertise
In developing software and systems for clients over multiple decades, EQware has had some truly unique experiences in different disciplines. Ranging from grid-scale power management software down to portable multimedia devices, EQware has worked a wide range of fields. And even if we haven't worked in your field specifically, our years of experience jumping from one discipline to the next has given us the agility to fit in wherever we need to be.
Commercial Energy Management
The exponential demand of high-power battery systems certified for installation at commercial and residential sites has created an exciting new market that combines state-of-the art inverters, batteries, and photovoltaics to achieve new power management goals. EQware engineers have experience creating algorithms to perform peak power clipping and PV-smoothing, supported utility-mandated demand / response programs, and provided site-wide battery backup (microgrids) for essential services.
Assistive Technologies
We at EQware remain comitted to creating quality products for everyone, including and especially those who may otherwise have been neglected. We have worked closely with clients who specialize in technologies that assist the blind and visually impaired, working on braille embossers, tablets, and more.
Multimedia Applications
Portable multimedia devices continue to be a force in the modern marketplace. EQware has the experience to harness the performance and low power capabilities you will need to create a winning product, whether you need special hardware, OS, device driver, or codec support.
Streaming audio and video are also important realms for real-time programming skills. Video glitches, audio hiccups, and general buffering delays are easy for users to detect. Combined with the fact that these streaming operations are quite complicated, using sophisticated SoCs, acceleration hardware, software codecs, and consuming lots of CPU resources, the problem can become quite difficult to overcome. We at EQware are very aware of these challenges, and are here to help you and your team produce a clean and well polished multimedia experience.
High Performance Computing
As Moore's Law continues to lose ground, the super computing and high performance computing industries have been increasingly in the spotlight for innovative solutions that showcase increased performance at higher levels of efficiency. EQware has developed toolchain and runtime support for new exascale compute engines creating bare-metal pthread, OpenMP, MPI and MPI capabilities. We also participated in Open Community Runtime scheduling and memory allocation research using Xeon Phi and other exascale architectures.
Looking for more details or something specific?
We are here to answer all your questions. Speak with an engineer:
Contact Us