Fresh Consulting is a design-led, software development and hardware engineering company, offering end-to-end digital services to help companies innovate.
We bring together amazing UX designers, sophisticated developers, digital strategists, and top-notch engineers to help companies create fresh experiences that connect humans, systems, and machines. We’ve been growing fast and need someone to help us continue to manage the delivery of high quality work in a fast-paced environment. See more at freshconsulting.com
- Embedded firmware engineers responsible for creating and maintaining firmware running on consumer electronics.
- You will have responsibilities spanning all aspects of product bring-up and test: write, debug, and integrate new device drivers, protocols, and other firmware code across embedded product line.
- Interacting with Hardware, OS, Test, Operations and various other cross-functional teams.
- Review board schematics and data sheets.
- Utilize oscilloscopes, logic analyzers, and other test equipment to troubleshoot hardware/software issues.
- Enable test strategies for new components in upcoming products.
- Support product development builds locally and remotely.
- Ownership of system design and firmware on hardware prototype projects and development platforms.
- Collaborating in a team environment across engineering disciplines.
- Experimenting with and implementing interfaces to various sensors.
- Developing USB HID based interfaces and bootloaders.
- Writing programs and scripts as necessary to test embedded systems.
- Work closely with various core tech teams and other organizations to define prototyping scope and applications towards various technology roadmaps and products.
- BS in Electrical Engineering or Computer Science
- 5+ years’ experience with driver and board-level system software development
- Firmware architecture and board bring up from initial concept on dev boards to EVT board build.
- Able to participate in EE schematic design review
- Experience with board bring up and systems debugging
- Experience in solving non-trivial embedded problems under time pressure
- Experience with ARM based processors and micro-controllers and various communications protocols such as I2C, UART, SPI, USB, MIPI, I2S, etc.
- Familiarity with debugging tools such as bus analyzers and oscilloscopes
- Experience with protocol design, specification, and implementation
- Ability to debug and problem solve in unfamiliar code bases and environments
- Experience with system software on embedded devices
- Experience with cameras and optical systems
- Experience with Android
- Experience with Linux system software