Robert Weber

Senior Software Engineer at NOVO Engineering, Inc.
  • Claim this Profile
Contact Information
us****@****om
(386) 825-5501
Location
Lake Forest, California, United States, US

Topline Score

Topline score feature will be out soon.

Bio

Generated by
Topline AI

5.0

/5.0
/ Based on 2 ratings
  • (2)
  • (0)
  • (0)
  • (0)
  • (0)

Filter reviews by:

In Sung Cho

Bob is an excellent leader who is able to leverage his technical capability by motivating and inspiring his peers to come together to coordinate and accomplish complex objectives. He has an exceptional blend of technical acumen and people skills which made him the appropriate choice to lead the most critical and strategic projects.

Rogelio C. Rodriguez

Robert has been an engineering instructor at UC Irvine Extension for several years. He was a member of the Embedded Systems Engineering advisory committee and is very thorough in his approach to teach inudstry-oriented engineering applications. He is thoughtful in his communication and effective in transfering knowledge.

You need to have a working account to view this content.
You need to have a working account to view this content.

Credentials

  • C++ For C Programmers, Part A
    Coursera Course Certificates
    Jul, 2017
    - Nov, 2024

Experience

    • United States
    • Design Services
    • 1 - 100 Employee
    • Senior Software Engineer
      • Sep 2022 - Present

  • The Weber Venture
    • Lake Forest, CA
    • Embedded Software Consultant
      • Jan 2018 - Present

      Developing a card game based on the Qt development framework. Game uses the UI Designer to create a “table” with cards that a user can interact with and play the game “500”. Work is in progress. Code can be viewed at https://github.com/bob-weber/cardGame-500. Game is being revamped to use QML for managing the display. Researching use of software-defined radio with RFID. Developing a card game based on the Qt development framework. Game uses the UI Designer to create a “table” with cards that a user can interact with and play the game “500”. Work is in progress. Code can be viewed at https://github.com/bob-weber/cardGame-500. Game is being revamped to use QML for managing the display. Researching use of software-defined radio with RFID.

    • United States
    • Appliances, Electrical, and Electronics Manufacturing
    • 1 - 100 Employee
    • Senior Product Development Engineer
      • Sep 2018 - Sep 2022

      Lead firmware engineer for new platform to modernize Link4’s Greenhouse controllers. Still in development. ◦ New hardware system based on STM32 series processors, adding Bluetooth, Wifi, Ethernet, USB, graphics display and standardizing on Modbus for industrial interfaces. ◦ Adding IoT capability to provide a cloud-based system. ◦ ST ARM F7-based controllers with FreeRTOS for main contorller, STM32 G0-based controllers, running on “bare metal”, for expansion modules. ◦ Pixel-based OLED Display for user interface. Most user interface will be through a web-based app in the cloud. Supported legacy controller products with little documentation. ◦ The 1800-series controllers communicated using a custom RS-485 network. Data collected by a PC; not a cloud-based system. ◦ Uses a uC/OS-II operating system on a Rabbit RCM3400 processor, written in Dynamic C. ◦ Many sensor and accessory products had no operating system; “bare metal” products based on ST ARM chips. Took lead roles on various other engineering-related tasks: planning out projects, creating schedules, and tracking the production of various electronic boards. Show less

  • N/A
    • N/A
    • List of skills for search purposes
      • Mar 2018 - Mar 2018

      Industries: Aerospace, In-Flight Entertainment (IFE), consumer electronics and Internet of Things (IoT) Software Development Tools: Various development platforms including STM32CubeMX, ST32CubeIDE, Qt, IAR Embedded Workbench, TI's Code Composer, Eclipse, various compilers (mostly GCC). Software Processes and Methodologies: Developed software per DO-178B (including levels A and B), DOD-STD-2167A and MIL-STD-498. Familiar with SEI development model and agile methods. Software Languages: Primarily C, C++, Python, and some Assembly. Developed PC-based applications in Java, Perl, and C#. Experienced with other scripting and high-level languages. Processors: Experience with microcontrollers (TI MSP430s, 8051, Atmel AVRs), DSPs (TI TMS320C40), ARM (Cortex-A8), PPC8206, and custom processors designed by Synaptics. Off-The-Shelf Boards: Developed on Beaglebone Green and Raspberry Pi systems. Analytical Tools: Proficient in debugging software and hardware using In-Circuit Emulators (ICE), JTAG debuggers, logic analyzers, and oscilloscopes. Some working experience with MathCAD and Matlab. Operating Systems: “Bare metal” without an OS, various embedded Linux OSs, uC/OS-II, and Windows CE on embedded platforms. ResinOS containers on Beaglebone and Raspberry Pi. Custom builds using Yocto Linux. Version Control: CVS, PVCS, Visual Source Safe, Subversion, Synergy, Perforce and GIT. Communication Protocols: Inter-chip communications I2C and SPI, and various external interfaces (RS-485, RS-422, RS232, ARINC 429, PS/2, CAN bus). Some Ethernet exposure including running TCP/IP and RF using a custom RF-based protocol and RFID. Show less

    • United States
    • Technology, Information and Internet
    • 1 - 100 Employee
    • Firmware/Hardware Manager
      • Sep 2016 - Jan 2018

      Drove firmware and hardware efforts to connect agriculture and energy verticals to the cloud (Internet of Things). ◦ Delivered a Beaglebone (ARM Cortex-A8) baseboard, with a custom CAPE that added CAN bus support, mounting for 3G modem and GPS modules, and temperature and shock detection. This system reported GPS and CAN data to an MQTT broker using cellular 3G, with messages in JSON format. ◦ Delivered Intel Edison-based system to read current from PV strings on a solar farm. Connected to an MQTT broker using Wifi, sending JSON messages. ◦ Worked directly with hardware consultant to develop and review custom boards for different applications. ◦ Integrated the firmware with off-the-shelf and custom hardware. Installed in the field, and troubleshot system integration problems. ◦ Met with customers to define the system requirements. Main point of contact technical issues for the company and customers. ◦ Defined tasks for projects, allocated resources and worked with management to get the resources needed to meet deadlines. Led firmware team, continuously growing the team’s capabilities to support demos and customers. ◦ Mentored a team of firmware developers, locally and in India. ◦ Architected firmware, instituted code reviews, and strove to improve code reliability and simplicity. ◦ Defined development process, including coding standard, code reviews, and verification. Led effort to use a function testing framework. ◦ Recruited to expand and grow the capability of the firmware and hardware teams. Helped design and implement demos using Raspberry Pis running Debian Linux, and Python applications. ◦ Used ResinOS to do over-the-air updates of applications. Show less

    • United States
    • Semiconductor Manufacturing
    • 700 & Above Employee
    • Staff Embedded Firmware Engineer
      • Oct 2010 - Aug 2016

      Managed team that analyzed project-specific firmware and generalized it for implementation and release on multiple customer platforms. ◦ Leveraged technical leadership skills to mentor team members through replacement of hard-coded values, removal of customer-specific firmware, and enhancement of the overall architecture and readability of the firmware. Led a team of four people from Taiwan, India, and on-site in San Jose, to develop keyboard capacitive touch firmware. ◦ Delivered project on time to enable multiple demonstrations at electronics shows and for the primary customers. The project involved new algorithms and integration with new hardware. ◦ Supported potential clients and the integration with hardware by traveling to Taiwan and China. Refined, debugged, and documented an API that enabled customers to develop their touch-oriented firmware running on Synaptics’ ASICs. Developed test cases to verify the API functionality. Improved debugging firmware to allow debugging over an I2C interface. Debugging capability was integrated into Eclipse IDE. Researched and resolved various customer problems that centered around capacitive touch sensing on touchpads and touchscreens and STYKs. The devices used I2C, HID/USB, and PS/2 interfaces. Show less

    • Embedded Sw Consultant
      • Sep 2010 - Oct 2011

      Built a replacement system, in collaboration with another developer, using Linux and Busybox running on a Moxa system. Defined requirements. Implemented features in C/C++. Designed/implemented a browser-based reporting system using HTML and Perl. Verified system functionality. Developed new features and debugged problems using IAR Embedded Workbench running on Sunpower monitoring hardware. This system collected data from inverters and remote servers, shared data between units with a proprietary RF protocol, and uploaded data to company servers. Units consisted of an 8051-based display running an interrupt-driven scheduler and a logger and gateway that were ARM-based systems running uC/OS. Show less

    • Embedded Sw Consultant
      • Jul 2009 - Jan 2010

      Defined requirements and developed firmware and test cases to support a remote control. Minimized project delay caused by hardware design problem by liaising with the designers, offsite. Quickly identified the problem and verified the fix. Documented the requirements, design and test procedures. Implemented the firmware, and verified it passed the test cases defined in the test document. Designed and wrote a custom bootloader that enabled in-system programming of embedded processors to support various MSP430-based boards. Implemented a Linux application to reflash the processors. Show less

    • RFID Developer/Consultant
      • May 2009 - Jun 2009

      Completed successful delivery of various programs in C# and C++ that simulated an RFID loss control system. The C# program queried an SQL database to populate fields in a GUI, and the C++ program used the LLRP library to control an RFID reader. Defined the system needs, the interaction between various programs, and helped integrate the individual components into a working system. Completed successful delivery of various programs in C# and C++ that simulated an RFID loss control system. The C# program queried an SQL database to populate fields in a GUI, and the C++ program used the LLRP library to control an RFID reader. Defined the system needs, the interaction between various programs, and helped integrate the individual components into a working system.

    • Embedded Sw Consultant
      • Mar 2008 - Nov 2008

      Worked collaboratively with team members to enable Crane Aerospace to meet DO-178B Safety-of-Flight delivery for the 787 Dreamliner braking system software. Defined and clarified system requirements with the Systems group, implemented those requirements and verified functionality on a Triakis-based simulator and on the actual braking hardware. Applied tools included TI’s Code Composer/Debugger for a TI TMS320F2812 DSP, Green Hills Multi for a Freescale MPC565 microcontroller and Synergy CMS to track software and documentation changes. Show less

    • Embedded Sw Consultant
      • Jan 2005 - Dec 2007

      Lead firmware developer for an electronic bracelet used to monitor people under house arrest or curfews. Encrypted RF traffic using a modified version of the Tiny Encryption Algorithm (TEA). Used a TI MSP430 processor and a Semtech RF1203 UHF transceiver with a key focus on minimizing power consumption. Redesigned and implemented a new communication interface between a Renesas M16C and a TI MSP430 on the base station, another part of the electronic bracelet monitoring system. Focused on making the project protocol robust and simple, to allow prompt recovery from communication errors. Show less

  • University of California at Irvine
    • University of California, Irvine
    • Extension (Continuing Education) Instructor
      • Aug 2000 - Jun 2007

      Taught embedded systems and programming classes at UCI. Originally used a 6811-based board as a learning platform. When this became obsolete, changed curriculum to use an Atmel AVR board (STK500/502). Developed lessons to provide students with hands-on experience with LEDs, D/As and A/Ds, serial interfaces (RS-232, SPI, and I2C), and an LCD. Covered limitations and considerations of embedded systems such as endianness, shared data problems, task switching and interrupts, the build process, and debugging methodologies. Show less

    • Embedded Linux Consultant
      • Jun 2006 - Dec 2006

      Worked with a small team to replace a VxWorks-based electronic picture frame with a Linux-based system that saved production costs and provided an open-source environment for the customer. Provided the underlying graphical libraries using SDL and Paragui, and various drivers. The hardware used a Samsung ARM 9 (2413) processor. Worked with a small team to replace a VxWorks-based electronic picture frame with a Linux-based system that saved production costs and provided an open-source environment for the customer. Provided the underlying graphical libraries using SDL and Paragui, and various drivers. The hardware used a Samsung ARM 9 (2413) processor.

    • Embedded Sw Consultant
      • Feb 2005 - Apr 2005

      Primary developer for a GUI for a moisture-sensing device. Integrated software with the sensor and demonstrated proper functionality, working through several problems with the customer. Delivered on time to support a tradeshow. Primary developer for a GUI for a moisture-sensing device. Integrated software with the sensor and demonstrated proper functionality, working through several problems with the customer. Delivered on time to support a tradeshow.

    • Embedded Sw Consultant
      • Jul 2004 - Nov 2004

      Delivered a new hand-held controller for an IFE system using embedded Linux running on an ARM processor. Created the root-file-system (RFS), using Busybox to provide the majority of the OS commands. If more functionality was needed than Busybox could provide, rebuilt the program from scratch with the needed configuration. Wrote bash scripts to make rebuilding all of the individual programs easier. Developed a Qt-based graphical application to demonstrate the functionality of the hardware, including the OLED display. Ported applications written for x86-based processors to this ARM target. Differences between the ARM and x86 architectures were a common source of errors. Show less

    • Embedded Sw Consultant
      • Oct 2003 - Jul 2004

      Improved existing code base for an imaging system to support the M1A1 tank. Updated, clarified and added missing requirements. Added an error-logging system that helped identify subtle errors such as task overruns and corrupt communications, and defined test cases to verify functionality. This led to significant code improvement by reducing bugs and clarifying the system interfaces. Worked closely with the hardware design group to improve the FPGA logic that buffered serial communication. This allowed meeting real-time deadlines by reducing the interrupt overhead on the software design. This system used a TMS320 DSP and relied heavily on serial communications. Show less

    • Embedded Linux Consultant
      • Mar 2003 - Oct 2003

      Main developer for a Terminal Cellular Bridge (TCB). The TCB provided a way for wireless data exchange between an aircraft and a remote server using a GSM connection. It ran a Linux OS on an x86 processor. The RFS was compressed and stored as a RAM disk image to further reduce Flash use. Optimized a version 2.4 Linux kernel to reduce its size and improve speed. Reduced the root file system size. Wrote a bit-bang I2C Linux driver to interface with NVM and temperature sensor. Provided a graphical interface for users using HTML pages and Java applets. These allowed the user to update the TCB software and offload data when the aircraft landed using a GSM. Used C and C++ to write an application that monitored system conditions. Used XML RPC to send and receive data to other system components. Show less

    • Lead SW Engr
      • Aug 2000 - Nov 2002

      Led software development for the AVC LRU on an IFE system. Worked with a small team; tracked their progress and reported to project and software management, offering solutions to technical and schedule problems. Worked closely with the hardware designer to successfully bring up boot code on a Linux-based system running on a new custom Power PC (8206) board. Implemented higher-level applications for the AVC in C and C++ and created HTML pages using CGI to provide a customer interface. Show less

    • Embedded Sw Consultant
      • Nov 1998 - Aug 2000

      Developed software for the AMP and SERPOS power conversion systems for a new Navy submarine. Each system used 4 Texas Instruments TMS320C40 DSPs. Software was developed using TI's Code Composer simulator and emulator tools. Worked with a team of 5 engineers to document requirements and design for existing code, and fixed problems found as a result of this effort. Developed software for the AMP and SERPOS power conversion systems for a new Navy submarine. Each system used 4 Texas Instruments TMS320C40 DSPs. Software was developed using TI's Code Composer simulator and emulator tools. Worked with a team of 5 engineers to document requirements and design for existing code, and fixed problems found as a result of this effort.

    • United States
    • Aviation and Aerospace Component Manufacturing
    • 700 & Above Employee
    • Lead SW Engr
      • Jan 1988 - Nov 1998

      Led 20+ engineers in the development of a power system for the Global Express business jet. This included scheduling, tracking progress, and directing the team's day-to-day efforts. Defined the processes to be used for development and verification activities to meet the DO-178B Level A requirements. Reviewed produced products (test requirements, specifications, etc.) for technical completeness and accuracy. Worked with, and presented to, the customer and certifying authorities to verify compliance. Various other positions with Sundstrand during my employment. Show less

Education

  • Northern Illinois University
    Master of Science - MS, Electrical Engineering
    1991 - 1997
  • Concord Law School at Purdue University Global
    Juris Doctorate, Law
    2007 - 2011
  • University of Wisconsin-Platteville
    Bachelor of Science - BS, Electrical Engineering
    1983 - 1987

Community

You need to have a working account to view this content. Click here to join now