Senior Embedded Firmware Engineer with over 30 years’ experience in the Electronics Industry
I'm experienced in deeply embedded applications using C to produce highly cost-effective solutions whether the system is one microcontroller or several working together to achieve a result. I'm an active contributor at all stages of product lifecycle from specification and design through to test and field support. Whilst I have 20 years' experience in lighting control systems including contributing to international standard protocols, I quickly adapt to new fields and regularly learn new skills. It's important to me that the application has a environmental or ethical benefit to offset the impact of electronics manufacturing.
Recently Used Skills (2021-2023)
- 32-bit ARM using STM32 Cortex-M4 and M7 in the STM32CubeIDE, Keil uVision and Visual Studio Environments
- Source Control using Git on Bitbucket with SourceTree and Fork clients
- FreeRTOS and Keil RTOS2 RTX5
- STM32 HAL as basis for higher level drivers
- LwIP network stack for TCP and UDP
- SPI control of Ethernet Switch KSZ8775
- LittleFS file system for robust, non-volatile storage including metadata
- QSPI drivers for NOR flash at block level
- C# WinForms .NET 6 Application Development using multithreading, client-server architecture using named pipes, TCP sockets etc.
- Agile using Scrum or Kanban, JIRA and Confluence
Skills Update (2019-2021)
Technologies
- 32-bit ARM using STM32 Cortex-M4
- Bluetooth LE using Nordic nRF51/52
- FreeRTOS
- USB 2.0
- Serial Protocol topics: CRCs, COBS framing.
IDEs & Editors
- STM32CubeIDE
- Segger Embedded Studio for Nordic Semi
- Visual Studio 2019 used for off-target unit testing C and for .NET WinForms applications
- VS Code
Practices
- TDD & Unit Testing (MS Test and minunit)
- Version Control using Git (GitAhead) & GitHub
Industry Proven Skills (2005-2019)
Firmware Development
8-bit and 16-bit microcontrollers- Hi-Tech and Microchip C for PIC12/16/18/24 using MPLAB IDE v8, ICD3
- Subversion using TortoiseSVN & WinMerge
- Production firmware and test jig firmware
Software Development
For Windows XP through to Windows 10. Project sizes up to 21K effective lines/5MB code.Specialist Topics
- Serial bus communications protocols - SPI, I2C, CAN, RS-232/UART, TCP/IP, UDP
- Distributed processing and network protocols
- Infra-red remote control
- Lighting specific protocols: DMX-512, DSI, DALI (IEC 62386)
- Multi-tasking on deeply embedded systems without an RTOS
- Bootloaders (via CAN, USB)
- Occupancy sensors (PIR, MW) and light sensors
- Interested in security and encryption. Used XTEA in embedded applications; and AES, RSA, SHA-256 in Windows applications, as well as obfuscation and anti-tamper techniques for an offline PC node locked application.
- Windows Installers using Advanced Installer, BAT files, VB6 & VB.NET based pre-requisite checkers.
Electronics Hardware Design (1990 onwards)
- Analysis and debugging of hardware problems of equipment and networks after deployment.
- EMC and LVD design considerations and compliance tests.
- Component choice and reliability calculations
- Use of circuit simulators such as LTspice
- Test equipment such as DSOs, logic analysers, signal generators, EMC test equipment etc
- Analogue design including filters, interface circuits, transient suppression, power supplies.
Contact Details
email: work at martincowen.me.uk