Keeping Track of Parts

I’ve touched upon Product Lifecycle Management (PLM) systems at work. The general idea makes sense, you have your thing, the subassemblies, and all the parts that go into them. And documents and whatever else. And while in big companies you end up with complex webs of objects within these systems which can sometimes feel offputing, the idea makes sense.

I’ve got a couple things going on with KiCad projects now. One is a DC-DC converter I’m throwing together, to get practice with DC-DC converters, and one is going to be a simple power/energy monitor. Both microcontroller-driven, both low voltage (12, 24, or 36 VDC nominal systems). I like KiCad, and I get that there’s a workflow associated with it in which one associates smaller things like generic passives with the design when it’s done. I however have gotten into the habit of using atomic parts – I create a part for things like a particular resistor or capacitor, in addition to bigger things like a microcontroller.

I’m not sure I need (or want) a full-blown PLM system like I’ve used at work. But, I’ve been daydreaming about something kind of similar. KiCad works on plain text, so it should be easy to script the creation of new parts. At least, for a lot of common ones, it’s a little more complicated when you need a custom symbol or footprint, but still. The other angle here is keeping track of what’s available, which is a problem thanks to all the supply chain issues going on. Digikey and Mouser, two distributors I tend to use, both have APIs where you can query for info about parts. So, I envision a script that takes a part number, grabs information about the part from one of these distributors or a different one, and sticks it in a database.

This could be something of a layer beyond KiCad then. So maybe it coalesces several 1k ohm resistors into a generic part to plop in. Maybe it queries the distributors every day and updates stock. Maybe something about tracking my own supply as well.

I may start to look at this between projects. I don’t know if it would a web app, a commandline-only thing, or heck, maybe an excuse to learn Qt. Probably, it would be best to divide this into chunks, so I don’t get stuck on producing something and get my other projects (which this would supposedly help) blocked. But it’s something to think about.

Goings On

I wish I had some progress to post about, but I will take a few moments to just talk about some scraps of things.

I’m seriously considering moving this blog to a static site, and have been looking at Hugo. I like the idea of composing posts in a text editor, and then regenerating the site when neede

d. I would probably integrate this blog (or a blog like thing) with the front page, ie have a similar layout, style, etc., and maybe add more static-type pages. I might even stop using the wiki, which was kind of my first thought of how this would go: Blog for routine or semi routine updates, wiki for more ‘permanent’ stuff, like how-to guides. I may just keep the wiki around.

I had considered writing my own static site generator, probably throwing something together in Perl. I’m not sure it’s worth doing that. One of the drivers for this was an idea I had about a system to accept comments via email, which I could integrate with my own static site generator. I may just look at doing something with Hugo for that, we’ll see.

This blog does get a decent amount of comments, but most (practically all) of them are spam. I could probably just not bother with it at all, but in the days of my site, some legit comments actually would trickle through. I’ll have to see. I’m going to have to play with Hugo quite a bit, then look at migrating away from WordPress.

I’ve had some electrical projects in mind for a while, the first of which is a buck converter, which I’ve posted about before. One of the parts I was using (a MOSFET) doesn’t seem to be available, so I’ll probably just pick a new one. At this point I need to work on the layout, so I’ll have some KiCad work ahead. That should be fun.

The point of that is to not just design the buck converter, but also do the controls. And layout… And conceive of it as a ‘product,’ not just a circuit I put together. In other words, a box with terminals that will have usefulness.

This leads me to my other project, significantly more of which remains in my imagination right now. And that is an inverter/charger – a power inverter that can also rectify, acting as a battery charger. Kind of like a UPS, but not exactly uninterruptible. I mean, it should be, ideally, but the intent is more for seamlessly switching AC loads to another source and charging a battery, as opposed to keeping computers from going down. Think off-grid power system verses data center application. (Of course, there’s overlap in terms of the technology and applications.)

The first incarnation of this would go from 12 VDC (nominal) to 120 VRMS AC, sine wave output, at about 250 watts. There are a couple reasons for this project:

  • Learning, getting some experience
  • Usefulness, no one really makes a small inverter/charger like this, and I’ve thought it would come in handy
  • Progress, toward an even bigger one
  • Putting a design out there, there should be more practical examples of power conversion available. Maybe even an open source inverter project?

Anyways, more to come, maybe.