{"@attributes":{"version":"2.0"},"channel":{"title":"cdwilson.dev","link":"https:\/\/cdwilson.dev\/","description":"Recent content on cdwilson.dev","generator":"Hugo","language":"en","item":[{"title":"I bet you can't RE this receipt","link":"https:\/\/cdwilson.dev\/articles\/i-bet-you-cant-re-this-receipt\/","pubDate":"Wed, 21 Jan 2026 00:00:00 +0000","guid":"https:\/\/cdwilson.dev\/articles\/i-bet-you-cant-re-this-receipt\/","description":"<p>I will send $100 to the first person who can reverse engineer how <a href=\"https:\/\/www.target.com\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">Target<\/a> calculated the $162.10 total amount on this receipt.<\/p>\n<p>This is not a joke. I&rsquo;m totally serious.<\/p>\n<h2 id=\"rules\">\n  Rules\n  <a class=\"heading-link\" href=\"#rules\">\n    <i class=\"fa-solid fa-link\" aria-hidden=\"true\" title=\"Link to heading\"><\/i>\n    <span class=\"sr-only\">Link to heading<\/span>\n  <\/a>\n<\/h2>\n<p>The first person to build me a spreadsheet showing exactly how the $162.10 total amount is calculated (step-by-step with explanation, including how to calculate the $64.67 taxable amount in the red box), will be sent $100 via Venmo, PayPal, etc.<\/p>"},{"title":"Hackaday Supercon 2024","link":"https:\/\/cdwilson.dev\/articles\/hackaday-supercon-2024\/","pubDate":"Thu, 07 Nov 2024 00:00:00 +0000","guid":"https:\/\/cdwilson.dev\/articles\/hackaday-supercon-2024\/","description":"<p>\n\n\n\n<a href=\"images\/image-20241107200028411.png\">\n  <img src=\"images\/image-20241107200028411.png\" alt=\"\" class=\"center\" \/>\n<\/a>\n\n<\/p>\n<p>I finally got a chance to sit down and reflect on this past weekend at <a href=\"https:\/\/hackaday.io\/superconference\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">Hackaday Supercon 2024<\/a>.<\/p>\n<p>You might expect that a post about Supercon would be all about <a href=\"https:\/\/www.youtube.com\/watch?v=Iz-HrZkzUlk&amp;t=5124s\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">epic badge hacks<\/a>, or a recap of interesting <a href=\"https:\/\/hackaday.io\/superconference\/schedule.html\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">talks<\/a>, or photos of the (surprisingly good for a conference) food that I ate \ud83c\udf2e<\/p>\n<p>But what I really want to do is tell you a story of how the <strong>kindness<\/strong> and <strong>generosity<\/strong> of a bunch of random people made my first Supercon&hellip; well&hellip; SuperFUN!<\/p>"},{"title":"2024 mid-year update","link":"https:\/\/cdwilson.dev\/articles\/2024-mid-year-update\/","pubDate":"Wed, 26 Jun 2024 00:00:00 +0000","guid":"https:\/\/cdwilson.dev\/articles\/2024-mid-year-update\/","description":"<p>It&rsquo;s been a little while since I&rsquo;ve posted anything new here, but that doesn&rsquo;t mean I&rsquo;ve been resting on my laurels!<\/p>\n<p>Here&rsquo;s what (and where) I&rsquo;ve been writing recently \ud83d\udc68\ud83c\udffb\u200d\ud83d\udcbb<\/p>\n<h1 id=\"content-for-clients\">\n  Content for clients\n  <a class=\"heading-link\" href=\"#content-for-clients\">\n    <i class=\"fa-solid fa-link\" aria-hidden=\"true\" title=\"Link to heading\"><\/i>\n    <span class=\"sr-only\">Link to heading<\/span>\n  <\/a>\n<\/h1>\n<p>Over the last year, I&rsquo;ve been doing some Zephyr-related technical writing for the <a href=\"https:\/\/blog.golioth.io\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">Golioth blog<\/a>.<\/p>\n<p>You can see the full list of articles I&rsquo;ve contributed at <a href=\"https:\/\/blog.golioth.io\/author\/cdwilson\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">https:\/\/blog.golioth.io\/author\/cdwilson\/<\/a><\/p>\n<h1 id=\"common-ground-electronics\">\n  Common Ground Electronics\n  <a class=\"heading-link\" href=\"#common-ground-electronics\">\n    <i class=\"fa-solid fa-link\" aria-hidden=\"true\" title=\"Link to heading\"><\/i>\n    <span class=\"sr-only\">Link to heading<\/span>\n  <\/a>\n<\/h1>\n<p>In addition to authoring technical content for clients, I&rsquo;m also starting to write about embedded systems and IoT-related topics on the <a href=\"https:\/\/cgnd.dev\/posts\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">Common Ground Electronics blog<\/a>. So far, I&rsquo;ve written about how to <a href=\"https:\/\/cgnd.dev\/posts\/enforce-zephyr-code-quality-pre-commit\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">enforce Zephyr code quality with pre-commit<\/a> and my experience <a href=\"https:\/\/cgnd.dev\/posts\/golioth-wifi-serial-logger-prototype\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">prototyping a WiFi serial logger with Golioth<\/a>. I also just posted a <a href=\"https:\/\/cgnd.dev\/posts\/2024-mid-year-retrospective\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">mid-year retrospective<\/a> where I talk about how the business was started and what I\u2019ve been working on over the last year.<\/p>"},{"title":"A better difftool for KiCad","link":"https:\/\/cdwilson.dev\/articles\/a-better-difftool-for-kicad\/","pubDate":"Mon, 06 Feb 2023 00:00:00 +0000","guid":"https:\/\/cdwilson.dev\/articles\/a-better-difftool-for-kicad\/","description":"<p>It can be difficult to tell what has actually changed when running <code>git difftool<\/code> on a <code>.kicad_pcb<\/code> file because KiCad embeds timestamps into the file that change when the file is modified:<\/p>\n<p>\n\n\n\n<a href=\"images\/difftool_timestamp_changes.png\">\n  <img src=\"images\/difftool_timestamp_changes.png\" alt=\"difftool_timestamp_changes\" class=\"center\" \/>\n<\/a>\n\n<\/p>\n<p>Luckly, we can tell <code>git<\/code> to use a <a href=\"https:\/\/git-scm.com\/docs\/git-difftool#Documentation\/git-difftool.txt--tlttoolgt\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">custom difftool<\/a> using the <code>--tool=&lt;tool&gt;<\/code> argument.<\/p>\n<p>First, we need to create a custom shell script to pass to <code>git difftool --tool=&lt;tool&gt;<\/code>. I use <a href=\"https:\/\/kaleidoscope.app\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">Kaleidoscope.app<\/a> as my git difftool on macOS, so I named this script  <code>kicad-ksdiff<\/code> and put it a directory on my <code>$PATH<\/code>:<\/p>"},{"title":"KiCad database libraries on macOS","link":"https:\/\/cdwilson.dev\/articles\/kicad-database-libraries-on-macos\/","pubDate":"Wed, 14 Dec 2022 00:00:00 +0000","guid":"https:\/\/cdwilson.dev\/articles\/kicad-database-libraries-on-macos\/","description":"<div class=\"notice info\">\n  <div class=\"notice-title\">\n    <i class=\"fa-solid fa-exclamation-circle\" aria-hidden=\"true\"><\/i>Info\n  <\/div>\n  <div class=\"notice-content\"><p>On December 11, 2022 the KiCad team <a href=\"https:\/\/social.adamwolf.org\/@adamwolf\/109496840211680309\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">announced<\/a> support for macOS universal builds in the 6.99 <a href=\"https:\/\/www.kicad.org\/download\/macos\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">nightly releases<\/a>. Using a universal build greatly simplifies the process of setting up database libraries and is <em>strongly recommended<\/em>. If you are using an older <code>x86_64<\/code> nightly build released before December 12, 2022 on a Mac with Apple Silicon (i.e. the file does <em>NOT<\/em> start with <code>kicad-unified-universal<\/code>), make sure to follow the old instructions found here:<\/p>"},{"title":"Set KICAD_DOCUMENTS_HOME on macOS","link":"https:\/\/cdwilson.dev\/articles\/set-kicad-documents-home-on-macos\/","pubDate":"Tue, 06 Dec 2022 00:00:00 +0000","guid":"https:\/\/cdwilson.dev\/articles\/set-kicad-documents-home-on-macos\/","description":"<h1 id=\"kicad-documents-home\">\n  KiCad Documents Home\n  <a class=\"heading-link\" href=\"#kicad-documents-home\">\n    <i class=\"fa-solid fa-link\" aria-hidden=\"true\" title=\"Link to heading\"><\/i>\n    <span class=\"sr-only\">Link to heading<\/span>\n  <\/a>\n<\/h1>\n<p>KiCad 6.x introduced the concept of the &ldquo;KiCad Documents Home&rdquo; base directory, described as the:<\/p>\n<blockquote>\n<p>Base path of KiCad user-modifiable documents, such as projects, templates, Python scripts, libraries, etc. Subdirectories will be created within this directory for each KiCad minor version. This directory is provided as a suggested user data location, but does not need to be used.<\/p><\/blockquote>\n<p>By default, KiCad creates this folder in <code>~\/Documents\/KiCad\/<\/code>:<\/p>"},{"title":"KiCad database libraries on Apple Silicon","link":"https:\/\/cdwilson.dev\/articles\/kicad-database-libraries-on-apple-silicon\/","pubDate":"Fri, 04 Nov 2022 00:00:00 +0000","guid":"https:\/\/cdwilson.dev\/articles\/kicad-database-libraries-on-apple-silicon\/","description":"<div class=\"notice warning\">\n  <div class=\"notice-title\">\n    <i class=\"fa-solid fa-exclamation-triangle\" aria-hidden=\"true\"><\/i>Warning\n  <\/div>\n  <div class=\"notice-content\"><p>On December 11, 2022 the KiCad team <a href=\"https:\/\/social.adamwolf.org\/@adamwolf\/109496840211680309\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">announced<\/a> support for macOS universal builds in the 6.99 <a href=\"https:\/\/www.kicad.org\/download\/macos\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">nightly releases<\/a>. Using a universal build greatly simplifies the process of setting up database libraries and is <em>strongly recommended<\/em>. If you are using a universal nightly build released after December 12, 2022 (the file starts with <code>kicad-unified-universal<\/code>), make sure to follow the updated instructions found here:<\/p>\n<p><a href=\"https:\/\/cdwilson.dev\/articles\/kicad-database-libraries-on-macos\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">https:\/\/cdwilson.dev\/articles\/kicad-database-libraries-on-macos\/<\/a><\/p><\/div>\n<\/div>\n\n<h1 id=\"overview\">\n  Overview\n  <a class=\"heading-link\" href=\"#overview\">\n    <i class=\"fa-solid fa-link\" aria-hidden=\"true\" title=\"Link to heading\"><\/i>\n    <span class=\"sr-only\">Link to heading<\/span>\n  <\/a>\n<\/h1>\n<p>A new &ldquo;Database Libraries&rdquo; feature was <a href=\"https:\/\/gitlab.com\/kicad\/code\/kicad\/-\/issues\/7436\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">recently added<\/a> to the KiCad <a href=\"https:\/\/downloads.kicad.org\/kicad\/macos\/explore\/nightlies\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">macOS Nightlies<\/a> (6.99) and is scheduled to be officially released in KiCad 7. Here&rsquo;s an overview from the <a href=\"https:\/\/docs.kicad.org\/master\/en\/eeschema\/eeschema.html#database_libraries\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">documentation<\/a>:<\/p>"},{"title":"40% keymap for Keyboardio Model 100","link":"https:\/\/cdwilson.dev\/articles\/40-percent-keymap-for-keyboardio-model-100\/","pubDate":"Sun, 30 Oct 2022 00:00:00 +0000","guid":"https:\/\/cdwilson.dev\/articles\/40-percent-keymap-for-keyboardio-model-100\/","description":"<p>After backing the wildly successful <a href=\"https:\/\/shop.keyboard.io\/pages\/model100\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">Keyboardio Model 100<\/a> <a href=\"https:\/\/www.kickstarter.com\/projects\/keyboardio\/model-100\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">Kickstarter campaign<\/a> last year, I finally received my keyboard in the mail \ud83e\udd73<\/p>\n<p>\n\n\n\n<a href=\"images\/model100_desk.png\">\n  <img src=\"images\/model100_desk.png\" alt=\"Model 100 Desk\" class=\"center\" \/>\n<\/a>\n\n<\/p>\n<p>The keyboard is \u2728beautiful\u2728 and the custom-sculpted keycaps feel really great to type on.  After using the Model 100 for a couple weeks now, I&rsquo;ve finally settled on a 40%-ish (3 rows of keys) keymap that feels really natural for me.<\/p>\n<p>Although this keymap works really well for me personally, it&rsquo;s probably not the right keymap for everyone. The Model 100 is a roughly 60%-ish (4 rows of keys) keyboard, so <strong>it may seem odd that I&rsquo;m only using 44 of the 64 available keys on the keyboard<\/strong>. I thought it might be interesting to walk through my thought process step-by-step and discuss some of the requirements that drove the decisions about where to map each key.<\/p>"},{"title":"USB over IP with VirtualHere","link":"https:\/\/cdwilson.dev\/articles\/usb-over-ip-with-virtualhere\/","pubDate":"Tue, 05 Jul 2022 00:00:00 +0000","guid":"https:\/\/cdwilson.dev\/articles\/usb-over-ip-with-virtualhere\/","description":"<p>Raise your hand if you&rsquo;re tired of having a spaghetti mess of USB hubs and dongles hanging off your laptop?  \ud83d\ude4b\ud83c\udffb\u200d\u2642\ufe0f<\/p>\n<p>I&rsquo;m going to show you how to leave all those USB devices behind and remotely connect to them over the network instead.  Yup, you heard right\u2013you&rsquo;ll <em>finally<\/em> be able to work from a <a href=\"https:\/\/mgsloan.com\/posts\/tree-based-computing\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">laptop tied to a tree<\/a>!  (or at least from the comfort of your own couch\u2026)<\/p>\n<h1 id=\"virtualhere\">\n  VirtualHere\n  <a class=\"heading-link\" href=\"#virtualhere\">\n    <i class=\"fa-solid fa-link\" aria-hidden=\"true\" title=\"Link to heading\"><\/i>\n    <span class=\"sr-only\">Link to heading<\/span>\n  <\/a>\n<\/h1>\n<p>A while back, I was looking for a way to fire up the debugger on a <a href=\"https:\/\/www.st.com\/en\/evaluation-tools\/stm32-nucleo-boards.html\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">STM32 NUCLEO development board<\/a> without having the board directly connected to one of my laptop&rsquo;s USB ports.<\/p>"},{"title":"DIY home office electronics workspace","link":"https:\/\/cdwilson.dev\/articles\/diy-home-office-electronics-workspace\/","pubDate":"Tue, 28 Jun 2022 00:00:00 +0000","guid":"https:\/\/cdwilson.dev\/articles\/diy-home-office-electronics-workspace\/","description":"<h1 id=\"the-idea\">\n  The idea\n  <a class=\"heading-link\" href=\"#the-idea\">\n    <i class=\"fa-solid fa-link\" aria-hidden=\"true\" title=\"Link to heading\"><\/i>\n    <span class=\"sr-only\">Link to heading<\/span>\n  <\/a>\n<\/h1>\n<p>I&rsquo;ve been wanting to set up a small electronics workspace in my home office for a while now.  The main goal was to have an ESD-safe area in the office where I could do bring-up and testing for projects that require a connection to a computer and test equipment.  I already have a separate full size electronics workbench in the garage (SMT reflow oven, hot air rework, microscope, etc), so this was intended as a more focused compliment to that space, rather than a replacement for it.<\/p>"},{"title":"Using giscus for comments in Hugo","link":"https:\/\/cdwilson.dev\/articles\/using-giscus-for-comments-in-hugo\/","pubDate":"Sun, 26 Jun 2022 00:00:00 +0000","guid":"https:\/\/cdwilson.dev\/articles\/using-giscus-for-comments-in-hugo\/","description":"<p>After looking into a <a href=\"https:\/\/getreplybox.com\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">couple<\/a> <a href=\"https:\/\/talk.hyvor.com\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">different<\/a> <a href=\"https:\/\/fastcomments.com\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">hosted<\/a> <a href=\"https:\/\/commento.io\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">options<\/a> for enabling comments on this site, I decided to give <a href=\"https:\/\/giscus.app\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">giscus<\/a> a try.<\/p>\n<p>This article describes why I chose giscus and how to set it up in a Hugo site.<\/p>\n<h1 id=\"first-why-giscus\">\n  First: why giscus?\n  <a class=\"heading-link\" href=\"#first-why-giscus\">\n    <i class=\"fa-solid fa-link\" aria-hidden=\"true\" title=\"Link to heading\"><\/i>\n    <span class=\"sr-only\">Link to heading<\/span>\n  <\/a>\n<\/h1>\n<p>It&rsquo;s worth talking through the thought process for how I landed on giscus, as it&rsquo;s probably not the right option for everybody.<\/p>\n<p>Derek Kay has an <a href=\"https:\/\/darekkay.com\/blog\/static-site-comments\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">excellent article<\/a> which explores various ways to include comments on a static site.  After reviewing many of the options he mentioned in the article, I found that I mostly agree with his conclusion:<\/p>"},{"title":"Bash shell startup files","link":"https:\/\/cdwilson.dev\/articles\/bash-shell-startup-files\/","pubDate":"Fri, 24 Oct 2014 00:00:00 +0000","guid":"https:\/\/cdwilson.dev\/articles\/bash-shell-startup-files\/","description":"<p>\n\n\n\n<a href=\"images\/tanooki_mario_shell.gif\">\n  <img src=\"images\/tanooki_mario_shell.gif\" alt=\"\" class=\"center\" \/>\n<\/a>\n\n<\/p>\n<p>This article is an attempt to answer the following questions<sup id=\"fnref:1\"><a href=\"#fn:1\" class=\"footnote-ref\" role=\"doc-noteref\">1<\/a><\/sup>:<\/p>\n<ul>\n<li>What is the difference between <code>\/etc\/profile<\/code>, <code>~\/.profile<\/code>, <code>~\/.bash_profile<\/code>, <code>~\/.bash_login<\/code>, and <code>~\/.bashrc<\/code>?<\/li>\n<li>Why doesn&rsquo;t Terminal.app read my <code>~\/.bashrc<\/code> on Mac OS X?<\/li>\n<\/ul>\n<h2 id=\"bash-startup\">\n  Bash startup\n  <a class=\"heading-link\" href=\"#bash-startup\">\n    <i class=\"fa-solid fa-link\" aria-hidden=\"true\" title=\"Link to heading\"><\/i>\n    <span class=\"sr-only\">Link to heading<\/span>\n  <\/a>\n<\/h2>\n<p>When Bash is invoked, it reads and executes commands from its startup files to set up the shell environment.<\/p>\n<p>There are a couple conditions Bash checks to determine which startup files are read (and which ones are not) when the shell is invoked:<\/p>"},{"title":"Understanding the INA219 I2C Current\/Power Monitor","link":"https:\/\/cdwilson.dev\/articles\/understanding-the-ina219\/","pubDate":"Sun, 06 Jul 2014 00:00:00 +0000","guid":"https:\/\/cdwilson.dev\/articles\/understanding-the-ina219\/","description":"<h2 id=\"motivation\">\n  Motivation\n  <a class=\"heading-link\" href=\"#motivation\">\n    <i class=\"fa-solid fa-link\" aria-hidden=\"true\" title=\"Link to heading\"><\/i>\n    <span class=\"sr-only\">Link to heading<\/span>\n  <\/a>\n<\/h2>\n<p>The <a href=\"http:\/\/www.ti.com\/lit\/gpn\/ina219\" title=\"INA219 datasheet\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">INA219 datasheet<\/a> provides an example calibration workflow, but doesn&rsquo;t really explain how some of the equations and constant values are derived.  This article tries to fill in some of the gaps that weren&rsquo;t obvious to me when I first read the datasheet.<\/p>\n<h2 id=\"overview\">\n  Overview\n  <a class=\"heading-link\" href=\"#overview\">\n    <i class=\"fa-solid fa-link\" aria-hidden=\"true\" title=\"Link to heading\"><\/i>\n    <span class=\"sr-only\">Link to heading<\/span>\n  <\/a>\n<\/h2>\n<blockquote>\n<p>&ldquo;The INA219 is a high-side current shunt and power monitor with an I2C interface. The INA219 monitors both shunt drop and supply voltage, with programmable conversion times and filtering. A programmable calibration value, combined with an internal multiplier, enables direct readouts in amperes. An additional multiplying register calculates power in watts. The I2C interface features 16 programmable addresses.&rdquo;<\/p>"},{"title":"Current Projects","link":"https:\/\/cdwilson.dev\/projects\/","pubDate":"Mon, 01 Jan 0001 00:00:00 +0000","guid":"https:\/\/cdwilson.dev\/projects\/","description":"<p><a href=\"https:\/\/cgnd.dev\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">Common Ground Electronics<\/a> :: A boutique embedded systems engineering services firm<\/p>\n<h1 id=\"past-projects\">\n  Past Projects\n  <a class=\"heading-link\" href=\"#past-projects\">\n    <i class=\"fa-solid fa-link\" aria-hidden=\"true\" title=\"Link to heading\"><\/i>\n    <span class=\"sr-only\">Link to heading<\/span>\n  <\/a>\n<\/h1>\n<p><a href=\"https:\/\/flyingcamp.design\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">Flying Camp Design<\/a> :: Open-source hardware development tools for the early Internet of Things<\/p>\n<p><a href=\"https:\/\/web.archive.org\/web\/20140106080903\/http:\/\/moteware.com\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">Moteware<\/a> :: Open-source electronics disseminator for research groups and education<\/p>"},{"title":"Get in touch","link":"https:\/\/cdwilson.dev\/contact\/","pubDate":"Mon, 01 Jan 0001 00:00:00 +0000","guid":"https:\/\/cdwilson.dev\/contact\/","description":"<p>I love hearing from new people \u2014 please feel free to <a href=\"mailto:christopher.david.wilson@gmail.com\" >email me<\/a>!<\/p>\n<p>I&rsquo;m always up for chatting about electronics, collaborating on product ideas, or anything else you&rsquo;ve got in mind.<\/p>"},{"title":"Hi \ud83d\udc4b, I'm Chris","link":"https:\/\/cdwilson.dev\/about\/","pubDate":"Mon, 01 Jan 0001 00:00:00 +0000","guid":"https:\/\/cdwilson.dev\/about\/","description":"<p>\n\n\n\n<a href=\"images\/chris_200_circular.png\">\n  <img src=\"images\/chris_200_circular.png\" alt=\"Chris Wilson\" class=\"center\" \/>\n<\/a>\n\n<\/p>\n<p>I&rsquo;m passionate about technology that makes electronics more open, approachable, and accessible to everyone.<\/p>\n<p>I spent most of my career working as a hardware design engineer specializing in embedded systems designed for the Internet of Things. More recently, I took a hiatus from design work and pivoted into a product management role at a PCB assembly manufacturing startup.<\/p>\n<p>Currently, I&rsquo;m bootstrapping <a href=\"https:\/\/cgnd.dev\/\"  class=\"external-link\" target=\"_blank\" rel=\"noopener\">Common Ground Electronics<\/a>, a boutique embedded systems engineering services firm.<\/p>"}]}}