1

Freelance Embedded System Software Engineer Jobs in Toronto, ON

About This Role We are looking for a Senior Embedded Linux Engineer to work on software development for industrial high-power conversion and power-management systems based on ARM System-on-Module ...

... and control systems in order to implement redundant safety features. - Collaborate with our ... Qualifications: - An experienced (5+ years) developer who codes embedded software on low level ARM ...

Embedded Software Test Engineer

Toronto, ON · Remote

CA$70K - CA$110K/yr

About Company ThunderSoft is a provider of operating system technologies, superior products and ... Machine Learning Test Developer Location: Markham ON Key Responsibilities * Test development for ...

Knowledge of embedded Linux systems * Extensive experience in embedded software application ... Aptitude in programming for reliability and testability * Knowledge of Home Automation, Control ...

Embedded Engineer

Toronto, ON · Hybrid

$130K - $150K/yr

The Role We're looking for an Embedded Engineer to join our software team and take direct ownership of firmware, control systems, and hardware-software integration on our core product. You'll work ...

Lead and scale a high-performing team of software engineers across low-level embedded systems, embedded Linux, RTOS, and on-device application development. * Guide automated validation efforts end to ...

Knowledge of embedded Linux systems * Extensive experience in embedded software application ... GUI development Aptitude in programming for reliability and testability * Knowledge of Home ...

Staff Embedded Software Developer

Oshawa, ON · Hybrid

CA$147K - CA$196K/yr

The Role We are looking for a skilled Staff Embedded Software Developer with a deep understanding of distributed systems and fleet-scale device management to develop, optimize, and maintain our ...

Showing results 21-40

Freelance Embedded System Software Engineer information

What does a freelance embedded system software engineer do?

A Freelance Embedded System Software Engineer designs, develops, and tests software that runs on embedded systems, which are specialized computing systems within larger devices like cars, appliances, or industrial machines. They typically work independently or on a contract basis, collaborating with clients to understand requirements and deliver customized software solutions. Their responsibilities often include writing low-level code, optimizing for performance and memory usage, and troubleshooting hardware-software integration issues.

What is the difference between Freelance Embedded System Software Engineer vs Embedded Firmware Developer?

AspectFreelance Embedded System Software EngineerEmbedded Firmware Developer
CredentialsTypically requires a degree in electrical engineering, computer science, or related fields; certifications are optionalSimilar educational background; certifications like Certified Embedded Systems Engineer can be advantageous
Work EnvironmentIndependent, project-based work often remote; collaborates with multiple clientsUsually employed by a company or works on in-house projects; may work on-site or remotely
Industry UsageUsed across various industries including IoT, automotive, consumer electronicsPrimarily in product development, consumer electronics, automotive, and industrial systems

Both roles require embedded programming skills and knowledge of hardware. The main difference lies in the work setting: Freelance Embedded System Software Engineers work independently on diverse projects, while Embedded Firmware Developers are often employed by companies focusing on firmware development for specific products.

How do freelance embedded system software engineers typically manage project scope and communication with clients?

Freelance embedded system software engineers often work independently or as part of small remote teams, making clear communication and project scope management essential. They regularly use project management tools and set milestones to clarify deliverables and timelines with clients. Addressing technical constraints and hardware integration challenges early in the process helps avoid misunderstandings. Frequent status updates and transparent discussions about changes or obstacles ensure projects stay on track and meet client expectations.

What are the key skills and qualifications needed to thrive as a freelance embedded system software engineer?

To thrive as a Freelance Embedded System Software Engineer, you need a solid background in embedded C/C++ programming, microcontroller architecture, and real-time operating systems, often supported by a degree in electrical engineering or computer science. Familiarity with hardware debugging tools, version control systems (like Git), and development platforms such as ARM, AVR, or PIC is typically required. Strong problem-solving skills, self-motivation, and clear client communication help freelancers stand out in this role. These competencies ensure reliable, efficient solutions and successful project delivery in dynamic and client-driven environments.
What are the most commonly searched types of Embedded System Software Engineer jobs in Toronto, ON? The most popular types of Embedded System Software Engineer jobs in Toronto, ON are:
What job categories do people searching Freelance Embedded System Software Engineer jobs in Toronto, ON look for? The top searched job categories for Freelance Embedded System Software Engineer jobs in Toronto, ON are:
Infographic showing various Freelance Embedded System Software Engineer job openings in Toronto, ON as of July 2026, with employment types broken down into 1% Internship, 76% Full Time, 21% Part Time, and 2% Contract. Highlights an 85% Physical, 4% Hybrid, and 11% Remote job distribution.

Senior Embedded Linux Engineer

SOCOMEC

Brampton, ON

Full-time

Re-posted 23 days ago


Job description

Socomec Group (Socomec) is a global leader in electrical equipment engineering and manufacturing, specialized in low voltage energy performance.
Socomec North America (NAM) is Socomec's organization overseeing all operations in North America.

About This Role

