30 years embedded software, bare metal, RTOS,
firmware, hardware design & development in C and assembly language.
Embedded software, C, C++ and assembly code.
Desktop Win32, Win64, C++, C# and Python.
Whole path design from concept to finished product.
Schematic, PCB design, Bill of Materials, debug, LVD, EMC, production!
'Hands on' practical approach, able to work unaided on own initiative or equally comfortable as part of a team.
Embedded Software/Firmware
Real-time system measure and control in a multi-threaded, multi-tasking environment.
Bare metal code design and maintenance in C/C++ and assembler on hardware with no underlying operating system. Can utilise RTOS if preferred. Debug and test to assembler level.
Code written from scratch with microcontrollers listed in “Embedded Hardware” section below.
Maintain existing code written previously or currently in a team (waterfall or other environment).
LCD GUI design and development. Driver development for IC’s.
I2C, SPI, UART, CAN Bus, ADC, DAC, DMA, RTC, flash memory, interrupts, RS232, RS485, RS422, USB, Ethernet, TCP/IP, Modbus, JTAG. Whole SDLC. Algorithms, code optimisation speed/memory.
IoT “Internet of things”. Testing using Jama Contour and JIRA.
Xilinx CPLD (small FPGA) design in hardware using Xilinx ISE.
Cypress PSoC 5LP design (SoC “system on a chip” combined ARM Cortex M3 microcontroller, configurable analogue and digital programmable logic).
Desktop Software
PC object-oriented (OO) code using Visual C#, Visual C++ .NET, Visual Studio, Visual Basic 6, Python. Customer shipped software, production tools, developed email server in C#.
Embedded Hardware
System, schematic and PCB CAD multilayer design of control systems utilising LCD character, graphic, TFT and seven segment displays. Experienced in both analogue and digital domains.
Microcontrollers designed with:
Cypress PSoC 5LP (ARM Cortex M3), ARM Cortex R, PIC32 (MIPS core), NXP LPC2478 (ARM ARM7TDMI-S core) Hitachi H8/3048, Analog Devices ADuC845 (8051 core), PIC, Z84C15, Z80
Experienced in providing minimal complexity, lowest part count, lowest cost strategy.
Debug to component level on prototype boards and finished product.
Bring-up hardware from new board. Use of Oscilloscope and other test equipment.
Design for EMC and LVD experience, EN 61010 and EN 61326.
Ready to collaborate? Reach out!
email enquiries@singleprecision.com
or fill out the form below!