09/06/2022 updated


100 % available
Embedded Firmware Engineer with Digital PCB Skills
United Kingdom
United Kingdom
C (Programming Language)Java (Programming Language)PHPX86 ArchitectureAnalogue ElectronicsAndroid (Software)Apache HTTP ServerApple IOSArtificial Neural NetworksAtlassian JiraBash ShellBig DataBluetooth Low Energy (Bluetooth)BluetoothBooting (BIOS)
Jira, Jenkins, C#, AVR, 6502 variants, Z80 variants, 68xx variants, FPGA, Verilog, FreeRTOS, Programming, C, C++ and OOP concepts, Assembler, scripting languages, bash, python, php, multithreading, interrupts, state machines, rtos, MISRA, Linux, Gentoo, Interfaces, SPI, I2C, CANBus, Modbus, RS232/422/485, TCP/UDP (all layers), Bluetooth, BLE, Ethernet, Wifi, Zigbee, digital and analogue circuits, microcontroller, Fuzzy Logic, Neural Networks, Machine Learning, Firmware, bootloader, coding, bugs, Raspberry Pi, IoT, C++, wrapper, state machine, ARM7, Atmel, TCP/IP, RS232, touch screen, IMX6, eclipse, hardware interface, user interaction, embedded system, udp, decoding, GPU, continuous integration, embedded code, GPS, Android, iOS, smart phones, debugging, backend, Python testing scripts, hardware interfaces, Git, source control, codebase, RS485, code structure, 8bit, OMAP, cloud, data centres, video display, daemons, Apache, device driver, GPIO, Java, LAN, GPRS, x86, Cobol, Pascal, C/C++, large data, embedded microcontrollers
Experience
Professional experience10+ years
Languages
EnglishNative speaker
Project history
Aeristech produce electric turbo systems for the automotive and industrial sectors. At the
heart of the system is an electric motor controlled a TI microcontroller and their latest
product was an all new design with a significantly smaller TI part.
I bought up (and reworked) the prototype while moving the code base from a relatively large
and fast TI chip to a substantially smaller and slower variant. Once that was complete I moved
my attention to creating a bootloader over CAN for the new device.
To round off the project I created a small/simple application written in Qt and designed a
prototype USB to CAN box for use by their customers.
heart of the system is an electric motor controlled a TI microcontroller and their latest
product was an all new design with a significantly smaller TI part.
I bought up (and reworked) the prototype while moving the code base from a relatively large
and fast TI chip to a substantially smaller and slower variant. Once that was complete I moved
my attention to creating a bootloader over CAN for the new device.
To round off the project I created a small/simple application written in Qt and designed a
prototype USB to CAN box for use by their customers.
Working on a medical device for a Plexus client following an Agile type methodology with Misra
coding standards. The project involved a device to heat water to a precise temperature and
produce a predefined water flow rate to mix with a dehydrated solution for further analysis
and experimentation.
Initially joined this project to finish off the last major item needed to store and report
machine data to the spi flash. I then went on to analyse the temperature control and finished
that by implementing and pid controller.
coding standards. The project involved a device to heat water to a precise temperature and
produce a predefined water flow rate to mix with a dehydrated solution for further analysis
and experimentation.
Initially joined this project to finish off the last major item needed to store and report
machine data to the spi flash. I then went on to analyse the temperature control and finished
that by implementing and pid controller.
My second contract working at this company who produce lighting controllers for industry. This
time I was bought in to complete a new controller that interfaces with a liquid lense.
The device under development was a PIC microcontroller running at 30Mhz and in a very small
form factor. All coding was done at a bare metal level using the standard Microchip tools.
The project was made it bit more difficult due to the microcotnroller having a number of
firmware bugs relating to it's I2C master and slave routines. The issue was further
complicated with customer who was running a Raspberry Pi which has its own firmware bugs with
the on board chipset.
Project was completed on time and I saw the development through to final release and initial
support with end clients. There was some problems with the clients expectations of what the
unit was capable of, but a resolution was found and the customers were happy at the end of the
day.
time I was bought in to complete a new controller that interfaces with a liquid lense.
The device under development was a PIC microcontroller running at 30Mhz and in a very small
form factor. All coding was done at a bare metal level using the standard Microchip tools.
The project was made it bit more difficult due to the microcotnroller having a number of
firmware bugs relating to it's I2C master and slave routines. The issue was further
complicated with customer who was running a Raspberry Pi which has its own firmware bugs with
the on board chipset.
Project was completed on time and I saw the development through to final release and initial
support with end clients. There was some problems with the clients expectations of what the
unit was capable of, but a resolution was found and the customers were happy at the end of the
day.