Mark Bacon
Architect working on IoT, telecoms and connected embedded systems. These pages hold the guidelines, reference notes, primers and blog posts I write along the way, and the open-source tools I build for docs as code and device engineering.
Sections
GuidelinesEngineering guidelines: how to plan, design, build, review, release and run software.
StandardsCoding and platform standards for C, Python, MISRA, LwM2M and constrained IoT devices.
GuidesLong-form guides to IoT architecture, fleet operations, cyber security, testing and scaling.
Architecture HandbookPatterns, principles, API design and governance for software architecture.
PrimersShort introductions to architecture, cloud, IoT, security and methods. The Tech 101s.
ReferenceReference notes on architecture practice, C4, ADRs, RFCs and solution design.
GlossaryTerms used across software, IoT and architecture, A to Z.
Templates & ChecklistsChecklists and templates: design, code review, definition of done and ready, defects.
Tech RadarThe technologies, tools and methods I adopt, trial, assess or hold.
FirmitasA ways-of-working framework for engineering teams.
BlogPosts on software architecture, technical leadership and docs as code.
Projects
py-doc
Markdown technical documentation to Word, PowerPoint, PDF, HTML and web sites. It builds this site.
ctxlogkit
One-call Python logging with context on every line, in text and JSON.
OmniUART
Schema-driven UART protocol tool with a CLI, a script runner and a web UI.
BC660K dashboard
Real-time signal and cell dashboard for a Quectel BC660K NB-IoT modem.
reqtool
Git-backed YAML requirements management with traceability.