BALLPEEN.SOFTWARE
Embedded Linux · Broadcast Technology

Embedded software that stays on the air.

Ballpeen Software is an independent consulting practice for hardware startups and established broadcast vendors. I bring up new boards, build the streaming and control software on top, and set up the engineering process that keeps it shipping.

Work with me See what I do
25+years in software and systems
12 yrsindependent practice, since 2014
7 yrslongest client relationships
1000sof broadcast appliances in the field

What I do

From a blank board to a product in production. Engagements can cover one piece or the whole stack.

Board bring-up and BSPs

Architecture and bring-up of board support packages on newly designed encoder and decoder hardware, including custom kernel modules for peripherals.

Buildroot · Yocto · PetaLinux · Linux kernel

Streaming and transport

Streaming and transfer protocols implemented on constrained MPEG-TS appliances, built to behave on real networks.

SRT · RIST · Multicast · RTMP · RTSP · S3

ATSC 3.0

Design and development of ATSC3 signaling and gateway servers, in use by clients serving broadcast networks.

ATSC3 · signaling · gateways

APIs and middleware

REST APIs and middleware that bridge legacy device interfaces to modern web front-ends, so small embedded hardware can have a modern UI.

REST · JSON · C/C++ · Python

Build, CI/CD and high availability

Build system modernization (including a 1M+ line codebase moved to CMake), Jenkins pipelines, and fault-tolerant servers and appliances.

CMake · Jenkins · Linux-HA · DRBD

Process, compliance and manufacturing

Onboarding documentation, FOSS license audits and automation, and factory tooling such as automated firmware flashing and feature-key provisioning.

onboarding · FOSS compliance · provisioning

About

I'm Mike Goins, founder and principal architect of Ballpeen Software, based in Jacksonville, Florida.

I spent nine years at Adtec, growing with the engineering team from about five people to fifteen while building embedded broadcast encoders and decoders. Since 2014 I've run Ballpeen full time. My clients are mostly embedded hardware startups and established broadcast vendors, and some of those relationships have lasted seven years.

The products I've worked on are deployed on thousands of live broadcast appliances, including major networks and most of the LPTV market. Before software I served on a Trident submarine in the U.S. Navy, which is where I learned to treat uptime as a requirement and not a feature.

  • Independent consultantScoped projects or ongoing work, since 2014
  • Technical leadArchitecture, code review, and mentoring
  • Team contributorEmbedded in your engineering team
  • EducationB.S. Computer and Information Sciences, cum laude, University of North Florida

How I work

Long-term relationships are the norm for me. Clients come back because the code ships and the next engineer can pick it up.

Retainer, contract or project

Hourly or fixed-scope work, or a standing block of 10 to 20 hours a week as your embedded engineering resource, without the cost of a full-time hire.

Remote or on site

Comfortable working fully remote. On-site work is available in the Jacksonville, Florida area, and travel is possible for key milestones.

Documented and handed off

I write onboarding docs and define developer processes so your team can run without me.

Toolbox

Languages
C, C++, Python, Bash, SQL
Embedded
Linux BSP, Buildroot, Yocto, PetaLinux, kernel modules, CMake, Autotools
Protocols
SRT, RIST, RTMP, RTSP, MPEG-TS, Multicast, ATSC3, SNMP
APIs and data
REST, JSON, XML, MySQL, MS-SQL, SQLite, MongoDB
DevOps
Jenkins, Git, Subversion, Linux-HA, DRBD

Have a hardware project that needs software?

Tell me what you're building and where it's stuck. I currently have capacity for 10 to 20 hours a week of new work. I'll reply personally, usually within a business day.

Hire me: mike@ballpeensoftware.com