Embedded Software
Low power sensing and control using embedded operating systems, Internet of Things (IoT). Real time control using DSPs with advanced peripherals. Heavyweight processing using a broad range of open source libraries on Linux-capable processors; bringing Linux up on new hardware; configuring/writing drivers; keeping the power down. Dependable remote firmware updates on microcontrollers and Linux systems. Physical graphical user interfaces – beautiful and functional displays, at low cost and power, working on and off-line. Local web interfaces for configuring devices from mobile devices.
Electronics
Low power design – years on batteries, indefinitely on solar panels, super caps. Careful power budgets, considering how to quickly complete high power activities and get back to a low power state, whilst remaining responsive. Efficient power supplies and battery charging.
Sensors – measurements with appropriate accuracy; noise and repeatability; with analogue and digital sensors; balancing cost and precision. Interfaces to PLCs used in factory automation.
Microcontrollers/Linux capable processors or SBCs/FPGAs – power supplies, programming and debugging; memories; complicated peripherals (ethernet, USB, cameras, CAN). RF – integrating Wifi, Bluetooth, LORA modules/ICs, RTK GPS, Cat-M1/NB-IoT, impedance control, antennas.
Working with mechanical engineers to put PCBs into tiny enclosures and harsh environments.
Working with manufacturing partners to economically get PCBs into production.
Firmware
VHDL logic (RTL) designed for synthesis onto target hardware. Constraints files. Manual simulation and automated test benches leveraging software-style workflows. Bit-accurate implementation of Matlab RADAR/SDR front end and tracking algorithms. Practical debugging. Interfacing with Embedded Processors and IP Cores. TCL scripts. JTAG boundary scan.
Test Equipment
Off-the shelf and custom electronics, sensibly packaged (racks, enclosures, bed of nails, sacrificial parts) for use in production. Labview and NI hardware (if appropriate). Mechanical design for jigs.
Manufacturing/Test Software
The software tools to program, configure and test products. Simple and clear for operators; integrated with back end systems (configuring keys, registering devices); logging time taken and issues for continuous improvement.
User Software
Modern, professional, branded interfaces for end users to control and configure hardware devices, with signed windows installers. Web infrastructure for communicating with devices in the field; supporting production; displaying data for operational and customer use.
Compliance
Much of our work is on products that are CE/UKCA/UL marked, pass EMC tests and comply with harmonised standards (LV/RED directives). Designing to, producing documentation for and testing against standards. Have EMC pre-test equipment for radiated and conducted emission and immunity testing. Design to avoid EMC issues, but also support EMC testing at the chamber and getting products through.
AI
We can wire AI into our other software. Imagine if your test jigs could guide operators through the steps if they’re struggling to follow the written procedure and flag up regular problems to the engineers themselves – well you can! We also have experience of more technical AI/ML (machine learning) for image and signal classification, both in embedded systems and for analysing your data.
AI makes us far more productive at coding and testing embedded software on the target – as we know how to do a professional job by hand already, we know what to feed the AI to get quality outputs and how to check and integrate what it generates.