We are looking for a Senior Embedded Linux Engineer to work on software development for industrial high-power conversion and power-management systems based on ARM System-on-Module technology. The engineer will design and implement production-grade embedded Linux services for industrial communication, field I/O supervision, local alarm/event handling, internal maintenance web access, device diagnostics, firmware update, and handover to manufacturing/service teams. The products supported by this role are used in high-power electrical environments where redundancy, reliability, serviceability, controlled recovery, and fault-tolerant operation are core design expectations.

The ideal candidate has already shipped or brought up at least one embedded Linux product and is comfortable working close to hardware. The role requires independent execution of embedded software architecture, implementation, debugging, test strategy, validation support, and documentation.

Key Responsibilities And Accountabilities

  • Design and develop robust embedded Linux applications and background services for industrial monitoring, control, diagnostics, communication, and data management on ARM-based platforms, ensuring reliable operation, maintainability, and production readiness.
  • Support Linux platform customization, BSP integration, image generation, peripheral enablement, boot configuration, and board bring-up activities using Yocto/OpenEmbedded, vendor SDKs, or Torizon-based development environments.
  • Develop and maintain reliable industrial communication services using Modbus RTU, Modbus TCP, RS485, UART, Ethernet, and TCP/IP while ensuring fault tolerance, communication integrity, and seamless integration with external monitoring and control systems.
  • Develop and maintain a lightweight embedded web interface for local configuration, commissioning, diagnostics, alarm review, and service access, including secure authentication, REST APIs, and real-time system visibility.
  • Implement alarm management, event handling, historical logging, and fault reporting functions that support system visibility, traceability, service diagnostics, controlled recovery, and long-term operational stability.
  • Integrate software with digital and analog I/O, serial interfaces, watchdogs, RTCs, and other hardware peripherals while supporting system diagnostics, troubleshooting, validation, and manufacturing test activities.
  • Develop and support local operator interfaces using Qt/QML or equivalent technologies, ensuring seamless integration between display functions, system status, alarms, diagnostics, and configuration workflows.
  • Apply software engineering best practices including code reviews, testing, debugging, version control, documentation, and release management to deliver maintainable and production-quality embedded software. 

Essential Qualifications, Experience, And Skills

  • Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, Embedded Systems, Software Engineering, or related field.
  • Minimum 7 years of embedded Linux or industrial embedded software experience.
  • Experience bringing at least one embedded Linux product from prototype to field deployment, production test, or customer validation.
  • Experience with industrial, power, automation, monitoring, gateway, data-acquisition, or field-I/O products is strongly preferred.
  • Must be able to work independently with limited supervision and provide clear architecture notes, trade-off analysis, and handover material.
  • Embedded Linux development on ARM-based SoM platforms.
  • Yocto Project, OpenEmbedded, BitBake, vendor SDKs, and Torizon OS.
  • C/C++ application development for embedded Linux systems.
  • POSIX programming including threads, sockets, timers, IPC, file I/O, and memory management.
  • Python and shell scripting for automation, diagnostics, testing, and deployment.
  • Linux system architecture, systemd services, journald, watchdogs, users/groups, networking, and security fundamentals.
  • U-Boot, Linux kernel fundamentals, device tree, pinmux configuration, and board bring-up.
  • Industrial communication protocols including Modbus RTU, Modbus TCP, RS485, UART, Ethernet, and TCP/IP.
  • Serial communication debugging and protocol analysis using Wireshark, tcpdump, libmodbus, Modbus Poll, QModMaster, and related tools.
  • Development of lightweight embedded web interfaces and REST APIs.
  • HTML, CSS, JavaScript, WebSocket, Server-Sent Events, authentication, access control, and HTTPS/TLS implementation.
  • Hardware interfacing using GPIO, I2C, SPI, UART, USB, RTC, watchdogs, and nonvolatile storage.
  • Hardware/software debugging using oscilloscopes, logic analyzers, serial consoles, and protocol analyzers.
  • Ability to read schematics and support hardware bring-up and validation activities.
  • Qt/QML development for embedded Linux HMI applications.(optional)
  • TouchGFX experience for STM32-based or companion-MCU display solutions is an asset.(optional)
  • Integration of HMI applications with alarms, logs, diagnostics, configuration, and backend services.
  • Data logging, event logging, persistence, and power-loss-aware system design.
  • Secure software update and recovery mechanisms using RAUC, SWUpdate, Mender, OSTree, or similar frameworks.
  • Factory image generation, deployment automation, production support, and field recovery procedures.
  • Version control and development tools including Git, GCC/G++, CMake, GDB, Valgrind, clang-tidy, cppcheck, and CI/CD workflows.

Compensation: $110,000 to $130,000 CAD

Upon request, we will provide reasonable accommodation for disabilities to support participation of candidates in all aspects of the recruitment process. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex or national origin.

All applications are reviewed directly by the Socomec North America Talent Acquisition team and other human reviewers. No automated or AIbased systems are used to make decisions in the application review process.

We thank all those who apply. However, only those candidates selected for an interview will be contacted.

#LIZDG