After many delays, both external and inadvertently self imposed, I’ve gotten KiConnect to a stable enough to call v1.0.0! Yaaaaay!

KiConnect v1.0.0

FPA Grant Wrap-up

Over ambitions as ever… When I first wrote up the grant, I realized it was a lot, but as I was unemployed at the time, I thought I could manage… Then I got a job.

  Heaven Knows I'm Miserable Now

This was manageable for a while, I was even keeping up with my proposed live streams but as the responsibilities of my new roll grew my time was getting more and more crunched. And then I got involved in starting a local Repair Cafe. Good choices all around.

The Technical Issues

KiCAD API

I’m not a fan of protobufs, the KiCAD API is built on this, and in early development it caused a lot of problems and really took the wind out of my sails. I got my issues sorted out and thankfully it appears more stable with newer releases. Additionally, despite my opinions on protobufs, I do have to admit I was kinda holding it wrong. KiConnect v2 will abstract away many of these issues.

The documentation is a bit terse as well, I believe it’s generated from the protobuf source, and it seems to kinda stop at some lower levels. On a protobufs upside, it is highly consistent so it’s pretty easy to guess and verify in a REPL.

Bad Assumptions

Some assumptions I made in the early stages ended up backing me into corner and I realized this was going to be really difficult to maintain if not addressed. At lot of this was related to trying to do too many things at one time.

Path to Simplification

One of the bigger mistakes I made what the centralized API object, this was intended to manage and communicate with multiple API connections, but in practice it ended up being an unnecessary layer that I was fighting against more that it was useful. Similar story with the Board and BoardSketch relationship. Duties between the two we ill defined and awkwardly split. In v1.0 a lot of this has been mitigated, the API object will be removed (it’s already hidden) and board outline will be further simplified through early v1.x releases.

Next steps

Being available in the Addons now I hope to get some hands on feedback and undoubtedly bug reports. I’m already tracking many issues/features and specifically dividing v1.x and v2.0. With v1.x focusing on greater stability and reintroducing features that got stashed in order to get 1.0 out. I’m actively using KiConnect in a complex project and I hope this will help determine where to focus efforts.

Look forward to hearing from early testers.