The One Engineer Dev Shop

Chris Gammell

Presented at the Hackaday Superconference 2022

Define "Dev Shop"

"Dev(elopment) Shop"

A development shop is a company that provides services of building a product or service, or else or updating existing products for external customers.

Some of them are huge! 

Hundreds of employees

10s of simultaneous projects

Full Service Shops

 

  • Hardware design
  • Software design 
  • Mechanical design
  • Cloud design
  • App design
  • Brand design
  • Industrial design

Support Services

 

  • Manufacturing liaison
  • Project management
  • Accounting
  • Purchasing / procurement
  • HR

These roles will be the basis
for our discussion

Why would you want to do more of the work?

As a "One Engineer Dev Shop" (OEDS)

Bill more hours

Learn / Build more skills

  • Maybe you can bill more later
  • Maybe you can build your own project using those skills later

Less communication overhead

  • Potential cost savings for client

"Perfect is the enemy of the good"

  • For things like a proof-of-concept (POC), you expect to revise things later
  • The important thing in a POC or prototype is often showing everything working together in some form.
  • Premature optimization will waste your client's money.

It's fun / rewarding / empowering

Why does Hackaday care?

  • Building projects for the Hackaday Prize!
  • Self reliance when building any project
  • Going out on your own

Caveats

The Lone Wolf Engineer is a Myth

  • CMs and providers have huge teams
  • Software / tools are developed by many people
  • Just because you outsource doesn't mean you're doing everything

Image: https://tinyurl.com/2faybh8y

Just because you can, doesn't mean you should

  • Always talk to your clients about what they want you to take on. Some say, "I don't want to have to think about it"
  • A key skill is understanding when to hand off a part of the project to a specialist because that will be a better experience for your end client.

Image:  https://tinyurl.com/2p8avvda

Just because you can, doesn't mean you should

  •  Outsourcing labor will be a major component, so some of the money spent on the OEDS is for overhead/management of others
    • Using starter projects / templates
    • Less defensible / original work
    • Less polish of the final product, and of the 

Image:  https://tinyurl.com/2p8avvda

I am no longer a full time OEDS

  • I work within a development team full time at Golioth
  • I still get to work similar to an OEDS building Reference Designs
  • I still do some small consulting work for old clients

Electrical Engineering

Overview

  • EE Design
  • PCB manufacturing
  • Assembly
  • Testing

Design

  • More integrated, integrated circuits
    • SIPs
    • SOMs
    • RF combos
  • Availability of design resources
    • Vendor reference designs
    • Vendor design reviews (!)
    • FAE support
    • Online tools like WebBench
  • Tools 
    • Open source programs like KiCad

PCBs

  • The rise of low-cost board houses
    • Process improvements
      • 4 and 6 layer boards are marginal cost upgrades.
        • I start almost every design at 4 layers to cut down on layout complexity and prep for RF on a design.
      • Better process control means low cost boards are "good enough" for simple RF / controlled impedance.
    • Speed improvements
    • Hands-off process
  • Error checking
    • Built in DRC for almost every platform

Assembly - in-lab

  • Assembly equipment in the prosumer realm has exploded, again powered by China
    • Stencils eaiser than ever, often with PCBs
    • Low cost and open source PnP like the Lumen 
    • Reflow machines like the T962 (hacked)
    • Prosumer things like the Vapor Phase One for increasingly complex 

Assembly - Outsource

  • Offloading the time burden of assembly
  • Cost / complexity of assembly coming down (China)
  • No-touch / low-touch assembly
    • MacroFab
    • CircuitHub
    • Eurocircuits
    • Aisler
  • Quickturn assembly houses (domestic)

