I develop software, electronic circuits, custom PCBs, embedded firmware and connected-device designs, from working proofs of concept to improvements to existing systems. I investigate faults, build features and deploy changes in the environments agreed for your project, including live systems.
For now, I provide software, circuit and PCB design files, embedded firmware and documentation. I do not currently supply physical boards, kits or assembled devices.
Get practical help with decisions through Technical Advice, or hands-on delivery through Flexible Engineering. If you are unsure where to start, book a free scoping call.
Not sure which option fits? Book a quick, informal conversation to talk through your software or electronics project ideas. I'll help you clarify next steps and point you in the right direction — even if I'm not the right fit.
Get practical technical advice on your idea, existing system or engineering problem. I can help you explore options, assess risks and decide your next steps across software, embedded systems and prototype electronics.
Get hands-on help developing software, electronic circuits, PCB designs and embedded firmware, or investigating, improving and deploying existing systems, with a spending cap agreed before work starts.
I agree the work and charges with you before paid work starts. Read the General FAQ for more about working with me, or see how Protoworks helps your business for typical scenarios. For clearly defined work, I can also discuss an individually agreed fixed-price project.
I am happy to sign reasonable confidentiality agreements. Read the NDA & Confidentiality Guidelines to understand the terms I will generally accept. Read guidelines →
You can also download my Mutual NDA (v1.6, PDF) to review before sharing confidential project details.
Technical Advice can help you assess feasibility, plan a software build, scope a connected device or decide how to modernise an existing system. Flexible Engineering covers practical work such as:
I design and test prototype electronic circuits and printed circuit boards (PCBs), and develop the embedded firmware that controls them. This includes sensors, interfaces, control systems and connected devices.
Designing robust 4-layer stackups with solid ground plane foundations to minimize layout noise and electromagnetic compatibility (EMC) issues during early-stage validation.
Writing structured, deterministic bare-metal or RTOS firmware for common architectures including ESP32, STM32, and RP2040, prioritizing reliability and efficient resource usage.
Prototyping connections between sensors, devices, test services and dashboards to evaluate data flows and control approaches in an agreed test environment.
Rigorous bench testing of power paths, thermal performance, and signal integrity to ensure early-stage designs are robust enough for developer testing.
I develop web and desktop applications, integrations and workflows, and investigate and improve legacy software. I agree the working environment, access and any deployment as part of the project scope.
I design and develop bespoke web applications, client portals, desktop software and integration prototypes, with agreed outputs and test criteria.
I develop web applications, customer portals and dashboards, from proofs of concept to changes and deployment on existing systems, with the outputs and review criteria agreed before work starts.
I develop and improve desktop applications and integrations for Windows, macOS or Linux, with testing and deployment suited to the agreed environment.
Many critical business functions run on legacy codebases that have become fragile, slow, or difficult to support. I investigate faults, improve existing code and plan and carry out migrations, using appropriate testing, backups and recovery arrangements for the agreed work.
Assessing and improving legacy applications, with testing, agreed deployment and handover notes.
Experience includes Classic ASP, VB6, .NET Framework migrations, database performance tuning, and refactoring old codebases.
I prototype scripts, APIs and workflows using sample data and isolated test connections, so you can assess a proposed integration before considering deployment.
I maintain a library of reusable code modules, internal developer utilities, and software components that help bootstrap new projects and speed up client technical delivery.