{"id":1158,"date":"2026-03-29T13:24:11","date_gmt":"2026-03-29T02:24:11","guid":{"rendered":"https:\/\/www.reefwing.com.au\/?page_id=1158"},"modified":"2026-03-29T13:26:06","modified_gmt":"2026-03-29T02:26:06","slug":"medium","status":"publish","type":"page","link":"https:\/\/www.reefwing.com.au\/?page_id=1158","title":{"rendered":"Medium"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.reefwing.com.au\/wp-content\/uploads\/2026\/03\/reefwing_create_a_banner_image_that_I_can_use_on_a_website._I_e6ec28bc-d212-4a4e-9a87-543b175fea72_3-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.reefwing.com.au\/wp-content\/uploads\/2026\/03\/reefwing_create_a_banner_image_that_I_can_use_on_a_website._I_e6ec28bc-d212-4a4e-9a87-543b175fea72_3-1.png\" alt=\"\" class=\"wp-image-1159\" srcset=\"https:\/\/www.reefwing.com.au\/wp-content\/uploads\/2026\/03\/reefwing_create_a_banner_image_that_I_can_use_on_a_website._I_e6ec28bc-d212-4a4e-9a87-543b175fea72_3-1.png 1024w, https:\/\/www.reefwing.com.au\/wp-content\/uploads\/2026\/03\/reefwing_create_a_banner_image_that_I_can_use_on_a_website._I_e6ec28bc-d212-4a4e-9a87-543b175fea72_3-1-300x300.png 300w, https:\/\/www.reefwing.com.au\/wp-content\/uploads\/2026\/03\/reefwing_create_a_banner_image_that_I_can_use_on_a_website._I_e6ec28bc-d212-4a4e-9a87-543b175fea72_3-1-150x150.png 150w, https:\/\/www.reefwing.com.au\/wp-content\/uploads\/2026\/03\/reefwing_create_a_banner_image_that_I_can_use_on_a_website._I_e6ec28bc-d212-4a4e-9a87-543b175fea72_3-1-768x768.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<style>\n  .medium-hero {\n    padding: 4rem 0 3rem;\n    border-bottom: 1px solid #d8dde0;\n    font-family: 'DM Sans', sans-serif;\n    -webkit-font-smoothing: antialiased;\n  }\n  .medium-hero h1 {\n    font-size: 2rem;\n    font-weight: 600;\n    letter-spacing: -0.5px;\n    line-height: 1.2;\n    color: #0f2b3c;\n    margin-bottom: 0.25rem;\n  }\n  .medium-hero-subtitle {\n    font-size: 1.15rem;\n    color: #2a9d8f;\n    font-weight: 500;\n    margin-bottom: 1rem;\n  }\n  .medium-hero-hook {\n    font-size: 1rem;\n    color: #5a6a72;\n    line-height: 1.7;\n    margin-bottom: 1.25rem;\n    max-width: 640px;\n  }\n  .medium-hero-meta {\n    display: flex;\n    gap: 0.6rem;\n    flex-wrap: wrap;\n    margin-bottom: 0.5rem;\n  }\n  .medium-badge {\n    font-size: 12px;\n    font-weight: 500;\n    padding: 4px 12px;\n    border-radius: 4px;\n    letter-spacing: 0.2px;\n    display: inline-block;\n  }\n  .medium-badge-navy { background: #0f2b3c; color: #ffffff; }\n  .medium-badge-teal { background: #e8f5f2; color: #1a7a6e; }\n  .medium-badge-amber { background: #fef7eb; color: #d4870e; }\n<\/style>\n\n<div class=\"medium-hero\">\n  <h1>Articles on Medium.<\/h1>\n  <div class=\"medium-hero-subtitle\">Embedded systems, AI, robotics, and edge deployment<\/div>\n  <p class=\"medium-hero-hook\">\n    In-depth technical articles covering everything from IMU sensor fusion and flight\n    controller design to machine learning on microcontrollers and custom PCB builds.\n    Published on Medium since 2017 with over 5,000 followers.\n  <\/p>\n  <div class=\"medium-hero-meta\">\n    <span class=\"medium-badge medium-badge-navy\">5,200+ Followers<\/span>\n    <span class=\"medium-badge medium-badge-teal\">100+ Articles<\/span>\n    <span class=\"medium-badge medium-badge-amber\">Multiple Publications<\/span>\n  <\/div>\n<\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<style>\n  .medium-section {\n    padding: 3rem 0;\n    border-bottom: 1px solid #d8dde0;\n    font-family: 'DM Sans', sans-serif;\n    -webkit-font-smoothing: antialiased;\n  }\n  .medium-section-label {\n    font-size: 11px;\n    font-weight: 600;\n    text-transform: uppercase;\n    letter-spacing: 1.5px;\n    color: #2a9d8f;\n    margin-bottom: 0.5rem;\n  }\n  .medium-section-title {\n    font-size: 1.4rem;\n    font-weight: 600;\n    color: #0f2b3c;\n    margin-bottom: 1rem;\n    letter-spacing: -0.3px;\n  }\n  .medium-pub-card {\n    border: 1px solid #d8dde0;\n    border-radius: 8px;\n    padding: 1.5rem 2rem;\n    background: #ffffff;\n    margin-bottom: 1rem;\n    transition: border-color 0.15s;\n  }\n  .medium-pub-card:hover { border-color: #2a9d8f; }\n  .medium-pub-card-header {\n    display: flex;\n    align-items: flex-start;\n    justify-content: space-between;\n    gap: 1rem;\n    margin-bottom: 0.75rem;\n  }\n  .medium-pub-card h3 {\n    font-size: 16px;\n    font-weight: 600;\n    color: #0f2b3c;\n    margin-bottom: 2px;\n  }\n  .medium-pub-card .medium-pub-tags {\n    font-size: 12px;\n    font-family: 'JetBrains Mono', monospace;\n    color: #2a9d8f;\n  }\n  .medium-pub-type {\n    font-size: 11px;\n    font-family: 'JetBrains Mono', monospace;\n    color: #1a7a6e;\n    background: #e8f5f2;\n    padding: 3px 10px;\n    border-radius: 4px;\n    flex-shrink: 0;\n  }\n  .medium-pub-card p {\n    font-size: 14px;\n    color: #5a6a72;\n    line-height: 1.6;\n    margin-bottom: 0.75rem;\n  }\n  .medium-pub-link {\n    color: #2a9d8f;\n    text-decoration: none;\n    font-weight: 500;\n    font-size: 14px;\n  }\n  .medium-pub-link:hover { text-decoration: underline; }\n\n  @media (max-width: 680px) {\n    .medium-pub-card-header { flex-direction: column; }\n  }\n<\/style>\n\n<div class=\"medium-section\">\n  <div class=\"medium-section-label\">Where I publish<\/div>\n  <div class=\"medium-section-title\">Publications<\/div>\n\n  <div class=\"medium-pub-card\">\n    <div class=\"medium-pub-card-header\">\n      <div>\n        <h3>Embedded AI<\/h3>\n        <span class=\"medium-pub-tags\">Editor &middot; Primary publication<\/span>\n      <\/div>\n      <span class=\"medium-pub-type\">Publication<\/span>\n    <\/div>\n    <p>\n      Embedded AI explores artificial intelligence and edge computing, focusing on how\n      intelligent systems can operate efficiently on resource-constrained devices. This is the\n      companion publication for the book and covers topics including on-device inference, sensor\n      fusion, model quantisation, and deployment on Arduino and Raspberry Pi hardware.\n    <\/p>\n    <a href=\"https:\/\/medium.com\/embedded-ai\" class=\"medium-pub-link\">\n      Read on Medium &rarr;\n    <\/a>\n  <\/div>\n\n  <div class=\"medium-pub-card\">\n    <div class=\"medium-pub-card-header\">\n      <div>\n        <h3>David Such on Medium<\/h3>\n        <span class=\"medium-pub-tags\">Personal profile &middot; All articles<\/span>\n      <\/div>\n      <span class=\"medium-pub-type\">Profile<\/span>\n    <\/div>\n    <p>\n      My full catalogue of articles, including pieces published across multiple Medium\n      publications. Topics range from embedded systems engineering and drone design through\n      to iOS app development, BeeWare and Python, and AI tooling. Stories appear in Embedded AI,\n      Towards AI, Level Up Coding, and under my own byline.\n    <\/p>\n    <a href=\"https:\/\/medium.com\/@reefwing\" class=\"medium-pub-link\">\n      View all articles &rarr;\n    <\/a>\n  <\/div>\n<\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<style>\n  .medium-section-warm {\n    padding: 3rem 0;\n    border-bottom: 1px solid #d8dde0;\n    background: #f8f6f3;\n    font-family: 'DM Sans', sans-serif;\n    -webkit-font-smoothing: antialiased;\n  }\n  .medium-section-intro {\n    font-size: 1rem;\n    color: #5a6a72;\n    margin-bottom: 1.5rem;\n    max-width: 640px;\n  }\n  .medium-series-grid {\n    display: flex;\n    flex-direction: column;\n    gap: 0.75rem;\n  }\n  .medium-series-card {\n    display: flex;\n    align-items: flex-start;\n    gap: 1rem;\n    padding: 1rem 1.25rem;\n    border: 1px solid #d8dde0;\n    border-radius: 8px;\n    background: #ffffff;\n    transition: border-color 0.15s;\n  }\n  .medium-series-card:hover { border-color: #2a9d8f; }\n  .medium-series-icon {\n    flex-shrink: 0;\n    width: 36px;\n    height: 36px;\n    background: #e8f5f2;\n    color: #1a7a6e;\n    border-radius: 6px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-size: 13px;\n    font-weight: 600;\n    font-family: 'JetBrains Mono', monospace;\n  }\n  .medium-series-icon-amber {\n    background: #fef7eb;\n    color: #d4870e;\n  }\n  .medium-series-icon-navy {\n    background: #0f2b3c;\n    color: #ffffff;\n  }\n  .medium-series-info h4 {\n    font-size: 14px;\n    font-weight: 600;\n    color: #0f2b3c;\n    margin-bottom: 2px;\n  }\n  .medium-series-tags {\n    font-size: 12px;\n    font-family: 'JetBrains Mono', monospace;\n    color: #2a9d8f;\n    margin-bottom: 4px;\n  }\n  .medium-series-desc {\n    font-size: 13px;\n    color: #5a6a72;\n    line-height: 1.5;\n  }\n<\/style>\n\n<div class=\"medium-section-warm\">\n  <div class=\"medium-section-label\">Featured series<\/div>\n  <div class=\"medium-section-title\">Long-form article series<\/div>\n  <p class=\"medium-section-intro\">\n    Several multi-part series have been published over the past few years. Each\n    takes a practical, build-it-yourself approach with open source code and real hardware.\n  <\/p>\n\n  <div class=\"medium-series-grid\">\n    <div class=\"medium-series-card\">\n      <div class=\"medium-series-icon\">11<\/div>\n      <div class=\"medium-series-info\">\n        <h4>How to Write Your Own Flight Controller Software<\/h4>\n        <div class=\"medium-series-tags\">Arduino &middot; Drones &middot; IMU &middot; PID &middot; AHRS<\/div>\n        <p class=\"medium-series-desc\">An 11-part series covering hardware requirements, PID control loops, IMU data processing, sensor fusion, serial communication (MSP), motor mixing, and brushless DC motor control. Based on the Arduino Nano 33 BLE.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"medium-series-card\">\n      <div class=\"medium-series-icon medium-series-icon-amber\">08<\/div>\n      <div class=\"medium-series-info\">\n        <h4>Arduino Nano Electronic Speed Controller<\/h4>\n        <div class=\"medium-series-tags\">ESC &middot; PCB Design &middot; DShot &middot; Hardware<\/div>\n        <p class=\"medium-series-desc\">An eight-part series on designing an Arduino Nano ESC carrier board. Covers schematic design, PCB layout, the DShot protocol, and motor testing.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"medium-series-card\">\n      <div class=\"medium-series-icon\">EA<\/div>\n      <div class=\"medium-series-info\">\n        <h4>Embedded AI Series<\/h4>\n        <div class=\"medium-series-tags\">Machine Learning &middot; Linear Regression &middot; Battery SoC &middot; Edge Deployment<\/div>\n        <p class=\"medium-series-desc\">A growing series building ML models from scratch for constrained devices. Covers the full machine learning process from theory through to deployment on Arduino, starting with linear regression and battery state-of-charge estimation.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"medium-series-card\">\n      <div class=\"medium-series-icon medium-series-icon-amber\">04<\/div>\n      <div class=\"medium-series-info\">\n        <h4>Adding a User Interface to ChatGPT with BeeWare<\/h4>\n        <div class=\"medium-series-tags\">Python &middot; BeeWare &middot; LLM &middot; Cross-Platform<\/div>\n        <p class=\"medium-series-desc\">A four-part series on building cross-platform desktop applications with BeeWare and integrating ChatGPT via the OpenAI API. Includes the open source Copy Editor application.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"medium-series-card\">\n      <div class=\"medium-series-icon medium-series-icon-navy\">DS<\/div>\n      <div class=\"medium-series-info\">\n        <h4>Designing a New Drone<\/h4>\n        <div class=\"medium-series-tags\">Magpie DS2 &middot; DS3 &middot; Open Source &middot; CAD<\/div>\n        <p class=\"medium-series-desc\">A multi-part series documenting the process of designing and building open source drone airframes, from CAD design through to flight testing.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<style>\n  .medium-topic-grid {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 1rem;\n  }\n  .medium-topic-card {\n    border: 1px solid #d8dde0;\n    border-radius: 8px;\n    padding: 1.25rem;\n    background: #ffffff;\n  }\n  .medium-topic-card h4 {\n    font-size: 14px;\n    font-weight: 600;\n    color: #0f2b3c;\n    margin-bottom: 0.4rem;\n  }\n  .medium-topic-card p {\n    font-size: 13px;\n    color: #5a6a72;\n    line-height: 1.5;\n  }\n\n  @media (max-width: 680px) {\n    .medium-topic-grid { grid-template-columns: 1fr; }\n  }\n<\/style>\n\n<div class=\"medium-section\">\n  <div class=\"medium-section-label\">Topics covered<\/div>\n  <div class=\"medium-section-title\">What I write about<\/div>\n\n  <div class=\"medium-topic-grid\">\n    <div class=\"medium-topic-card\">\n      <h4>Embedded Systems<\/h4>\n      <p>Arduino, Raspberry Pi, sensor libraries, IMU data processing, motor control, custom PCB design, and hardware interfacing. Most code is C++ with open source libraries published via the Arduino IDE Library Manager.<\/p>\n    <\/div>\n    <div class=\"medium-topic-card\">\n      <h4>Artificial Intelligence<\/h4>\n      <p>Machine learning on microcontrollers, model quantisation, neural network deployment on edge hardware, prompt engineering, and LLM integration. Companion content for the Embedded AI book.<\/p>\n    <\/div>\n    <div class=\"medium-topic-card\">\n      <h4>Robotics and Drones<\/h4>\n      <p>Flight controller firmware, AHRS and sensor fusion algorithms (Madgwick, Mahony, Kalman), ESC design, ADS-B flight tracking, and open source drone airframes.<\/p>\n    <\/div>\n    <div class=\"medium-topic-card\">\n      <h4>Software Development<\/h4>\n      <p>iOS and cross-platform app development, BeeWare and Python, browser-based games with ChatGPT, Arduino library design, and developer tooling.<\/p>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<style>\n  .medium-section-warm {\n    padding: 3rem 0;\n    border-bottom: 1px solid #d8dde0;\n    background: #f8f6f3;\n    font-family: 'DM Sans', sans-serif;\n    -webkit-font-smoothing: antialiased;\n  }\n  .medium-section-intro {\n    font-size: 1rem;\n    color: #5a6a72;\n    margin-bottom: 1.5rem;\n    max-width: 640px;\n  }\n  .medium-series-grid {\n    display: flex;\n    flex-direction: column;\n    gap: 0.75rem;\n  }\n  .medium-series-card {\n    display: flex;\n    align-items: flex-start;\n    gap: 1rem;\n    padding: 1rem 1.25rem;\n    border: 1px solid #d8dde0;\n    border-radius: 8px;\n    background: #ffffff;\n    transition: border-color 0.15s;\n  }\n  .medium-series-card:hover { border-color: #2a9d8f; }\n  .medium-series-icon {\n    flex-shrink: 0;\n    width: 36px;\n    height: 36px;\n    background: #e8f5f2;\n    color: #1a7a6e;\n    border-radius: 6px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    font-size: 13px;\n    font-weight: 600;\n    font-family: 'JetBrains Mono', monospace;\n  }\n  .medium-series-icon-amber {\n    background: #fef7eb;\n    color: #d4870e;\n  }\n  .medium-series-icon-navy {\n    background: #0f2b3c;\n    color: #ffffff;\n  }\n  .medium-series-info h4 {\n    font-size: 14px;\n    font-weight: 600;\n    color: #0f2b3c;\n    margin-bottom: 2px;\n  }\n  .medium-series-tags {\n    font-size: 12px;\n    font-family: 'JetBrains Mono', monospace;\n    color: #2a9d8f;\n    margin-bottom: 4px;\n  }\n  .medium-series-desc {\n    font-size: 13px;\n    color: #5a6a72;\n    line-height: 1.5;\n  }\n<\/style>\n\n<div class=\"medium-section-warm\">\n  <div class=\"medium-section-label\">Selected articles<\/div>\n  <div class=\"medium-section-title\">Popular standalone pieces<\/div>\n  <p class=\"medium-section-intro\">\n    Individual articles that cover a complete project or topic in a single post.\n  <\/p>\n\n  <div class=\"medium-series-grid\">\n    <div class=\"medium-series-card\">\n      <div class=\"medium-series-icon\">&#9738;<\/div>\n      <div class=\"medium-series-info\">\n        <h4>BirdNET-Pi: Using AI to Identify Birds from Their Songs<\/h4>\n        <div class=\"medium-series-tags\">Raspberry Pi &middot; AI &middot; Audio Classification<\/div>\n        <p class=\"medium-series-desc\">Setting up a BirdNET-Pi station to identify bird species from their calls using machine learning on a Raspberry Pi.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"medium-series-card\">\n      <div class=\"medium-series-icon medium-series-icon-amber\">&#9992;<\/div>\n      <div class=\"medium-series-info\">\n        <h4>Flight Tracking (ADS-B) Using the Raspberry Pi<\/h4>\n        <div class=\"medium-series-tags\">ADS-B &middot; SDR &middot; FlightAware &middot; Raspberry Pi<\/div>\n        <p class=\"medium-series-desc\">Building an ADS-B ground station with a software-defined radio and PiAware to track aircraft in real time.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"medium-series-card\">\n      <div class=\"medium-series-icon medium-series-icon-navy\">&#9881;<\/div>\n      <div class=\"medium-series-info\">\n        <h4>Designing Your Own Arduino UNO Motor Shield<\/h4>\n        <div class=\"medium-series-tags\">PCB &middot; Arduino &middot; DC Motors &middot; Hardware<\/div>\n        <p class=\"medium-series-desc\">Complete walkthrough of designing and manufacturing a custom Arduino motor shield for a robot rover, including schematic design and layout.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"medium-series-card\">\n      <div class=\"medium-series-icon\">AI<\/div>\n      <div class=\"medium-series-info\">\n        <h4>Creating a Custom AI Using GPT Builder and Your Data<\/h4>\n        <div class=\"medium-series-tags\">OpenAI &middot; GPT Builder &middot; Custom GPTs<\/div>\n        <p class=\"medium-series-desc\">How to build a custom chatbot using OpenAI&#8217;s GPT Builder with your own data, demonstrated through a trivia game application.<\/p>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<style>\n  .medium-section-podcast {\n    padding: 3rem 0;\n    border-bottom: 1px solid #d8dde0;\n    font-family: 'DM Sans', sans-serif;\n    -webkit-font-smoothing: antialiased;\n  }\n  .medium-section-podcast .medium-section-label {\n    font-size: 11px;\n    font-weight: 600;\n    text-transform: uppercase;\n    letter-spacing: 1.5px;\n    color: #2a9d8f;\n    margin-bottom: 0.5rem;\n  }\n  .medium-section-podcast .medium-section-title {\n    font-size: 1.4rem;\n    font-weight: 600;\n    color: #0f2b3c;\n    margin-bottom: 1rem;\n    letter-spacing: -0.3px;\n  }\n  .medium-podcast-card {\n    background: #0f2b3c;\n    border-radius: 8px;\n    padding: 1.5rem 2rem;\n    color: #ffffff;\n  }\n  .medium-podcast-card h3 {\n    font-size: 16px;\n    font-weight: 600;\n    margin-bottom: 0.5rem;\n    font-family: 'JetBrains Mono', monospace;\n  }\n  .medium-podcast-card p {\n    font-size: 14px;\n    color: rgba(255,255,255,0.7);\n    margin-bottom: 1rem;\n    line-height: 1.6;\n  }\n  .medium-podcast-link {\n    color: #2a9d8f;\n    text-decoration: none;\n    font-weight: 500;\n    font-size: 14px;\n  }\n  .medium-podcast-link:hover { text-decoration: underline; }\n<\/style>\n\n<div class=\"medium-section-podcast\">\n  <div class=\"medium-section-label\">Podcast<\/div>\n  <div class=\"medium-section-title\">Embedded AI Podcast<\/div>\n  <div class=\"medium-podcast-card\">\n    <h3>Embedded AI<\/h3>\n    <p>\n      A companion podcast exploring embedded artificial intelligence, edge computing,\n      and the intersection of hardware and machine learning. Available on major podcast\n      platforms.\n    <\/p>\n    <a href=\"https:\/\/embeddedai.buzzsprout.com\/\" class=\"medium-podcast-link\">\n      Listen on Buzzsprout &rarr;\n    <\/a>\n  <\/div>\n<\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<style>\n  .medium-also-section {\n    padding: 3rem 0;\n    border-bottom: 1px solid #d8dde0;\n    background: #f8f6f3;\n    font-family: 'DM Sans', sans-serif;\n    -webkit-font-smoothing: antialiased;\n  }\n  .medium-also-label {\n    font-size: 11px;\n    font-weight: 600;\n    text-transform: uppercase;\n    letter-spacing: 1.5px;\n    color: #2a9d8f;\n    margin-bottom: 0.5rem;\n  }\n  .medium-also-title {\n    font-size: 1.4rem;\n    font-weight: 600;\n    color: #0f2b3c;\n    margin-bottom: 1rem;\n    letter-spacing: -0.3px;\n  }\n  .medium-also-intro {\n    font-size: 1rem;\n    color: #5a6a72;\n    margin-bottom: 1.5rem;\n    max-width: 640px;\n  }\n  .medium-also-grid {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 1rem;\n  }\n  .medium-also-card {\n    border: 1px solid #d8dde0;\n    border-radius: 8px;\n    padding: 1.25rem;\n    background: #ffffff;\n  }\n  .medium-also-card h4 {\n    font-size: 14px;\n    font-weight: 600;\n    color: #0f2b3c;\n    margin-bottom: 0.4rem;\n  }\n  .medium-also-card p {\n    font-size: 13px;\n    color: #5a6a72;\n    line-height: 1.5;\n  }\n\n  @media (max-width: 680px) {\n    .medium-also-grid { grid-template-columns: 1fr; }\n  }\n<\/style>\n\n<div class=\"medium-also-section\">\n  <div class=\"medium-also-label\">Also published in<\/div>\n  <div class=\"medium-also-title\">Medium publications<\/div>\n  <p class=\"medium-also-intro\">\n    In addition to the Embedded AI publication, articles have appeared in the following\n    Medium publications.\n  <\/p>\n  <div class=\"medium-also-grid\">\n    <div class=\"medium-also-card\">\n      <h4>Towards AI<\/h4>\n      <p>A leading AI and technology publication on Medium. Articles covering machine learning fundamentals and AI tooling.<\/p>\n    <\/div>\n    <div class=\"medium-also-card\">\n      <h4>Level Up Coding<\/h4>\n      <p>A software engineering publication. Articles on cross-platform development, Python tooling, and developer workflows.<\/p>\n    <\/div>\n  <\/div>\n<\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<style>\n  .medium-footer-cta {\n    background: #f8f6f3;\n    text-align: center;\n    padding: 3rem 0;\n    font-family: 'DM Sans', sans-serif;\n    -webkit-font-smoothing: antialiased;\n  }\n  .medium-footer-cta h2 {\n    font-size: 1.3rem;\n    font-weight: 600;\n    color: #0f2b3c;\n    margin-bottom: 0.5rem;\n  }\n  .medium-footer-cta p {\n    font-size: 14px;\n    color: #5a6a72;\n    margin-bottom: 1.5rem;\n  }\n  .medium-footer-btn {\n    display: inline-block;\n    padding: 10px 24px;\n    border-radius: 6px;\n    font-size: 14px;\n    font-weight: 500;\n    text-decoration: none;\n    transition: all 0.15s;\n    cursor: pointer;\n    border: none;\n    margin: 0 0.4rem;\n  }\n  .medium-footer-btn-primary {\n    background: #2a9d8f;\n    color: #ffffff;\n  }\n  .medium-footer-btn-primary:hover { background: #248a7e; }\n  .medium-footer-btn-outline {\n    background: transparent;\n    color: #0f2b3c;\n    border: 1px solid #d8dde0;\n  }\n  .medium-footer-btn-outline:hover { border-color: #0f2b3c; }\n<\/style>\n\n<div class=\"medium-footer-cta\">\n  <h2>Follow on Medium for new articles<\/h2>\n  <p>Technical deep dives on embedded AI, sensor fusion, and edge deployment. Published fortnightly.<\/p>\n  <a href=\"https:\/\/medium.com\/@reefwing\" class=\"medium-footer-btn medium-footer-btn-primary\">\n    Follow on Medium &rarr;\n  <\/a>\n  <a href=\"https:\/\/www.reefwing.com.au\/embedded-ai\" class=\"medium-footer-btn medium-footer-btn-outline\">\n    About the book\n  <\/a>\n<\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Articles on Medium. Embedded systems, AI, robotics, and edge deployment In-depth technical articles covering everything from IMU sensor fusion and flight controller design to machine learning on microcontrollers and custom PCB builds. Published on Medium since 2017 with over 5,000 followers. 5,200+ Followers 100+ Articles Multiple Publications Where I publish Publications Embedded AI Editor &middot; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"class_list":{"0":"post-1158","1":"page","2":"type-page","3":"status-publish","5":"entry"},"_links":{"self":[{"href":"https:\/\/www.reefwing.com.au\/index.php?rest_route=\/wp\/v2\/pages\/1158","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.reefwing.com.au\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.reefwing.com.au\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.reefwing.com.au\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.reefwing.com.au\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1158"}],"version-history":[{"count":2,"href":"https:\/\/www.reefwing.com.au\/index.php?rest_route=\/wp\/v2\/pages\/1158\/revisions"}],"predecessor-version":[{"id":1162,"href":"https:\/\/www.reefwing.com.au\/index.php?rest_route=\/wp\/v2\/pages\/1158\/revisions\/1162"}],"wp:attachment":[{"href":"https:\/\/www.reefwing.com.au\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1158"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}