Embedded systems engineering, done right:
We work with you to define requirements, constraints and solutions…
We design firmware, hardware, test suites and demoware…
We deliver clean, tested, cost-effective solutions on schedule…
… and we’re easy to work with.
Expert Services for Embedded Systems
Firmware Design
We develop robust, efficient and scalable low-level code that interfaces seamlessly with embedded hardware. Our team is proficient in multiple programming languages and real-time operating systems.
Hardware Design
From schematic design and PCB layout to prototyping and testing, our expertise spans analog and digital design, signal processing, power management, and component selection for rapid prototyping and production.
Supportive Systems Design
We specialize in creating user interfaces, diagnostic tools, communication protocols, and middleware that seamlessly integrate with firmware and hardware components.
Test & Measurements
Our expertise includes developing and executing comprehensive test plans, including signal analysis, timing validation, power consumption measurement, and environmental testing and delivering actionable insights and data.
Project Planning
& Management
With multiple decades of experience in building and managing technical teams, RDP&A can help you plan and execute your next development project with creative approaches to solving time, budget and personnel constraints.
Sample Engagements
SYSTEMS + HARDWARE DESIGN
A big challenge on a tight deadline.
The Challenge:
Our client was asked last minute to demonstrate their Neural Network Accelerator interfaced to a new MCU, running audio and video based recognition. The project had to be completed within eight weeks, in time for the Consumer Electronics Show in Las Vegas for a scope of work that normally takes 3 months.
The Solution:
In the course of a week, RDP&A designed an interface PCB and had it fabricated. We wrote low-level “bring up” code to verify robust communication between the devices, developed real-time double buffering code to minimize data transfer overhead, wrote efficient YUV to RGB video conversion routines, designed the data format between MCU and host computer, and co-developed the presentation code to run on the host. Specialties involved:
Efficient signal processing and data transformation
Hard real-time data streaming
Bare-metal device drivers
The Results:
The Neural Network Accelerator demos worked flawlessly at CES.
SYSTEMS + HARDWARE DESIGN
Femto-amperes and rapid iteration
The Challenge:
Our client had designed the analog front-end for a sensitive current measurement prototype. But it was unproven and required precisely timed digital control to realize its full potential.
The Solution:
Because the analog front end was a new design, we worked closely with the client as the design went through many iterations. We suggested firmware techniques to simplify the analog hardware and increase its accuracy, often delivering updates within a matter of hours. Specialties involved:
Close collaboration and rapid iteration with hardware designers
Rapid bring-up and validation of new hardware
Characterizing and compensating for analog noise and nonlinearities
Replacing analog components with built-in MCU modules in order to reduce BOM cost and improve performance.
The Result:
A precision instrument with reduced parts count and increased accuracy.
SYSTEMS + HARDWARE DESIGN
A complete condition-based monitoring system
The Challenge:
The client was bootstrapping a startup that focused on condition based monitoring of rotating devices (fans, compressors, pumps, etc), and needed a portable demonstration system that instantly conveyed the company’s value proposition.
The Solution:
RDP&A designed and built a complete condition-based monitoring solution that displayed the status of a variety of battery powered fans in real-time (“normal”, “off-balance”, “obstructed airflow”, “bad bearing”, “under speed”). The solution’s hardware included 3D printed accelerometer housings, custom PCBs to interface to a Raspberry Pi, an elastomer base for the fans to prevent external interference. Embedded software computed the real-time cepstrum of the accelerometer data, comparing its Euclidean distance from a set of known signatures and transmitting the most likely signature to the host. The host software in turn ran a micro-server that displayed diagnostic info about the fan being measured. Specialties involved:
“Soup to nuts” design from hardware sensors to user presentation
Custom 3D printed sensor housings
Low-overhead, bespoke signature analysis algorithms designed to match the capabilities of the target processor
Designed and wrote Python-based RESTful server to display results.
The Results:
With the help of the demo, the startup raised funding, acquired its first customers and is now an industry leader in its space.
Our Specialties
Reducing technical debt: We believe in Test Driven Development and “separation of interests” in order to create robust software modules that are easy to understand and maintain.
Ultra-low power design: We have the tools and the know-how to create systems that last for multiple years on batteries.
Fluency in low-level protocols: We have developed myriad applications around I2C, SPI, Modbus, RS485, USB, JSON and others.
Multi-lingual: Our go-to languages are C and C++ for bare metal and Python for analysis and servers, and we’ve developed solutions in Java, Javascript / Node, Ruby (and Ruby on Rails), HTML, CSS, SVG, and various SQL databases.
Broad Hardware Scope: We have delivered solutions on a wide array of MPU and MCU architectures ranging from 8051 based systems to high-end PIC processors, “small, medium and large” ARM / CORTEX MPUs, the AVR (Arduino) family, and all flavors of Raspberry Pi.
Robust, unattended operation: Many of the systems we’ve developed do not have a human in the loop. Our bare-metal systems shun dynamic allocation of memory (no malloc/free), and use watchdog timeouts thoughtfully in order to give years of reliable, unattended operation.
Bespoke Bootloaders: We have written numerous bootloaders that support updating firmware from over the air, from USB connections, from memory cards and from serial ports. All of our bootloaders use robust CRC algorithms and safety checks to prevent bricking a system.
Meet Robert D. Poor & Associates
R. D. Poor began his career as an embedded systems engineer at Stanford University’s Artificial Intelligence Lab (SAIL), interfacing one of the first table-top laser printers to a DEC PDP-10. Following this, he contributed to firmware, hardware, and technical management projects at leading organizations, including Lucasfilm’s Computer Research and Development division (which later evolved into Pixar), NeXT Computer, Opcode Systems (acquired by Gibson), and Be Corporation.
He subsequently entered the MIT Media Lab, where he developed innovative algorithms for self-organizing wireless embedded systems. Upon earning his Doctorate, he co-founded Ember Corporation, which was eventually acquired by Silicon Labs. At Ember, he played a key role in making “the Internet of Things” a reality by serving as a member of the ZigBee Alliance and chairing the IEEE 802.15.4B standards body.
Though currently keeping Pacific Time, he harnesses the power of the internet to connect with a stable full of skilled associates and connect with clients in any time zone in the world.
Client Testimonials
Contact Us.
If it’s a sticky problem, we are ready to help.