Meet Robert D. Poor & Associates
Our Expertise
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 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 unattended operation.
Bespoke Bootloaders: Once in a while, firmware needs to be updated. We have written numerous bootloaders that update 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.