$$$
{{ $t($store.state.user.experience_value_in_dollars) }}
Senior
{{ $t($store.state.user.experience_search_name) }}
0
jobs
Firmware Engineer
Jim Huf
,
Bacup, United Kingdom
Experience
Other titles
Skills
I'm offering
We specialise in Internet of Things solutions and full stack development for connected products, including custom firmware and software, mobile apps and custom designed hardware. Our experts can take your idea for a product from concept all the way to market. We have more than 10 years of experience working with clients around the world, from tech start-ups through to multinational corporations. With expertise in the automotive, medical and financial markets, we have developed products used in research facilities, hospitals and consumer goods. Our customer-centred approach will deliver a bespoke high-quality software solution or product for you.
Markets
United Kingdom
Language
English
Fluently
Ready for
Larger project
Available
My experience
2018 - 2019
job
Technical Director & Embedded Engineer (Remote)
Lux Health.
This project was a wearable device integrating various sensors and BLE. The hardware evolved through the contract and firmware was first developed for Atmel Atmega 328 with a companion nrf8002 BLE chipset. This was a super-loop architecture due to the limited resources. The hardware then became a Nordic SOC (Arm M4) and then finally an Ambiq Apollo 3 SOC (Arm M4). The final firmware was designed around FreeRTOS and was a multi tasked application.
Peripherals used in this projected were, Accelerometer, EEPROM, Serial Flash, Optical HR Sensors. These were controlled via SPI or I2C.
The engineering task involved developing custom BLE services and aiding the App developers integrate with the device.
I was also solely responsible for selecting the hardware platform, during the second round of hardware development. I was responsible for working with external hardware engineers to develop the final product.
Peripherals used in this projected were, Accelerometer, EEPROM, Serial Flash, Optical HR Sensors. These were controlled via SPI or I2C.
The engineering task involved developing custom BLE services and aiding the App developers integrate with the device.
I was also solely responsible for selecting the hardware platform, during the second round of hardware development. I was responsible for working with external hardware engineers to develop the final product.
Architecture, Flash, Engineering, Embedded, Firmware, Hardware, Development, App, Atmel, Platform
2015 - 2019
job
lead software engineer on several payment platforms
EFT Solutions.
these included bare metal Embedded C projects with in-house frameworks and Embedded Linux based targets.
The projects involved developing the software for chip and pin machines used by Barclays through out Africa. This involved tight collaboration with engineers of various abilities remotely.
During the last 18 Months of the project I ported their existing payment software from the older C based terminals to the Android terminal (Java).
The projects involved developing the software for chip and pin machines used by Barclays through out Africa. This involved tight collaboration with engineers of various abilities remotely.
During the last 18 Months of the project I ported their existing payment software from the older C based terminals to the Android terminal (Java).
Java, Linux, Android, C, Embedded, Embedded Linux, Software
2013 - 2014
job
sole software engineer
ATP (Jaguar Land Rover).
Jan 2013 - 2014
I developed a wireless Battery Management software system for use on the next revision of the Leopard electric defender vehicles. This was centered on an ARM7 MCU running a proprietary RTOS developed by myself. The RTOS was developed to provide an API allowing third-party developers restricted accesses to system peripherals. The 2.4Ghz RF protocol was developed in house to provide reliable & predictable communications with many nodes.
Another product I also developed the software for was a power steering override unit for the Range Rover Evoque. This allowed the driver to control the steering via Bluetooth Low Energy with a mobile device.
Further projects included firmware for various Bluetooth Low Energy Peripherals & associated iOS apps.
All software was written in C, objective C and Assembler. As the sole software engineer I was responsible for all design, development and testing on these projects. Drivers developed included, SPI, CAN, RF, BLE, UART, PWM & rotary encoders.
I developed a wireless Battery Management software system for use on the next revision of the Leopard electric defender vehicles. This was centered on an ARM7 MCU running a proprietary RTOS developed by myself. The RTOS was developed to provide an API allowing third-party developers restricted accesses to system peripherals. The 2.4Ghz RF protocol was developed in house to provide reliable & predictable communications with many nodes.
Another product I also developed the software for was a power steering override unit for the Range Rover Evoque. This allowed the driver to control the steering via Bluetooth Low Energy with a mobile device.
Further projects included firmware for various Bluetooth Low Energy Peripherals & associated iOS apps.
All software was written in C, objective C and Assembler. As the sole software engineer I was responsible for all design, development and testing on these projects. Drivers developed included, SPI, CAN, RF, BLE, UART, PWM & rotary encoders.
Revision, Energy, Energy, Bluetooth, Power, Software, Assembler, Development, Testing, Design, Apps, Firmware, Wireless, Management, C, IOS, API
2011 - 2011
job
C and Assembler
ATP (TATA Motors).
Sept 2011 - Dec 2011
The system I was developing was a battery management system utilizing industry leading technology for use in research vehicles. The project involved the ground up development of the embedded software including the board support package, drivers and application task scheduler. All the software was required to meet the highest standard, as the product is a safety critical system. All developed code was written to be within the MISRA-C standard.
Drivers developed for this project included, SPI, CAN, Safety critical IO, EEPROM, ADC & FRAM. All software was written in C and Assembler.
The system I was developing was a battery management system utilizing industry leading technology for use in research vehicles. The project involved the ground up development of the embedded software including the board support package, drivers and application task scheduler. All the software was required to meet the highest standard, as the product is a safety critical system. All developed code was written to be within the MISRA-C standard.
Drivers developed for this project included, SPI, CAN, Safety critical IO, EEPROM, ADC & FRAM. All software was written in C and Assembler.
Research, C, Embedded software, Management, Technology, Embedded, Safety, Support, Development, Assembler, Software, UP
2011 - 2011
job
Smart Battery Charger
Accutronics.
systems. This involved the communication via I2C (SMBus) to smart batteries & chargers. During my time I identified the common aspects of their products and developed a core battery charger "OS" that is now used in a number of their products. The OS was written in C to the Misra standards and validated using tools like PC-Lint and reviewed using SCI Understand.
Although the majority of the systems functionality came through i2c coms, there was also a heavy reliance on accurate ADC reading.
The main project I worked on was a UPS system (www.accutronics.co.uk/intelligent-power-vault), System features: USB, I2C, UART, Current and Voltage via ADC, Temperature via i2c. I also developed a C# windows app for testing that evolved into a sales and marketing tool.
Although the majority of the systems functionality came through i2c coms, there was also a heavy reliance on accurate ADC reading.
The main project I worked on was a UPS system (www.accutronics.co.uk/intelligent-power-vault), System features: USB, I2C, UART, Current and Voltage via ADC, Temperature via i2c. I also developed a C# windows app for testing that evolved into a sales and marketing tool.
Marketing, C, Sales, Windows, Testing, Power, App, PC
2007 - 2009
job
processor
Barron McCann Technology.
2007- 09
My role in the development department at Barron McCann was to be involved in the development of embedded software for network based devices. The majority of development involved Blackfin embedded processors with additional work on the AU1000 MIPS processor. The software projects on the embedded platform involved the development of state based and multitasking systems using proprietary and commercial RTOS.
The drivers I authored were for a range of interfaces including UART, SPI and SPORT. The implementations included using DMA where appropriate and core specific features. Other drivers I developed include flash devices and board support for SDRAM and the processors. The drivers were for the most written in C with more critical tasks written in Assembler.
A core aspect of this role was deploying Linux on various embedded platforms. This involved the porting of a number of generic boot loaders (Yamon and U- Boot). I was solely responsible for all development on the Linux platform, which included modifications to aspects of the kernel, drivers and application development. Due to the limited resources on the platforms creative methods of debugging had to be used, often including the strong utilisation of the printk function and simple simulation on the development machine.
My role in the development department at Barron McCann was to be involved in the development of embedded software for network based devices. The majority of development involved Blackfin embedded processors with additional work on the AU1000 MIPS processor. The software projects on the embedded platform involved the development of state based and multitasking systems using proprietary and commercial RTOS.
The drivers I authored were for a range of interfaces including UART, SPI and SPORT. The implementations included using DMA where appropriate and core specific features. Other drivers I developed include flash devices and board support for SDRAM and the processors. The drivers were for the most written in C with more critical tasks written in Assembler.
A core aspect of this role was deploying Linux on various embedded platforms. This involved the porting of a number of generic boot loaders (Yamon and U- Boot). I was solely responsible for all development on the Linux platform, which included modifications to aspects of the kernel, drivers and application development. Due to the limited resources on the platforms creative methods of debugging had to be used, often including the strong utilisation of the printk function and simple simulation on the development machine.
Linux, C, Embedded software, Sport, Flash, Embedded, Network, Support, Development, Assembler, Software, Platform
My education
?
-
2008
Northumbria University
MSc, Embedded Systems Design
MSc, Embedded Systems Design
?
-
2007
Manchester Met University
BSc, Software Engineering
BSc, Software Engineering
Jim's reviews
Jim has not received any reviews on Worksome.
Contact Jim Huf
Worksome removes the expensive intermediaries and gives you direct contact with relevant talent.
Create a login and get the opportunity to write to Jim directly in Worksome.
38100+ qualified freelancers
are ready to help you
Tell us what you need help with
and get specific bids from skilled talent in Denmark