Hire the Best ARM Programmers

More than 3,000 reviews on G2
Rating is 4.5 out of 5.
4.5/5
of Upwork by G2 peer reviewers
Phan Q.

Ho Chi Minh City, Vietnam

$40/hr
5.0
136 jobs

Experience in C/C++/C# Application: - 9+ years developing Desktop Applications/Embedded Software on Linux distributions. - Proficient in C/C++/Qt, problem solving skill, logical thinking. - Experience in Blockchain development. - Experience in Software Update. - Experience in developing IP camera and streaming solutions on Linux platform. - Experience in developing IoT for watch-over system on uT-Kernel platform. - Experience in developing Back End sever. - Experience with code refactoring techniques. - Experience with some security techniques. Experience in embedded domain: - 3+ years experiences on embedded systems(Bare-metal/RTOS) with ARM controllers from NXP like S32k, Nxp Kinetis M0/M4 microcontroller. - Experiences with different peripherals like DMA, SPI, I2C, GPIO, Clock, PWM, Input Capture,.. - Experiences with high-optimized code development for security ciphers on S32k, NXP Kinestis M0/M4. - Experiences with development of Autosar MCAL modules. - Experiences with development of bus like CAN, LIN, Flexray, Ethernet. Quickly adapt with new technology.

  • C
  • Qt Framework
  • Embedded System
  • Linux
  • Golang
  • Embedded C
  • Java
  • C++
  • Ubuntu
  • Blockchain
Lucia H.

Burlington, Vermont

$23/hr
5.0
2 jobs

I am a game programmer who is most proficient in Systems, Tools, and Networking. However, I enjoy all areas of Game Programming and I am very passionate about exploring new areas. It is often a goal of mine to make development easier for all team members, whether that means making tools for non-programmers or implementing robust modular frameworks for other programmers. I am passionate about taking on new challenges and supporting my team members. I have the most experience in Unity / C#, but I am also well acquainted with Unreal and C++. I have worked on both solo and collaborative projects. I have strong communication skills, and I have received lots of positive feedback, both for my programming work and the feedback I give the team. I am very passionate about making games, especially ones that bring people together and ones that intend to have a strong emotional impact. When I am not programming, I like to cross-stitch, make pixel art, and play board games and videogames. My favorite genres are probably roguelites and platformers, but I have games that I love in almost every genre I can think of.

  • Unity
  • Online Multiplayer
  • Code Refactoring
  • Game Development
  • C#
  • C++
  • Jira
  • Git
  • Agile Software Development
  • Scrum
  • Python
  • Mobile Game
  • Java
  • TortoiseSVN
  • Unreal Engine
Hamza R.

Islamabad, Pakistan

$20/hr
4.9
37 jobs

I’m Hamza a Biomedical Engineer with a passion for Embedded Systems, IoT, Electronics, and Robotics. I turn ideas into real, working prototypes and products. Whether it’s designing smart devices, building automation systems, or creating medical technology, I bring innovation to life. What I Do Best: Embedded Systems & IoT Experience with ESP32, NRF52, ATMEL, STM32, PSOC, PIC Work with Raspberry Pi, VisionFive (Linux Board), and Unihiker Programming Proficient in C/C++, Python, Java, MATLAB, JavaScript, and Flutter Connectivity & Communication Skilled in UART, I2C, SPI, MQTT, BLE, BLE Mesh, Sigfox, and Wi-Fi Hardware Design & Prototyping Specialize in PCB Design, 3D Modeling, and Product Prototyping GUI Development Develop Touchscreen Interfaces, E-Paper & TFT Displays, Web Dashboards, and Desktop Applications Work with LVGL, Tkinter, PyQt, and Kivy Framework IoT & Cloud Integration Experienced with AWS IoT, Firebase, ThingsBoard, and WebSocket-based real-time control Industrial IoT (IIoT) Expertise in CAN Communication, Factory Automation, and Smart Sensor Networks Remote Monitoring & OTA Updates Work with ESP-IDF OTA, BLE DFU, and Cloud-Based Device Management I’ve built industrial prototypes, smart sensors, automation systems, and medical devices, real-time data processing and device connectivity. If you need a reliable, high-quality solution, let’s make it happen! Let’s Collaborate!

  • ESP32
  • Arduino
  • C++
  • MATLAB
  • PCB Design
  • Embedded C
  • STM32
  • nRF52
  • Python
  • FreeRTOS
  • Embedded System
  • Firmware Programming
  • Microcontroller Programming
  • Atmel AVR
  • Internet of Things
Jeremy H.

Robbins, North Carolina

$50/hr
5.0
1 jobs

I specialize in CNC manufacturing with 25 years of hands-on experience, focusing on CNC programming, machine setup, and production optimization. As the founder of a CNC consulting firm, I help furniture companies streamline their transition from R&D to production through tailored solutions and innovative software development. My expertise includes nesting optimization, production troubleshooting, and enhancing material yield to ensure efficiency and quality. I provide both remote and onsite support, aimed at solving complex challenges and improving workflows. If you need a partner who understands the intricacies of CNC processes and can deliver impactful results, let’s discuss how I can contribute to your project and drive your manufacturing success.

  • CAD Conversion
  • Modeling
  • Contract
  • Manufacturing
  • Contract Manufacturing
Sabri R.

Colombo, Sri Lanka

