Sunday, July 31, 2016

This a departure from my normal subjects, but I don't have a blog dedicated to my software work.

I have recently attended the first HackerX instance in Frankfurt. For those who don't know, it's like a speed-dating event where potential employees and potential employers are face-to-face for 5 minutes, then the candidates (employees) rotate over to the next company.

Right off the bat I should mention that I did not receive my own invitation but I used one from a colleague. However the only difference is a missing email.

Tuesday, July 26, 2016

I was assuming that having some time off would allow me to update this blog more frequently but there is always something shinier.

Diesel Tuning Box (for lack of a better name)
I've tested extensively the latest iteration that does semi-automatic calibration and found no issues with the circuit itself. However there were many issues with the ghetto-style DB15 connector made using hot glue. Once I got the proper connector in it will stay in the car at all times.

The issue was caused by raised temperatures under the hood deforming the hot glue and leaving just a tiny contact patch that allowed very little current to flow in. Anything over 20mA would break the contact yielding 'check engine' errors. If you are fast, the errors go away when restarting the engine. If you are slow (>2 minutes) you need to reset the error using an OBD2 diagnosis kit. I used a bluetooth OBD2 connector (~12$) with the Android app Torque, while driving.
I'm testing these limits so you don't have to.

Otherwise, with the new software it has proven reliable enough and allows for realtime (while driving) control of tuning. However the serial interface has proven prone to error - while trying to insert comments in the log files my co-pilot inadvertently altered some settings. This will be improved by writing a phone app that will allow adjustment on the fly and saving of the log files. Currently still in the process of getting up-to-date with Angular2 and Ionic2, but I already have a working app. The source code - once final - will be published on my github page.

Printer repair
While doing the taxes my Kyocera FS-1020D laser printer died with a strange blinking error: the first three LEDs blinked slowly, then just the second LED blinked. After a bit of service manual hunting I found out this was error 6000 - fuser unit error.
It took a bit over an hour (including pictures) to work around the problem: the thermal cutoff (fuse) was triggered which left the fuser lamp without power. I just soldered a wire between the fuse contacts since the printer already has a thermistor in place for monitoring and cutoff. Not 100% safe but I doubt it will start a fire. The fuse was rated for 157C, will write a detailed post once I find the time.

Odys Winpad V10
After an uneventful Windows 10 upgrade the tablet has been running fine with no significant drawbacks compared to Windows 8. To get the most battery life and keep the tablet cool I suggest setting the wireless connection to metered: this will stop the automatic updates and maintenance.
I also cut the cord from the power supply and attached a standard USB male connector to the tablet end and a female connector to the other end. This allows me to charge it using any USB supply.
Battery life is between 6h under moderate load (frontend development) and 12h idle (while connected to HDMI). To get the most of the battery I recommend turning on airplane mode whenever WiFi is not needed.

I scanned the steel paperweight inside the keyboard (230g) and looking for a way to replace it with some 1-2mm aluminium sheet. The new backplate would then be less than 75g, but some counterweights (~30g) might be needed to keep it from toppling over.

I have replaced/removed/re-soldered some caps inside the keyboard that made an annoying whine (5-15kHz). Just look for the biggest ceramic capacitors there and either resolder them to be less rigid or replace them with something of improved quality.
I have tried every other possible solution: using a strong glue to dampen them, changing orientation, adding some padding material - nothing except the above worked.

CTC 3D Printer
A gen 1 Raspberry PI was setup up as a remote web interface using OctoPrint. However there are many issues with it that prevent me from slicing files remotely (including the rPI speed). It also requires an OctoPrint restart whenever a job is cancelled, so it's far from ideal.
I installed the SailFish firmware on the printer and it has proven a huge benefit: the temperatures and speeds can be altered in realtime, allowing for example to print the first few layers slowly and the middle ones twice as fast.
I have been unable to use Simplify3D on it, currently MakerBot seems the best option.

Li-Po powered compressor
For my bikes I have to check the tires pressure quite often and this poses several problems: I don't have a nice high-pressure pump, it takes quite a while to bring racing tires up to pressure (8 bar) and it also takes a lot of energy. So I made a connector that has on one end alligator clips and a female XT90 connector and on the other end a 12V automotive (female) socket, the ones used for cigarette lights. With a cheap (15EUR) compressor I can now check and adjust the pressures in just a few seconds and can use either a 3S LiPo battery or a small motorcycle (or UPS) 12V battery.