I offer integrated hardware, firmware and software development — from concept through to production — using modern tools and AI-assisted workflows.
Get in TouchI define the hardware/software partitioning, select components and create the technical roadmap — ensuring your product is built on solid foundations from day one.
Schematic capture, PCB layout and design-for-manufacture review. I work with Cadence OrCAD, PCB Editor and KiCad to deliver production-ready boards.
Bare-metal, RTOS and embedded Linux development. I write HALs, BSPs and drivers — reliable low-level code that ships.
Connectivity stacks and network protocols — BLE, Wi-Fi, Ethernet, USB, MQTT, Modbus and more. I get your devices talking to each other and to the cloud.
Integration into home and building management systems. I work with Matter, KNX and proprietary protocols to connect your products into the smart-home ecosystem.
Design of optical systems — from LED optics and light-guiding to sensor integration. I combine optical and electronic design into a single cohesive solution.
Model selection, quantisation and deployment on MCU and MPU targets. I bring machine learning out of the cloud and onto your embedded hardware.
Second-opinion design reviews and technical due diligence. I provide an independent, experienced perspective on your existing hardware and firmware.
I'm Richard Miller-Smith, the founder of Darwin Innovation. I've spent over 30 years designing embedded electronics — from bare-metal microcontrollers to full Linux-based systems — across consumer, industrial and IoT applications.
I believe good engineering means choosing the right tool for the job, not the fashionable one. That said, I actively integrate modern AI-assisted development into my workflow, using tools like GitHub Copilot and Claude to accelerate development without compromising quality.
Whether you need a complete product designed from scratch or a fresh pair of eyes on an existing design, I bring a pragmatic, end-to-end perspective that comes from having done every stage of the process myself.



Have a project in mind, or just want to discuss a technical challenge? I'd be happy to talk.