Peter L. Skeggs
pls =at- noeticdesign -dot= com
Professional Objective
Utilize my experience in the embedded systems, consumer and hobby robotics,
and data storage industries to develop leading edge solutions to difficult problems.
Work Experience
Senior Software Engineer, Verlitics (aka Emme Energy, aka Home Comfort
Zones, Inc.), Portland, OR, 2012
- Greatly extended existing prototype firmware with graphical LCD interface, Adhoc WiFi setup web
interface, large Phase Change Memory buffer handling, and internet bootloader
- Debugged Microchip’s WiFi / Ethernet /TCP/IP stack to enable uninterrupted data
flows (60 x four channels of voltage, current, and power measurements per second) to Amazon Web Server for weeks at a
time
- Readied firmware for preproduction release
Chief Engineer, Noetic Design, Inc.,
Portland, OR, 1993-present
- BikeTrak Prototype
- Wrote all TI MSP430 firmware for bicycle security device
- Firmware utilized Telit 2g cellular data module, Wi2Wi GPS module, USB power charging protocol, and Freescale accelerometer, to covertly monitor physical state of bicycle and report motion to web server (for display by separate mobile phone app and/or SMS text message or email), while conserving and extending battery life for long periods between charges
- BikeTrak, (Portland, OR, 2011-2012)
- RFID Tag Sorting Machines
- Did complete mechatronics design and fabrication for machine that handles 12mm x 2mm diameter, glass-encapsulated RFID tags for the worldwide fish tagging market
- Machine singulated tags from a hopper; wrote unique ICAR ID; stored tags in barcoded bags in a 10 position carousel; submitted ID and barcode to web backend
- Technologies used include an Arduino Mega controller with Ethernet and Motor/Servo shields; Half Duplex and Full Duplex low frequency RFID writers and readers; laser cut plastic mechanical parts designed in Alibre 3D CAD; optical tag passage sensors; I2C interface LCD display; I2C interface encoder
- Wrote all firmware
- Wrote entire PHP/MySQL web backend and administrative frontend
- OregonRFID, (Portland, OR, 2010-2012)
- Facebook Application
- Implemented reinterpretation of existing psychological
profiling game as a Facebook app, using PHP, MySQL, JavaScript, and Ajax
- Integrated Flash ActionScript with XML data transfers
and interaction with JavaScript
- Worked with original game designers as well as digital
artist
- QuickSilver Mirror, LLC, (Santa Monica, CA, 2009-2010)
- Electronic Toy Prototype
- Successfully designed and implemented ARM Cortex M3-based
sound recording and playback board for prototype toy, for play testing
prior to overseas production
- Was responsible for component selection, schematic capture,
board layout, firmware development, interfacing with sound engineer and
industrial designer
- Pulse Global (Santa Ana, CA, 2009-2010)
- Pleo Customization
- Implemented hardware interface between Tessera vision
processing board and Pleo serial port
- Helped test and debug Pawn script interaction between
Tessera board and Pleo
- ITC (Los Angeles, CA, 2009)
- Optical Sensor Simulator Update
- Integrated MatLAB file I/O support to existing simulator
- Made major structural and algorithmic improvements based
on customer specs
- EM Microelectronic-US Inc. (Colorado Springs, CO,
2009 )
- Ugobe Pleo
- designed electronics (power, servo control, audio playback,
SD card, microcontroller, memory) and wrote all firmware for Atmel ATMEGA128-based
prototype of Pleo ("Draco") for DEMO06: done in 3 weeks from
start to finish; Pleo won DemoGod
- hand-built and maintained electronics for number of prototypes
- designed new electronics (audio, IR, and touch sensing;
power control; accelerometer; servo control; audio playback; and SD card
access) and ported/expanded firmware for Atmel AT91SAM7S256 ARM processor)
for rev 2 Pleo prototype inside of limited physical envelope
- as member of small team, ported prototype firmware to
production Pleo electronics
- with team, developed sensor processing firmware for NXP
LPC2103 ARM processor
- managed low level production firmware development with
off shore contractor
- specified and managed third party development of PID
motion control firmware
- designed and implemented compressed motion control processing
tools and playback firmware
- designed and implemented audio compression and processing
tools and playback firmware
- designed and implemented a number of sensor algorithms,
including sound direction and loudness determination, joint angle / velocity
/ acceleration, battery temperature / current / voltage / capacity, IR
proximity detection, IR communications
- solved many complex issues involving
hardware/firmware interaction
- helped trouble shoot offshore production issues
- designed and implemented factory calibration firmware
- Ugobe Inc., (Eagle, ID, 2006-2009)
- Nubotics Product Development
- designed electronics, firmware, software, mechanicals,
optics, test fixtures, codewheels, and assembly fixtures and processes
for:
- WW-01 WheelWatcher Encoder for Servos
- WW-02 WheelWatcher Encoder for Motors
- WW-11 WheelWatcher Intelligent Encoder for Servos
- WW-12 WheelWatcher Intelligent Encoder for Motors
- WC-132 Differential Drive Controller (including Visual
C++ Setup Wizard)
- ME-110/ME-210 Unicoder Universal Rotary Encoder
- wrote user manuals and example programs
- designed advertisements for Servo Magazine, Robot Magazine,
Circuit Cellar Magazine, and both Yahoo and Google ads
- managed procurement of all components
- managed manufacturing via outside PCB fab and PCB assembly
houses as well as final assembly in house
- established distribution deal with Acroname, Inc. and
Jameco's Robot Store
- provided customer support
- Noetic Design, Inc. (2004-)
- Box Office Tickets Remote Printing System "RoBOT"
- designed and implemented software for remote printing
of event tickets
- developed Windows 2000/XP systems service that communicated
with Apple WebObjects / Webservices front end using Apache Axis / gSOAP
/ SSL
- wrote printing interface to standard ticket printers
- Box Office Tickets Inc. (2004-)
- Customized Mailman Email Delivery System
- modified Python-based Open Source Mailman email list
server to handle needs of a school community by implementing methods for
establishing a heirarchy of email lists, allowing members of subgroups
(e.g., classrooms) to receive / read archives / post to higher level lists
- implemented and maintained on a volunteer basis
- Opal School (2003-)
- ePortfolio Electronic Student Portfolio System
- as member of small volunteer team, designed and developed
Apache Struts / JSP / PostgreSQL-based web application for storing, organizing,
and retrieving electronic assets for Opal School
- designed and developed Windows-based rapid asset uploader
application
- Opal School (Portland, OR, 2003-)
- DLT Reader
- created very fast reader for DLT-8000 drives
- can create arbitrarily large (>4GB) dumps from normal
or damaged tapes
- interactive visual tape explorer
- Computer Conversions, Inc. (El Cajon, CA, 2002-2003)
- Maynard MaynStream Format Decoder
- reverse engineered old DOS tape format
- developed data recovery tools able to tolerate gaps and
errors in data stream
- Computer Conversions, Inc. (El Cajon, CA, 2002)
- Novastor Novadisk Support
- added ability to decode multi-CD Novadisk backups to
existing QIC Recovery tool
- Computer Conversions, Inc. (El Cajon, CA, 2002)
- E-Commerce Store Maintenance
- client had a bug in their online store that caused customer
to be charged for giftwrapping of all gifts even if they were too big
to be wrapped
- fixed by adding new flag in MySQL database with appropriate
PHP changes
- found, fixed, tested and deployed in < 5 hours (first
exposure to store's codebase)
- Neurosmith, LLC (Long Beach, CA, 2002)
- Microsoft Tape Format Decoder
- created custom data recovery tool for MTF (used by Veritas
Backup Exec, Microsoft Backup, and other backup programs)
- highly tolerant of errors and gaps in datastreams, and
able to decompress software compressed archives
- Computer Conversions, Inc. (El Cajon, CA, 2002)
- MIDI Validation Tools
- developed rules checker for MIDI files and transition
table files used in Musini product
- resulted in very clean and consistent toy behavior under
demanding conditions
- Neurosmith, LLC (Long Beach, CA, 2002)
- Lil'PICcy Microsumo Robot Controller Board
- circuit design and PCB layout for world's first micro-class
sumo robots (robots are under 5cm per side, less than 100 grams)
- includes external serial level shifter board
- Noetic Design, Inc, (2001)
- Optical Sensor Simulators
- used by client to test and evaluate analog and digital
image processing algorithms to be embedded in sophisticated optical sensors
prior to first silicon (e.g., optical mice)
- written in C++, MFC
- EM Microelectronic-US Inc. (Colorado Springs, CO,
2001- )
- Java Server Pages Web
Application for eValab Demo
- converted ARM7TDMI demo to use Simutech's JSP-based eValab
server software
- tools included Allaire JRun 3.0, Apache web server, and
Borland JBuilder 4
- designed and implemented complex web application involving
a dozen JSPs, three Java Applets, HTML, JavaScript, and Sun's Java Media
Framework (JMF)
- Simutech, LLC(Portland,
OR, 2000-2001)
- ARM7TDMI Firmware Demo Application
- designed and implemented ARM7TDMI-based firmware for
image processing demo
- wrote VC++ client application for image capture and transfer
to RAVE server
- Simutech, LLC (Portland,
OR, 2000)
- "FlexDrive" Motor Controller Board
- designed and implemented compact but flexible dual DC
motor controller board for robotics applications
- performed schematic capture and PCB layout
- coordinated PCB fabrication with Alberta Printed Circuits
- currently in beta testing
- Noetic Design, Inc. (2000)
- BigFins.com Custom Story Database/Email System
- implemented on short deadline an online database system
for storage and retrieval of custom stories
- stories can be emailed to others and retrieved online,
at which time the data in the database is rendered on the fly into the
custom story
- uses an Access database and Allaire's ColdFusion
- BigFins.com (San Diego, CA, 2000)
- "CloverBot" Robotics Experimentation Platform
- designed and built autonomous test platform for experimentation
with all aspects of robotics engineering, including motor control, optical
shaft encoders, PID control systems, infrared proximity sensing, sonar
distance measurement, pyroelectric human body sensing, subsumption architecture
(behavior-based) robotic firmware development
- implementing Simple Real Time Java classes for robotics
applications (future product)
- Noetic Design, Inc. (2000)
- "RAVE Prototyper" Hardware/Software Integration
- wrote FPGA pinout, PCB board netlist, and JTAG pin data
analysis, merging, and interactive query software in Java for use in debugging
RAVE hardware
- played significant role in integration, testing, and
debugging of the RAVE Prototyper's complex hardware and software
- Simutech, LLC (Portland,
OR, 1999-2000)
- "SimuPhone" Demonstration Program and Firmware
- developed interactive Cell Phone demonstration program
to show off the RAVE Prototyper
- consists of a C++ GUI LCD/keypad program that runs on
a Windows PC, which communicates via RS-232 to Cell Phone demo firmware
running on an 8051 Microcontroller circuit prototyped via RAVE
- modified TASKING, Inc.'s Rom Monitor to perform source
level debug of the firmware which was written with the TASKING 8051 Embedded
Development Environment
- 8051 firmware was written in portable C, which permitted
the creation of a standalone version of the Cell Phone that runs entirely
on a PC, for training purposes; the 8051 firmware runs as a thread in
a DLL
- Currently modifying firmware to run on an ARM 7DTMI processor
and a PalmChip peripheral set for an updated version of this demo
- Simutech, LLC (Portland,
OR, 1999-2000)
- "OnStream EchoCanceller" Data Recovery Tool
- wrote SCSI data recovery program for OnStream SC-50 tape
drives
- wrote 1Vision Echo Software tape format analysis and
database repair programs
- wrote interactive file extractor that utilized all possible
information from partially restored directory databases, recognizeable
file formats, and embedded file information to recover all possible user
files
- integrated PkZip decompression library for recovery of
compressed files
- Computer Conversions, Inc. (San Diego, CA, 1999)
- "RAVE Prototyper" Installation Software
- designed and implemented InstallShield-based installation
program for RAVE system software
- designed and implemented InstallAnywhere-based installation
program for RAVE Java client software
- Simutech, LLC (Portland,
OR, 1999)
- "Aiwa BoltWrench" Data Recovery Tool
- wrote data recovery utility for the AIWA Bolt QIC-157
(ATAPI) interface tape drive
- Computer Conversions, Inc. (San Diego, CA, 1999)
- "RAVE Prototyper" System Software
- wrote Windows NT device driver for the RAVE Protyper
PCI interface card using KRFTech's WinDriver for Windows NT
- driver handles a variety of hardware interfaces between
the RAVE Prototyper PCI card and the RAVE CoreBoards:
- PCI using PLX 9050 interface chip
- i960 local bus
- Altera 10K series FPGA loading
- JTAG IDCODE retrieval
- Time Multiplexed Bus
- EEPROM reading and writing via I2C
- wrote C++ test software to fully exercise hardware and
driver
- significantly expanded Java JNI interface between device
driver and RAVE Prototyper Java software (JRave)
- Simutech, LLC (Portland,
OR, 1998-2000)
- "QIC Recovery" Data Recovery Tool
- developed data recovery tool for floppy interface tape
drives under Windows NT:
- added support for new Iomega tape drives and 2 megabit
floppy disk controllers to the native Windows NT qic117.sys device driver
- designed a multithreaded, mixed C and C++ MFC application
- supports QIC-40 through QIC-3020 drives, and Iomega 2GB
and 10GB drives, in both QIC-80 and QIC-113 file formats
- automatically detects and works around bugs and nonstandard
behavior of many backup software applications
- handles ECC and Stac data decompression
- provides interactive, visual, hierarchical view of data
structures on tape
- provides raw hex/ascii editing of data on tape
- recovers user data from a variety of mishaps, including
partial overwrites, lost volume table entries, scrambled bad sector maps,
and unrecoverable read errors
- wrote user manual and technical manual for the product
- Computer Conversions, Inc. (San Diego, CA, 1996-1997)
- DDS-2 SCSI Tape Drive Firmware
- designed and implemented DDS-2 (DAT) tape drive firmware,
starting from the DDS-1 codebase I wrote for Iomega and Aiwa
- designed changes to DDS-1 drive's architecture to support
DDS-2
- worked closely with Japanese engineers on drive design
and implementation issues
- Aiwa Co. Ltd. (Utsunomiya, Japan, 1993-1994)
- QNX Installation and Security Software
- wrote user-friendly Zip drive based installation program
for the QNX operating system
- replaced the cumbersome multi-floppy, then multi-patch
installation procedure that comes with the operating system
- wrote Rainbow security dongle driver for QNX
- developed tamper proofing technology to protect MDSI's
product from hackers
- MDSI (Ann Arbor, MI, 1995-1996)
- MFC Classes for SCSI
- created MFC classes to encapsulate SCSI device programming
via ASPI
- supports Windows 95 and Windows NT
- Noetic Design, Inc. (1997)
- Tape Drive Systems Analysis
- analyzed the systems design (firmware and hardware) of
the RSP-2150i SCSI 0.5" tape drive
- evaluated and found workarounds for a number of customer
issues
- MountainGate (Reno, NV, 1997)
- New Tape Drive Technology Feasibility Study
- evaluated technical feasibility of new tape drive technology
- Iomega Corp. (Roy, UT, 1996)
- Floppy Disk Controller Plug-n-Play Technology
- invented plug-and-play technology for locating all floppy
disk controllers in a system
- automatically determines the port, IRQ, and DMA settings
- Noetic Design, Inc. (1995)
- Technology Upgrade to Test Software
- stabilized and debugged tape drive engineering and manufacturing
test software
- implemented support for 2 megabit floppy disk controllers,
the parallel port interface, new QIC-80 format changes, and new Iomega
tape drives
- Iomega Corp. (Roy, UT, 1995)
- Multimedia Programming
- implemented sprite based interactive multimedia playback
engine, visual authoring tool, and sprite cropping and alignment tool
- used for a children's CD-ROM game
- Potamus Productions (Ventura, CA, 1994-present)
- Windows 95 Long File Name Decoder for DOS
- developed a DOS utility to decode Windows 95 long filenames
- Noetic Design, Inc. (1995)
- Visual Basic Japanese Learning Program
- developed in Visual Basic a Japanese language learning
program, KanaQuiz
- Noetic Design, Inc. (1993)
- Incorporated Noetic Design, Inc.
- started company with one other founder (business software/database
designer) (1993)
Advisory Engineer, Iomega Corporation, IOTAPE Division, San Diego, CA,
1990-93
- sole developer of SCSI firmware for DDS-1 (DAT) SCSI tape
drive, including all test applications (joint development with Aiwa Co. Ltd.)
-
assisted chip selection and design of DDS-1 drive electronics
-
coordinated Design Verification Testing for DDS-1 drive at
Iomega headquarters
-
represented Iomega at DDS Standards Committee meetings
-
developed DOS tape backup application (including ECC and
Data Compression) and tape drive manufacturing test software
-
part of team that developed a 1" high QIC tape drive
-
one of the six founding engineers of IOTAPE
SCSI Firmware Engineer, Cipher Data Products, San Diego, CA, 1989-90
-
as part of four man team, developed SCSI firmware for QIC-525
tape drive
-
helped design system level architecture and selected major
chips for tape drive electronics
Lead Software Developer, ISi / Literal Corp., Colorado Springs, CO, 1985,
1986-89
- invented WORMTOS, a revolutionary method of simulating
erasable files on write once media (written up in PC Week)
- developed SCSI firmware, test programs, end user utilities,
and device drivers for 525 MB, 5¼" optical disk drive
- helped specify and design SCSI electronics for optical
disk drive
- completed development of Replicator (optical disk formatter)
firmware
- handled technical customer service calls
- wrote user manuals for drivers and software
Engineering Intern, Xanar Surgical Laser Systems, Colorado Springs, CO, 1982-1984
(summers)
- wrote 8085 firmware and built circuitry for advanced Sharp
plasma display demonstration prototype of a surgical laser user interface
- designed test programs and firmware for CO2 surgical laser
systems
Skills
- Java Server Pages, Java Applets, JavaScript, Torque, Struts
- Python, Pawn, PHP
- C++ and MFC (Microsoft Foundation Classes)
- Java 2, JNI, Simple Real Time Java (SimpleRTJ)
- HTML, CFML (ColdFusion Markup Language), CGI, some SQL
- InstallShield / Nullsoft installation program design
- good embedded systems experience (8051, 68HC11, 8085, 80188,
ARM 7, AVR, PIC, SiLabs, Basic Stamp)
- strong skills in C and 80x86 assembly language
- tape drive formats and interfaces
- drivers for hardware interfaces such as JTAG, I2C,
SCSI, RS-232
- DOS, Windows 3.1, Windows 95, and Windows NT/2000/XP, and
QNX system and application programming
- QNX and Linux system administration
- Linux firewall implementation and administration
- familiarity with Pascal and Visual Basic; exposure to Ada,
Prolog, Snobol
- digital design and system level specification experience
- schematic capture and PCB layout
- extensive digital electronics debugging and testing experience
- can operate oscilloscopes, logic analyzers, and emulators
Education
- Japanese Language I and II, University of California at
San Diego, 1991-1992
- BSCS and BSEE, Washington University in St. Louis, 1986
- Valedictorian, Cheyenne Mountain High School, Colorado Springs,
CO, 1982
Contact Information
Email |
pls*at# noeticdesign (dot) com |
Fax |
(503) 223-9470 |
Phone |
(503) 223-9239 |
Mail |
25 NW 23rd PL STE 6
PMB 181
Portland, OR 97210
|
Last updated 25 September 2012.