We have direct experience with the following:
Requirements & Specifications Development
Great ideas do not magically come to life without a plan. A well-thought-out development strategy makes it possible to efficiently work through the logical steps from concept to production. With nearly three decades of experience in embedded systems development, we have been through each step in the process more than a few times.
We can help your team…
-
- Articulate the details of your idea in an effective requirements document.
- Develop a high-level design derived from your requirements.
- Identify key trade-offs in features, cost and development time.
- Implement a low-level design enumerating the key system details.
We can join you at any point in the process, and tailor our support to your needs. Let us help you ensure each piece of the puzzle comes together seamlessly and on time.
Research & Development
New product ideas are exciting and lend themselves to a world of possibilities and a long list of questions:
- Is it feasible?
- Is it marketable?
- Who are potential customers?
- Does something like this already exist?
- What obstacles may stand in the way?
Once these questions have been answered, a whole new batch crops up:
- What is the appropriate hardware architecture?
- Which processor family best meets our needs?
- Which peripherals are needed?
- Do we need a wireless module?
- Do we need embedded Linux, an RTOS, or a simple background loop/interrupt setup?
Finding answers to questions like these can stifle a great idea before it even gets off the ground, especially if your team is already fully allocated to current product development. Let us help you assess the possibilities and answer the questions to jumpstart your new product, allowing your team to remain focused on their primary objectives.
Rapid Prototyping
If a picture is worth a thousand words, then a functional prototype can be invaluable in communicating your ideas.
Sometimes, you need a rapid proof-of-concept for demonstrating a new product idea.
Other times, you need to know if an idea will work before you invest your team’s time and talent into product development.
In either case, we can help.
Rapid prototyping can take on many forms:
- Custom hardware
- Re-purposed production hardware
- A patchwork of off-the-shelf development boards
Whatever your goal, we welcome the opportunity to help you get there.
Firmware Engineering
With extensive experience in the development of real time embedded firmware for a variety of applications and markets, we are ready to help bring your product to life.
We are familiar with several microcontroller platforms, and have developed with various embedded OS options including embedded Linux, FreeRTOS/OpenRTOS, MQX, ThreadX and simple, minimal interrupt driven systems.
Whether your product is a low power IoT device that has to glean a year of life from its battery or a snowmobile instrument cluster, we have probably worked on something similar. Below is a short list of our areas of expertise:
- IoT (Internet of Things)
- Telematics
- Vehicle Networking
- Board Bring-Up and Diagnostic Development
- BSP/MCU Firmware
- Platform Development
- Application Firmware
- RTOS Porting
- Protocol Stack Development
- Low-level testing and validation
- Device Drivers
We are comfortable with a range of development methodologies and will work with your team to achieve high quality, on-time deliverables. We can help you get your platform up and running for the first time, take you from start to finish, or help you anywhere along the way.
Testing and Debugging
Embedded Systems Development can be tricky. With nearly three decades of experience, we have our share of war stories.
- Interrupt latency issues
- Interrupt priority issues
- RTOS priority inversions
- Inter-processor communication problems
- Vehicle network protocol issues
- And the list goes on and on…
We want your product to meet your expectations. We can help your team…
- Develop test plans and testing methods.
- Execute test plans and document results.
- Analyze data to identify and isolate performance issues and bugs.
- Review code and correct problems.
Give us a call. We will listen, ask questions and together come to a level of support that makes sense for your team.