$5/hr
5.0
1 jobs

I’m a junior engineer experienced in designing and building Arduino and ESP-32/8266 automation systems, from PCB designing to programming and full hardware development. - Knows Python, C/C++ - Proficient in SPI and I2C communication protocols. - Experienced in Home Assistant, MQTT.

  • PCB Design
  • ESP32
  • ESP8266
  • Arduino
  • Home Automation
  • Internet of Things
  • Biotechnology
  • Python
  • C
  • C++
  • Embedded System
  • Embedded C
  • Raspberry Pi
  • Embedded Linux
  • LoRa
Brian C.

Brooksville, Kentucky

$80/hr
5.0
7 jobs

I'm a Senior Embedded Software / Firmware Engineer with 25+ years of experience, specializing in STM, NXP and Xilinx platform firmware, CAN, CANopen/CiA402 motion control, reverse-engineering, and real-time embedded systems. I help fix hard problems, including: - STM32 and NXP, board bring-up, driver development - Xilinx FPGA design and bring-up issues - CANopen communication failures (SDO/PDO issues, object dictionary, NMT (Network Management) , heartbeat) - CiA402 drive state machine problems and motion-control tuning - Hard faults, lockups, illegal memory access, watchdog resets - Real-time timing issues, jitter, and scheduling bugs (RTOS or bare-metal) - Bootloaders, firmware updates, and startup issues - FDCAN and CAN bus filtering, FIFO routing, and interrupt design - System optimization and stability improvements - Architecture and/or design improvements - SPI bus and ADC timing and power issues If your embedded device is crashing, stalling, locking up, misbehaving, or failing to meet deadlines, I can diagnose and repair it quickly. What I deliver * Project proposals and estimates * Root-cause Analysis documentation * Clean, maintainable embedded C/C++ * Fast and accurate debugging * Real-time scheduling and timing corrections * NXP and STM32 HAL/LL driver development * AMD Xilinx Vivado FPGA development * FDCAN, CAN, and CANopen stack configuration and integration * CiA402 motion control implementation * Bootloaders, startup code, low-level drivers * Documentation and long-term fixes Why clients hire me - 25+ years of embedded experience - Deep expertise with STM32 and NXP ARM Cortex-M, and industrial protocols - Specialization in motion control and CANopen, where skilled engineers are rare - Fast response, clear communication, professional results - Ability to join a project mid-stream and quickly stabilize it Embedded Skills - Embedded Systems - Embedded C - Embedded C++ - ARM Cortex-M - STM32 - STMicroelectronics STM32Cube, STM32MX, STM32IDE - STM32 HAL - STM32 LL Drivers - Xilinx Vivado, Verilog, VHDL - Microcontroller Programming - Real-Time Operating Systems (RTOS) - FreeRTOS - Bare-Metal Programming - Device Drivers Communication Protocols - TCP/IP - UDP - FDCAN - CAN Bus - CANopen - CiA402 - RS485 - I2C - SPI - UART - USB Device Firmware - 1553 Debugging & Tools - Hard Fault Debugging - Real-Time Debugging - JTAG/SWD - Logic Analyzer - Oscilloscope Debugging - Segger J-Link - Tracealyzer - Timing Analysis System Architecture - Firmware Architecture - Bootloaders - BSP Development - Memory Management -Low-Level Software - Real-Time Scheduling - Safety-Critical Systems Other - Linux Embedded - CMake - Git - CI/CD for Firmware - Technical Documentation

  • Embedded System
  • Microcontroller Programming
  • Software Debugging
  • Firmware Programming
  • Real-Time Computing
  • Embedded C
  • C++
  • ARM Cortex-M
  • STM32
  • Real-Time Operating System
  • CAN Bus
  • RS-232
  • UART
  • Linux
  • Git

How it works

Post a job for freePost a job

Tell us what you need. Create your own job post or generate one with AI then filter talent matches.

Hire top talent fast

Consult, interview, and hire quickly, so you can meet the freelancers you're excited about.

Collaborate easily

Use Upwork to chat or video call, share files, and track project progress right from the app.

Payment simplified

Manage payments in one place with flexible billing options. Only pay for approved work, hourly or by milestone.

Don't just take our word for it

How do I hire a ARM Programmer on Upwork?

You can hire a ARM Programmer on Upwork in four simple steps:

  • Create a job post tailored to your ARM Programmer project scope. We’ll walk you through the process step by step.
  • Browse top ARM Programmer talent on Upwork and invite them to your project.
  • Once the proposals start flowing in, create a shortlist of top ARM Programmer profiles and interview.
  • Hire the right ARM Programmer for your project from Upwork, the world’s largest work marketplace.

At Upwork, we believe talent staffing should be easy.

How much does it cost to hire a ARM Programmer?

Rates charged by ARM Programmers on Upwork can vary with a number of factors including experience, location, and market conditions. See hourly rates for in-demand skills on Upwork.

Why hire a ARM Programmer on Upwork?

As the world’s work marketplace, we connect highly-skilled freelance ARM Programmers and businesses and help them build trusted, long-term relationships so they can achieve more together. Let us help you build the dream ARM Programmer team you need to succeed.

Can I hire a ARM Programmer within 24 hours on Upwork?

Depending on availability and the quality of your job post, it’s entirely possible to sign up for Upwork and receive ARM Programmer proposals within 24 hours of posting a job description.