Approach
Achieving a certain product or customer outcome requires a high-level systematic viewpoint to organize the solution into parts, paired with the competencies required to execute each part. Our engagement begins by breaking down the desired outcome into achievable and straight-forward sub-goals. From there, whether the solution calls for a data-crunching python script or bare-metal C coding, we have the tools needed and use them with mastery.
For many engagements that can be broken down easily, we can provide a fixed-price and fixed-timeline estimate to achieve certain deliverables in your project. Other times, the problems can be complex, or you may not know exactly what you want up front. In this case we can operate on a retainer-like arrangement to put a certain level of attention on your problem each week.
To learn more about our particular skillset, keep reading below, or Contact Us!
Lifecycle
Research
Novel technology development usually begins with a research phase where we determine the first feasible directions to pursue. Coming from an academic background and through writing numerous peer-reviewed publications in top journals, we can navigate through the academic literature and bring the cutting-edge developments into your product. As well, we can scientifically develop new research for your product by methodically designing experiments, collecting data, and analyzing results.
Development
Once a clear and feasible direction is determined to solve a problem, the development phase of a project begins. Our process is to first set requirements for the technology, starting from the high level “what does the system need to do to be useful?” then breaking down to the low level “how does a particular function need to behave?”. Second, we implement the solution according to the specifications we developed. Thirdly, we validate the implementation against the specifications. This 3-step process facilitates straightforward communication with the client and can show a clear path to success from the start.
Review
We also offer a fresh pair of experienced eyes to put on your existing technology implementation. This might be in the form of an open-ended design review of your PCB design or software. Alternatively, you might have a particular pain point with an existing implementation that we can address. Either way, we have the experience to take care of the most pernicious issues in your design.
Highlighted subject areas
Wearable sensor platforms
We can help developing novel sensor platforms for wearable devices including development of photoplethysmography (PPG), SpO2, and EKG/EMG sensors. In addition to designing the hardware itself we can also develop digital signal processing (DSP) and machine learning (ML) algorithms to estimate whichever hidden variables about the person are necessary.
Robotics
We specialize in autonomous mobile robots (AMRs) such as factory/warehouse bots and personal consumer robots. We can advise and develop robotics from low-level hardware system architecture and motor control to high-level algorithms like localization (SLAM), obstacle avoidance, and path planning. We can use the robotic operating system (ROS) to leverage existing code and speed development, or build an architecture completely custom for the most robust behavior.
Sensor Networks
We can design part of, or a whole wireless sensor network system to sense and report on a particular physical quantity of the environment like temperature, humidity, EM fields, or connect to another sensor and report its status. There are many technologies to choose from to enable Internet-of-Things (IoT) and we have the experience to help determine which ones make the most sense for an application.
Competencies
Below is a list of specific competencies we have on our team:
– Robotic localization and mapping (SLAM). Graph and filter based algorithms.
– Classic estimation & control: Kalman filtering, full-state estimation & control, PID controll
– Signal processing: Frequency and time-domain analysis, PCA, adaptive filtering
– Machine learning: SVM, Random forest, polynomial regression
– Embedded system architectural design
– Circuit design: Schematic capture, PCB design, PCB manufacturing
– Circuit design tools: KiCAD (preferred), Altium, EAGLE
– Fluent in Python, C/C++, Linux
– Experience with Javascript/Typescript