Rada's workshop


Silica Gel Oven

Often I find use of Silica Gel based moisture collector. Once it is full of moisture it needs to be regenerated to be effective by warming it up to 120°C for 24h. The temperature must not exceed 130°C because the bag holding the gel will melt. As ordinary oven is impossible to controll like that and the power consumption is significant, I decided to make a small oven. Schematics, source code and details are available on my Github repository.

Capacitive Touch Sensor

I have used this sensor on a computer case instead of the power switch. i did this because I wanted to use glass for the front panel, and I didn't wish to drill holes in it. The idea is as follows: Any two conductive materials, at a relatively short distance, behave as a capacitor. On the inside of the glass I have placed a piece of copper tin, size of a coin. This serves as a capacitor electrode. When you press your finger on the glass, it becomes dhe second electrode of the capacitor. Such a capacitor is tied to the data input of the D Flip-Flop. This delays the logic ONE as it appears, so as the clock rises, the output gets a logic ZERO instead of a ONE. This is used to switch on the computer.

USB puls generator

Occasionally I need a simple signal generator for experimentation or testing electronic devices I make. For this I used a computer sound card or a phone application that generates a signal at the headphone output. Such solutions have three major disadvantages:

1. Often I need a pulse amplitude of 5V, which neither a sound card nor a phone can produce

2. Limited to frequencies up to 20kHz

3. There is always a danger that I will burn the output

I made a USB pulse generator that is galvanically isolated from the USB part and I can configure it to give impulses of frequency of a pulse in two minutes up to 10MHz. It uses two microcontrollers ATtiny2313 one of which works as a CDC device (USB to serial) to set the parameters, and the other works as a pulse generator that is electrically isolated. It is powered via DC/DC converter 5V/5V. UARTs of the two controllers are connected via optocoupler. The four diodes lower the voltage down to about 2,6V, so it is possible to get a lower amplitude of the output voltage. Using a jumper, you can short the diodes to obtain the output amplitude 5Vpp. The entire 8-bit port is used as output with resistors connected in parallel, so it is possible to get quite a large output current, and it can even survive a short-circuit. using a voltage divider and a capacitor, it provides half of the supply voltage, which may be used as a ground, so that an alternating signal instead of a pulsed DC can be used.

Controlling it is via a serial terminal. I recommend HTERM for this, but you can use any other serial terminal. just type in "help" to get a list of commands for setting parameters. The entire project is available on github, and if you decide to create something similar, you might find my "guide to making USB devices" from the "Programming page" helpful.

Wireless Footpad Switch

For our private medical practice, we bought an ultrasound USB probe. It came with a widows application. The problem arises when the doctor needs to save a screenshot. Her hand needs to be steady and in a precise spot for the image to be clear while the other hand must be used for a mouse click on the screenshot button. This is dificult to acchieve without mooving the hand in which she holds the probe, and the app is not made with a keboard shortcut or the snapshot button, so I constructed a wireless footpad switch to simulate a mouse click in configured screen coordinates.

The footpad is oredered on Aliexpress as were a pair of radio freueny receiver and transmitter modules. A transmitter with a bit of electronic components is placed in the footpad to send a short signal (~20ms) once the footpad is pressed.

The receiver is connected to an AtTiny2313 microcontroller which simulates a keyboard combination ALT-F12.

I have also written a windos application which detects the keyboard input and simulates a mouse click in the configured screen coordinates. To assign the coordinates, one needs to place the mouse cursor in the desired screen location and press CTRL-F12. The application then reads the current mouse coordinates and saves them to a configuration file..

The complete application code (in Python), the schematics and microcontroller firmware are available on my Github account.