Assembly (con't)

  • Other contributing factors
    • More integration of chipsets make it easier to put down fewer components, sometimes in larger parts like the Octavo SIP.
    • Off the shelf modules allows you to pull more complex layouts into simpler designs (ie. CM4)

Testing

  • Building out a home lab has never been easier
  • The capabilities of low- to mid-grade equipment has risen. You now get "more for your money" in terms of specifications.
  • Specialized tools for optimizing processes like the Joulescope

Firmware Engineering

Overview

 

  • Reference Firmware
  • Ecosystems
  • Build tools / automation

Reference firmware

  • A good chunk of the IP still comes from silicon vendors
    • Reference designs
    • Example code
    • Configurator tools
    • FAE support
  • Libraries from module makers

Ecosystems

  • Software frameworks often are morphing into total ecosystems
  • It's no longer just a way of writing firmware, it's a way of choosing hardware that maximizes
  • An RTOS that acts as an ecosystem 
    • Zephyr RTOS cross platform support driven by vendors
    • Also a range of sensors and other drivers built in
  • An Ecosystem that is developing more into an RTOS
    • Arduino ecosystem continues to have support from community and industry
  • In all cases, choosing an ecosystem is an efficiency boost that allows you to speed up your work and do more with less (people)

Build tools / automation

  • CI/CD finally coming to the world of embedded in a larger way
  • Potentially allows you to remove more of the testing infrastructure (your first test engineer) by building that in.
  • Can be extended with hardware tools working with the design/test loop
    • Blue Clover 
    • Lager Data

https://interrupt.memfault.com/blog/continuous-integration-for-firmware

https://bcdevices.com/

Mechanical Engineering

Overview

  • Accessible 3D modeling
  • Machines
  • Digital fabrication services

Accessible 3D modeling

  • Not calling out open source because it's still somewhat limited
    • FreeCAD and OpenSCAD exist but aren't at the same level
  • Built-in CAM
    • Enables working with machines (next page)
  • Vendor provided models (STEP files)
    • Able to understand if a part will work mechanically without it shipping to you, speeding up processes.
    • 3D models delivered to clients look better

Machines

  • Affordable machines
    • 3D printers, including resin based printers
    • Milling machines, routing tables
    • Laser cutters
    • 2D cutters like vinyl cutters
  • On site machines are normally not going to be super high end for a OEDS, but they allow much faster iteration

Digital Fabrication Services

  • Better access than in-house machines
    • Less maintenance
    • Less expert knowledge required
    • "Pay for what you use" allows more access to higher-end / better resolution processes
    • Wider variety of materials
  • 3D printing - Shapeways, Sculpteo, Make.xyz
  • Sheet metal - OSHCut, Send Cut S
  • Laser cutting - Ponoko
  • Generic machining - Hubs, Fictiv

Software Engineering - Device

Overview

  • Hardware as code
  • Prevalence of Linux systems

Hardware as code

(Code as hardware?)

  • Being able to pull additional functions in house
  • FPGAs allowing much faster iteration cycles on complex tasks
  • Open toolchain (Yosys, nextpnr)

Hardware designers reacting to FPGAs being called software

Also, Software designers calling verilog 'software'

Linux accessibility

  • Raspberry Pi  or BeagleBone being pulling into a POC
    • And having the ability to migrate to prod in some form
  • Building out more advanced tooling using things like Buildroot and Yocto (not necessarily easy, but accessible)
  • Starting from known images is the time saver

Software Engineering - Frontend / Backend

Overview

  • Backend
    • Cloud services and scaling
    • Easily deployed infrastructure
  • Front end
    • Low code / No code
    • App / Web frameworks

Cloud services and Scaling

  • It's possible to stand up significan infrastructure if you want
    • AWS
    • Azure
    • Google Cloud
  • There are specialized services dedicated to hosting services for your device deployment
    • Golioth 
    • Vertical hardware platforms

Easily deployed infrastructure

  • Standardized and repeatibles ways to launch infrastructure
  • Marketplaces of IP so you don't need to 
    • AWS EC2 Amazon Machine Images (AMI)
    • DigitalOcean Marketplace

Low-Code and No-Code Platforms

  • Visualizing data and giving your end customer a way to interact with devices has continued to get easier and more polished
    • Grafana
    • Ubidots
    • Datacake

App / Web frameworks

  • Speeding up deploying an app POC
  • Another version of templating but for a front end
  • Doesn't necessarily to be native app (Android/iPhone)
    • Browsers on phones can approximate the same functions

Industrial and Brand Design

Overview

  • Tools filtering down the chain
  • Outsourcing

Tool accessiblity

  • Tools moving to monthly costs, so less up front investment
  • Even open source tools improving usability
  • Parts of functionality built into other tools
    • 3D rendering built into things like CAD programs
  • Better interoperability
    • More interchange formats
    • Even if not working on final design, can hand off to a specialist

Outsourcing

  •  Marketplace systems
    • Fiverr
    • Upwork
    • 99 Designs

Manufacturing Liason

Overview

  • PLM tools

PLM Tools

  • Tracking changes over the life of the project
    • OpenBOM
    • Duro
  • Tracking parts
    • PartsBox.io
    • FindChips.com
  • No-touch / low-touch assembly
    • MacroFab
    • CircuitHub
    • Eurocircuits
    • Aisler

Project Management

Overview

  • Workflow tools

Workflow tools / software

  • Normally you will be at the mercy of your client
  • Interfacing directly can help cut down on tracking, depending on the relationship with your client
    • Monday.com, Trello, Jira
  • Communication tools for outside entities
    • Discord, Slack

Supporting roles

Roles

  • Accounting
  • Purchasing / Procurement
  • Shipping
  • HR
  • Marketing
  • Sales

Workflow tools / software

  • Accounting
    • Quickbooks Online / Zoho books
  • Purchasing / Procurement
    • Digikey / Mouser tools
  • HR
    • Toggl / ManicTime
  • Marketing
    • Buffer / Wordpress
  • Sales
    • Shopify / DK Marketplace / Tindie 

Thank you, Consulting Forum

 

If you want to apply to join: https://tinyurl.com/consultant-forum

Thank you!

 

Twitter: @Chris_Gammell

Mastadon: @Chris_Gammell@choas.social

E-mail: chris@analoglife.co

The One Engineer Dev Shop

By Chris Gammell

The One Engineer Dev Shop

Hackaday Superconference 2022

  • 639