ABOUT
HOW WE DO IT
+Your Area Expertise and Business Requirements
Our Electronics, Firmware & Development Process Expertise
The Best Possible Electronic Product
We Have Great Experience
Hardware Design Experience
We've built and delivered over 350 board designs. Many of these have been tough mixed-signal designs that combine low-noise analog conditioning circuitry on the same board with high power motor controls, microprocessors and switching power supplies. We've built boards with every imaginable communication interface standard, and with a huge variety of internal power supply requirements. We’ve worked with single-chip microcontrollers, and with high power DSPs with high speed DDR2 memory interfaces. Most designs include A/D converters and/or D/A converters, and many designs use PLDs or FPGAs. We know electronics, we know layout, and we know how to effectively combine the two skills together to deliver an integrated, cost-effective and balanced electronics system.
Manufacturing Experience
Our board designs are economical to assemble. We've worked with assemblers to understand what they need to build boards with high yields. We understand tooling and board test procedures. Our CAD libraries have been created to meet the exacting ISO standards (the libraries that come with most board layout software don't meet these standards!). We have summarized what we've learned into a concise set of Design For Manufacturability (DFM) guidelines that we use for all our board designs.
Firmware Experience
When our designs include microcontrollers or DSPs, we deliver a test suite that demonstrates that all the design subsections operate as required. Often, clients will take these low-level hardware drivers and use them to get a head-start in writing their application code. On other projects, we'll write the final application program.
Component Knowledge
We've found that second-sourced components are easier to purchase and are typically 20% less expensive than similar sole-sourced components. Our custom component database highlights these parts to encourage our designers to use them.
Regulatory Knowledge
Every project we've built for the last eleven years has passed regulatory testing (including emissions) without requiring board-level changes. We have worked with a wide variety of standards, including IEC1000-4, 47CFR15, 47CFR68, EN50020, EN50022,EN50082, EN55022, EN60950, UL913, UL1950.
Project and Process Experience
We've done it before. Although we uniquely tailor each product to a client's requirements, we use a similar process for every job. We know what kind of problems can occur at each project stage, and use checklists, tools and procedures to keep them from happening.
We Work to Understand All the Design Requirements
We work to understand not only the requirements presented to us, but also the product history, the client's business, and where the client's competition is headed. Knowing more about the application takes time, but often allows us to use our design experience to:
- Suggest alternative solutions to design requirements
- Make the client aware of low-cost or no-cost features
- Leave
hooks
for future feature expansion
We Manage the Project
- Work from a signed-off specification, so that everyone agrees on what's being designed.
- Establish acceptance criteria, so that we can fully test the system before delivery, and so everyone can agrees that it works after delivery.
- Report progress regularly, at one- or two-week intervals.
- Implement the difficult and/or critical design sections first, because everything else in a design is going to be more flexible and easier to adapt.
- Include flexibility for change. For any but the most cost- or size-constrained projects, we leave room for expansion: extra I/O, extra memory, extra processing power.
- Plan for debug. Even if things work perfectly, there is a time in a project where design sections need to be verified and tested. Including ground points, test node access, programming headers and other debug features is an essential part of keeping a project running on schedule.
- Schedule time for the unknown. There's always something, and if you don't plan for it, the project's going to be late.
We Use High Performance Design Tools
Using high quality Design tools helps us perform our work quickly, accurately and with great flexibility.
- Mentor Pads Layout, for Circuit Board Design
- Mentor Hyperlynx, for Circuit Board Signal Integrity. This tool allows us to accurately simulate the signal characteristics for high speed PCB tracks such as those used in DDR2 memory systems.
- Cadence Orcad, for Schematics (Mentor DxDesigner or PADS Logic, upon request)
- Altera Quartus, for PLD and FPGA Design (Xilinx ISE, upon request)
- Mentor Modelsim, for PLD and FPGA Simulation
- TCL Scripting and Perl, for design support
- C/C++, for embedded software (Various vendor tools)
We've Created Custom Tools and Procedures
As good as our design tools are, there are many aspects of the design process that they don't manage. We've worked hard to codify and automate procedures to fill these gaps.
- An extensive Design Checklist, to eliminate common design errors and design process errors.
- A Circuit Board Layout and Design For Manufacturability (DFM) Guide, to ensure that circuit boards are economical to fabricate and assemble with high yields, that design sections don't interfere with each other, that they are not susceptible to Electro-Static Discharge (ESD), and that they don't radiate Electro-Magnetic Interference (EMI).
- Parts Database, to manage CAD libraries and reinforce the use of high-volume, low-cost multi-sourced components.
- Netlist Converter and Checker, to help identify common design errors.
- A Schematic Style Guide, to make sure schematics are easy to read and are drawn to industry conventions.
- Kit Management Software, to manage the kitting and assembly of boards (we build a lot of boards!)
We Conduct Post Mortems
to Improve Our Design Process
At the end of each project, we sit down and review how we did. If we find something that we could have done better, we update our checklists. If someone created a new tool or software program, we archive it so that it's available for future projects. If we've learned a lot about a design area or particular type of component, we make sure that this information is available to other designers.