Skip to main content

Posts

Showing posts from July, 2021

Running an analog clock backwards

I didn't think it was possible, but recently I came across this YouTube video and its associated blog post (in Japanese, which I was able to understand thanks to Google Translate): Here's a diagram to contrast the pulses sent to the clock lines to turn the clock backwards, versus driving it forward: As you can see, during the first time step, instead of sending a single positive or negative pulse, you send a short pulse, wait a little, then send a longer pulse in the opposite direction. Then in the next time step, a mirror image of the pulses in the previous time step is sent. The duration of the pulses has to be experimentally determined for different clock motions. For example, I was able to use this follow code to move the second hand on my clock in a reverse motion reliably: int tickpin = 25 ; void rtick () { digitalWrite(tickpin, HIGH); delay( 10 ); digitalWrite(tickpin, LOW); delay( 10 ); tickpin = (tickpin == 25 ? 27 : 25 ); digitalWrite(tickpin, HIGH)

Portable OBDII Memory Saver

Tired of losing ECU and radio memory when I replace the car battery myself, I followed the instructions in this video and made my own ODBII memory saver. The gadget is extremely simple to make. I ordered the ODBII plug and A23 battery holder. The diode could be any small signal diode that you have around the toolbox (I am using 1N4148). Then simply solder: Battery holder GND => pins 4, 5 on OBDII Battery holder VCC => diode (+) Diode (-) => pin 16 on OBDII That's it. Stuff the battery holder into the empty part of the shell and reassemble. I didn't even bother to screw the shell together. You can check by inserting a battery and measuring the voltage across pin 4/5 and pin 16. It should be around 12.6V (for a fresh A23 battery) - 0.4V ~= 12.2V. Anything above 11V should work well enough to keep the ECU and radio memory while inserted. To use, first insert the memory saver into the OBDII port in the car. Then remove the car battery and perform the battery replacement. F