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 doWhat 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.
Streaming and transport
Streaming and transfer protocols implemented on constrained MPEG-TS appliances, built to behave on real networks.
ATSC 3.0
Design and development of ATSC3 signaling and gateway servers, in use by clients serving broadcast networks.
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.
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.
Process, compliance and manufacturing
Onboarding documentation, FOSS license audits and automation, and factory tooling such as automated firmware flashing and feature-key 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