With OpenCV-Python and Some keyboard action working in separate application, but in a roughly usable state, I was feeling pretty excited about my progress. Sometimes thought, life just happens and laughs at our little machinations.
End of August 2022 my wife and I got into the latest fad, Covid19, for the second time, and this time we were going all out. The first time we didn’t get it at the same time, and while it did take my wife three weeks recover, I was feeling mostly back to normal within a week. Seemed mild, what was all the fuss about? This time however, Covid19 kicked our asses up, down, and back again.
We both were out at the same time, rough with six kids, some who also contracted it, though they recovered within a couple days. My wife ended up with long Covid and fluid around her heart. Life was chaos for months. Even after I was able to return to work part time after a few weeks, my employer let me know, due to being unable to fill positions on the team, they decided to close it, and were going to outsource the work in a more local market. As a US developer, my salary was much higher than in other countries, and they were going to outsource and save money at the same time.
It was a rough time, and the KitBash KVM project was put on hold for a long while as we worked through a long period of ups and downs. I picked up a few small contractor jobs, but it wasn’t until right before Christmas that I was hired on as a full time contractor working as an embedded engineer.
That job was a blast! MicroPython, and a few SOCs for a Cellular project. And with the stable employment, and once settled in, the project was back on. Progress was slow, but month of month small improvements were made. I had a software application that Combined video capture, and the keyboard capture and send. I emulated a HID device with a RP2040 PICO as planned.
However I kept having issues when it came to mouse movements. The sad part is nearly a year later I would find out it was actually my Razer Gaming mouse software that was causing some of the issues and causing some of the issues I was having a hard time diagnosing. I struggled for a while not making much progress. On the hardware side, I had made a unified cable with a USB hub built in. As far as hardware functionality I had a proto type that in theory worked, but on the software side, I couldn’t figure out how to resolve the issues.
One issue I assumed was that I was using MicroPython on the RP2040. I knew there was a bottle neck, and I figured I was going to have to fully learn embedded C and a few libraries to get any further. I also seemed to have some transmission loss. At this point I was using Python on my controlling machine still, and via a com port connection sending all my commands. Bandwidth should not have been an issue, and most of the time it didn’t seem to be. But while the keyboard functionality was working well, the mouse I could not seem to ever get working correctly.
A few orders to AliExpress later, I had proved it was not a hardware limitation I was dealing with. In my mind I always knew the issue was MicroPython. I was going to need to learn embedded C for the ARM RP2040, and I just didn’t have time to do that. A few life events were also throwing shade, and I decided to simply shelve the project, possibly forever.
As fall approached, I considered trying again. I had to do a little C work at work, and though maybe I was ready to tackle the RP2040 SDK and C, then life struck again. The economy wasn’t doing the best. Many tech companies had laid off all through the year, and the company I was contracting with so far had not.
However after their Q3 earnings call, the decision was made. They wouldn’t lay off any of their employee’s, but they would stop all contractor work, and since the R&D project I was on, was for internal company use, it was put on hold.
And just like that, a few weeks before Thanksgiving I was again facing not having a contract over the holidays. I could tell the market was way worse, and it was clear that many job postings were being AI spammed. I would see a developer listing go live, and withing 2 hours there would be 200 applications, another 800+ by the end of the day. It was wild!
Once again, I had to put the project on hold…