Todd Coram
todd at maplefish dot com, http://www.maplefish.com/todd
(rev. 09/04/24)

Need an expert embedded systems HW/SW designer? Hire Me!

I have over 35 years experience as a professional software/hardware/firmware developer (and computer technologist) for everything from bare metal embedded devices to cloud-hosted multi-node systems. In particular, I specialize in prototyping and exploration of cutting-edge-technology with an emphasis on practicality. My current focus is on rapid prototyping of deeply embedded systems, low power computing, LoRa based protocols, and IoT sensor networks.


Expertise


Programming language Expertise
Ada(2005/2012), Lua/LuaJIT, C, C++11, Perl, Haskell, Erlang, Java, Clojure, various Forths (including OpenFirmware, SwiftX for MSP430 and 8051, MPE Forth for ARM Cortex-M0/3/4, ArrayForth for GreenArray's GA144), awk/gawk, Tcl/Tk, Unix scripting (bash, korn, Busybox, etc), Standard ML, Scheme, PicoLisp, uLisp and Common Lisp.
OS
Ubuntu/Debian Linux, RT Linux, OpenWRT, OpenBSD, FreeBSD, Solaris, Windows, Nucleus (for ARM).
Protocols
TCP/IP, UDP, Modbus, Bluetooth, Bluetooth LE, NFC, LoRA, LoRAWAN, ARINC 429, RS485, USB (device drivers), MQTT, AMQP (RabbitMQ) and more!
Design
Concurrent (CSP), Functional, Procedural, Object Oriented, Relational, Generic Programming
Security/Forensics
Hardware tamper detection, Laptop forensics, Personal security devices, rootkit detection, filesystem analysis, familiar with design and deployment of AES based systems.
Low Level/Embedded
I2C, SPI, 1-wire, bit-banged UART, USB device drivers, bootloaders, BIOS firmware, Bluetooth, NFC, IP packet analysis and modification.
Microcontrollers
Cortex-M0/3/4 (STM32 primarily), RP2040, ESP32, Nordic nRF51, TI MSP430, 8051 (Silabs), Atmel AVR 8-bit, Parallax Propeller, ARM7, GreenArray GA144.
Hardware Skills
Digital design of MCU based systems, Tteardowns, hand soldering of components down to 3x3mm QFN, board repair.
Technical Writing
Published author (book chapter, technical papers, etc), Writing workshop "shepherd" award recipient.
Inventions and Patents
Co-inventor of technique for managing battery monitoring false positives for body-worn medical devices with multiple high current spike inducing components. Patent Pending (Senseonics).

Selected Projects and Products


findgrub.help (https://findgrub.help)
Web application, covering all of the continental US, for quickly searching for restaurants, utilizing a locally distilled OpenStreetMap database and a novel binning technique (strip bins). Written in PicoLisp and runs under OpenBSD. No user tracking and no external webserver dependencies... Currently developing a fully Android resident version.
T38 Fighter Trainer
Worked as part of a small team reverse engineering and upgrading the Air Force's T38 Trainer. My tasks include replacing a VME based data acquistion/controller system and interface to the crewstation with a more modern system. Lots of reverse engineering of hardware and protocol interfaces (ARINC, etc) that were developed in Ada on a RT Linux. (AELIUS 2023-2024)
LoRa TDMA Protocol
Designer of a secure, minimally chatty long range protocol on top of LoRa (not LoRaWAN) for sensor networks and personal communication.   (AELIUS 2021-2024)
IoT Sensors
Developed hardware, firmware and backend for low power PIR sensors and GPS tags deployed for training purposes. (AELIUS 2021-2023)
uForth/toolboxForth (https://github.com/tcoram/toolboxforth)
I am the designer and implementor of a very lightweight programming language and debugger for 16 and 32 bit memory constrained microcontrollers in my own variant of Forth. It is written in ANSI C and itself. It runs on MSP430s, ESP32, RP2040 and STM32 Cortex based processors. (2010-2024)
Body Worn Sensor Network
Designed and implemented a body worn "sensor hub" for collecting data from body worn sensors (via BLE, analog signals, I2C, SPI, UART, etc) and sending to an edge server via LoRA. The sensor hub was based on the Green Arrays GA144 (144 core processor). I designed the hardware, firmware and application software for the hub. (AELIUS 2018)
AdTech Network Simulation
Designed and developed a functioning, performant simulation of an Adtech network (e.g. Brokers and bidders) to support a class on AdTech. (AELIUS 2023)
PrivNet
Developed a Managed Attribution toolkit in C++ and Clojure. This toolkit has been deployed to commercial and government clients in order to facilitate anonymous web browsing and secure disassociated communications. It currently utilizes custom deployment of RAM resident software to the Amazon EC2 and Digital Ocean cloud providers using user-space IP packet handling/manipulation/obfuscation. - (Novetta Solutions 2012-2016)
Secure Executive Devices (SED)
Developed a secure commercial travel laptop targeted for Corporate Executives of large companies. Developed software to detect hacking attempts (in real time) and hardware modification. - (Novetta Solutions 2013-2014)
DARPA Active Authentication
Developed a hypervisor based security containers for DARPA's next generation PC platform. - (Novetta Solutions 2014-2016)
Mutter
A Mumble (VOIP/chat) compatible server designed for extendability and customization. - (Self 2015-2016)
Various GPS Trackers
Over the past 20 years I've designed both firmware and hardware for various GP tags and trackers using Forth, C, C++, uLisp, and Ada on diverse MCUs such as ESP32, STM32, RP2040, MSP430 and 8051. (Self and various employers 2004-2024)
SBC based Moving Vehicle Imager
Designing and implementing an OpenCV based motion detector to track, photograph, identify and thumbnail vehicles in motion. The system is designed to be portable and battery powered using a single board computer (SBC). - (Novetta Solutions 2016)
Remote Controlled Software Defined Radio
Designing and programming prototype board to facilitate remote control (via GSM SMS) of a power hungry Linux based SBC. The board performs power manage and command & control of the SBC. The board utilizes the Parallax P8X32A multi-core MCU. - (Novetta Solutions 2016)
NFC Messaging Device
Designed (hardware and software) a NFC device (Cortex M4 based) for secure near field communication with Android smartphones and RFID cards. - (Novetta Solutions 2013)
Multi-mode GPS Tracker
Designer and implementer of a multi-mode GPS tracker (running on an MSP430) that uses multiple output paths (including SMS and Iridium SBD). Developed in uForth. - (ITT Nexgen 2010)
Motion Sensor for Waking Satellite Transceivers
Circuit and firmware designer of an extremely low power, motion sensing peripheral device for a an Iridium satellite Transceiver. Dsigned around a TI MSP430 and 3 axis accelerometer. - (ITT Nexgen 2007/2008)
Hand Held Tracker for Iridium Satellite System
Lead designer and implementer of a hand held personal tracker device for the Iridium Satellite system. This device is built around an 8-bit AVR microcontroller and the Nexgen Cutlass transceiver. - (ITT Nexgen 2007/2008)
Various Open Source
Some of my open source code can be found at http://github.com/tcoram and http://gitlab.com/maroc .


Work Experience


Owner on Maplefish LLC, 5/16 to Present, VA

Hire me! I do freelance embedded product development!

Principal Systems Engineer, 10/21 to Present, AELIUS Exploitation Technologies, VA

  I design and build gadgets (hardware/software) based on MCUs and SBCs to do lots of interesting stuff.

Sr. Embedded Software Engineer, 5/20 to 10/21, Ridgeline International, VA

I worked in the R&D department as Lead HW & SW developer, working on embedded sensor technology research and developement.

Embedded Software Engineer & Computer Scientist), 7/17 to 5/20, AELIUS Exploitation Technologies, VA

  I design and build gadgets (hardware/software) based on MCUs and SBCs to do lots of interesting stuff.

Firmware Developer (Consultant), 9/16 to 7/17, Senseonics, MD

  I was their lead firmware engineer, engaged in debugging, improving and enhancing a body worn blood glucose monitoring system. In particular, I was responsible for the transmitter device which uses NFC to communicate with an implantable sensor and Bluetooth LE to communicate with a smartphone. The transmitter is designed around the STM32L4 family of Cortex M4 processors and the Nordic nRF51 BLE chip.

Senior Computer Scientist, 9/10 to 9/16, Novetta Solutions, various locations in MD and VA

  I developed tools in Haskell, Erlang, Clojure, Lua, C, Perl, Awk, etc (and whatever else that makes sense) to do secure communication software (and forensics) for personal devices and cloud servers. I am also designing microcontroller based gadgets for a variety of secure communication uses for the US government.

Principal Software Engineer, 5/06 to 9/10, NexGen - A wholly owned subsidiary of ITT Defense, Dulles VA

  I worked on all types of embedded device side software solutions for the Iridium Satellite network. I was involved with a number of products and projects involving microcontrollers, encryption, USB, Bluetooth and motion sensor devices. I also designed and implemented protocols for satellite handset authentication under Solaris and Linux.

Senior Systems Engineer, 11/02 to 5/06, L3/Titan, Reston VA

  Lead software engineer for the Integrated Broadcast System (IBS) IBS was a government funded soft realtime message processing system with high availability and performance requirements. I was responsible for the design and architecture of the core system. I was also the designer and implementor of the L3/Titan OWL (One Way Link) network appliance.

Other Positions



This document was generated using AFT v5.098