Firmware Intern

6 months ago


Victoria, Canada FTS Full time

AEM (Advanced Environmental Monitoring) is the global leader in innovative mission critical weather, wildfire and water monitoring and intelligence solutions. We aim to be the world’s essential source for environmental insights - enabling decisive action and positive outcomes for our customers and their constituents. Our family of innovators offers world-class hydrometeorological technologies and services, including sensors, dataloggers, telemetry, and advanced analytics and software. Our technology and services empower the communities and organizations to survive - and thrive - in the face of escalating environmental risks.

The focus of this project will be to support our GUI development effort on our latest Datalogger project. Development will be done using FreeRTOS with GUI code provided by ToughGFX from our UX designer. Your primary responsibility will be to bring these screens to life, including displaying real time sensor data, sensor and device configuration data, as well as capturing and saving configurations from screen input.

Work will primarily involve C programming but may also encompass some C++ development. You'll be working with embedded code on the STM32L4 low-power microprocessor. Experience with FreeRTOS Tasks and Message Queues will be essential for effective task management and communication within the system. Additionally, you'll be learning and manipulating JSON for capturing configurations and updating files.

This project presents several opportunities for professional growth:

- Experience with STM32L4: You'll have the chance to gain hands-on experience with the STM32L4 microprocessor, delving into its capabilities and constraints in an embedded environment.
- FreeRTOS Proficiency: Working with FreeRTOS will provide valuable experience in real-time operating systems, particularly in managing tasks and message queues, essential for efficient multitasking. Moreover, you'll have the opportunity to see, learn, and work with a complex FreeRTOS architecture, gaining insights into its intricate workings and enhancing your understanding of embedded system development.
- Model-View-Presenter (MVP) Design Pattern: This project offers an opportunity to learn and implement the Model-View-Presenter (MVP) design pattern, enhancing your understanding of software architecture and design principles.
- JSON Manipulation: By incorporating GUI functionalities for capturing configurations and updating JSON files, you'll have the chance to learn and practice JSON manipulation, a valuable skill for modern software development.

By actively engaging in this project, you'll not only contribute to the development of our Datalogger but also acquire valuable skills and experiences that can propel your career forward in embedded systems development.

This job description may not be inclusive of all assigned duties, responsibilities, or aspects of the job described, and may be amended at any time at the sole discretion of the Employer.

**Requirements**:

- Understanding and Experience with C/C++: An understanding and some experience with C/C++ programming languages are required for this role.
- Desirable Understanding of Model-View-Presenter (MVP) Design Pattern: While not mandatory, familiarity with the Model-View-Presenter (MVP) design pattern is desirable.
- FreeRTOS Experience (Desirable): While not mandatory, prior experience with FreeRTOS would be beneficial for this role. Familiarity with FreeRTOS concepts, such as tasks and message queues, will expedite the learning process and enable quicker adaptation to the project environment.

**Additional Information**:

- This is an on-site opportunity that must be performed from our offices.
- Must be eligible to work in Canada without company sponsorship, now or in the future, for employment-based work authorization. F-1 visa holders with Optional Practical Training (OPT) who will require H-1B status, TNs, or current H-1B visa holders will not be considered. H1-B and green card sponsorship is not available for this position.

AEM is an Equal Opportunity Employer.

**Job Type**: Internship / Co-op
Contract length: 4 months

Pay: $18.00-$23.00 per hour

Schedule:

- Monday to Friday

Work Location: In person


  • Jr DevOps Engineer

    8 months ago


    Victoria, Canada RIMEX Supply Full time

    At RIMEX we operate on one simple premise: Provide our customers with the best products and services, period. We have the finest engineers, a state-of-the-art manufacturing facility and a focus on quality that is second to none. We currently have a full-time opening for a Junior DevOps Engineer  to join our team in Victoria BC working on our TyreSense...


  • Victoria, British Columbia, Canada RIMEX Supply Full time

    At RIMEX Supply, we strive for excellence in providing top-notch products and services to our valued customers. Our state-of-the-art manufacturing facility, paired with a team of skilled engineers and a commitment to quality, sets us apart from the rest.Currently, we are seeking a DevOps Engineering Specialist to join our team in Victoria, BC, working on our...


  • Victoria, Canada Path to Canada Full time

    p>Our client is a groundbreaking company that has blazed a trail in the semiconductor and photon-detector industryLooking for a Product Engineer to join their Verification & Validation team to support delivery of globally acclaimed photon-counting detector technology to major systems original equipment manufacturers. If successful, you will have a hands on...


  • Victoria, Canada Reliable Controls Full time

    **Who we are**: Reliable Controls is dedicated to reducing the carbon footprint of buildings around the world. Our team specializes in the design, development, and assembly of building automation controls and software programs. We align ourselves with the right people and empower them in the right ways. An established company based in Victoria, BC, we...