James Perkins

Staff Engineer, Embedded Software

Role
Staff Engineer at Datalogic
Location
Eugene, OR, US
LinkedIn followers
500 followers

About James Perkins

Systems software programmer and designer since 1987, at the level where computer architecture and electronics components meet the operating system. This has been a lifelong personal interest area, my study through college with work-study, and a successful career.Recently I\'ve been leading software projects based on PC, ARM and MIPS hardware, optimizing embedded Linux OS from drivers/board support up through the full stack of open source and proprietary components, to fuse information from multi-camera, stereo 3D depth, and 2D imagers to recognize item dimensions, decode 1D and 2D bar codes, and interpret machine learning based visual identification results. I also help partner companies apply these technologies to their specific applications to satisfy our joint customers.Since my area of present expertise is open source software I have peers and friends across the industry worldwide and local university contacts, mostly Linux Kernel developers.Specialties: Embedded Systems, Software, Real-time, Device Optimization, Open Computer Vision Library (OpenCV), Robot Operating System (ROS), Linux distribution internals, Cross-development, MIPS, ARM, PowerPC, SIMD, Metrics, Process Improvement, Lasers, Radio and RF technology, Network Administration, Network protocol design, Internet Protocol, Social Networking, Electronics, Schematics, Technical Writing, Writing, Partner communications, Development Tools, Configuration Management (Git, Gitlab), MPEG2, Codecs, Linux internals, UNIX internals, SunOS, VxWorks internals, System Administration, Computer Architecture

Experience

  1. Staff Engineer

    Datalogic

    Jan 2012 — Present · Eugene, OR, US

    Design of software and strategies for automatic data capture of 1D bar codes, 2D symbologies, item tracking, and image recognition. At the core is computer vision and sometimes 3D scene reconstruction.I select and deploy open source development tools and product components for team collaboration. For example, some Datalogic scanner products include GNU/Linux-based multiprocessor embedded systems. These run on PC, ARM and MIPS processors, via solid state drive devices and USB- and Ethernet-based IP networking. Tools I have introduced and employed to build our systems include git, gitlab, gitlab-runner, make, pseudo (fakeroot), commercial embedded Linux, Ubuntu workstations and servers, Red Hat Enterprise Linux servers, Yocto Project, buildroot and docker containers.I also include and deploy dozens of open source software components in operational products from kernel drivers based on vendor code drops, X11 window system, touchscreens, libusb, and POSIX threads, and have made a few contributions to open source communities (GNU glibc, OpenCV library).I have detailed experience with implementations of Time Sensitive Networking, from Network Time Protocol (NTP) to GPS/GNSS/PPS time references and Precision Time Protocol 15••••08, 802.1AS). Another project involves 3D sensor fusion from multiple calibrated sensors, orchestrated with Robot Operating System (ROS), and perception using Open Computer Vision Library (OpenCV).Lately I have been optimizing embedded SIMD vector acceleration (NEON, MSA, SSE instruction set architectures) of selected computer vision algorithms on ARM, AARCH64, MIPS, Intel, and other architectures, backed up with code reviews, an extensive continuous integration (CI) and code quality test I introduced, with interns I mentor, contractors, and other team members.During pandemic this position was fully remote; before then, fully on-site; presently it is remote one day/week and on-site the other four.

Education

  • Oregon State University

    BS, Computer Science

    1983 — 1987

Skills

  • Git
  • C
  • Software Engineering
  • Embedded Operating Systems
  • Software Development
  • Vxworks
  • Radio
  • Technical Documentation
  • Open Source Licensing
  • Unix Shell Scripting
  • Embedded Linux
  • Editing
  • Device Drivers
  • Network Programming
  • Digital Photography
  • Linux Tools
  • Project Documentation
  • Technical Leadership
  • Technical Communication
  • Operating Systems
  • Program Management
  • Antennas
  • Unix
  • Serial Communications
  • Embedded Software
  • Emergency Communications
  • Data Acquisition
  • Arm
  • Linux Kernel
  • Open Source
  • Linux
  • Image Editing
  • Digital Electronics
  • Electronics
  • Photography
  • Product Development
  • Technical Writing
  • Event Photography
  • Embedded Systems
  • Product Engineering

Find verified contacts for anyone on LinkedIn

Unifers gives sales teams verified emails and direct dials, enriched profiles, and outreach that lands in the inbox.

Free plan included · No credit card required

This profile is compiled from publicly available professional sources. Unifers is not affiliated with or endorsed by LinkedIn. Request removal of this profile.

James Perkins — Staff Engineer at Datalogic in Eugene, OR, US | Unifers