Playing guitar and electronics have been two of my favourite things for a long time now. When I was about 14, I combined these two for the first time and built a pretty simply 32W amplifier. While the design is super simple, it actually has a really nice clean tone and does not distort the sound at all. It’s capable of diving an 8 ohm or 4 ohm load. Today I decided to give it a bit of a clean and check if it still worked.
The video format in the HP 1662AS logic analyser/oscilloscope is similar to a VGA a signal – it has an h-sync signal, a v-sync signal and a video signal (mono-chrome). However, it is not the same as VGA as the timings are completely different. It is therefore important to find out if a normal VGA monitor will accept the signal. To do so, we need to figure out what the timings are so that I can simulate the signals and see if the monitor locks onto them.
The clock is controlled by an ATTiny87 which has three main jobs:
- Counting the pulses from the Maxim DS32kHz
- Controlling the display via the shift registers (read more)
- Interacting with the user via the reed switches to produce a user interface
Each of these jobs will be discussed separately below as well as the main code to bring it all together in a power efficient way. Full code can be found at my GitHub.
The Amazon Echo Dot is a popular home voice assistant, often trusted to control heating, lighting, music and even door locks. Personally, I use mine for trivial tasks such as controlling Spotify and setting alarms but you can see that it would make an obvious target for an attack.
As discussed in the previous article, the display is controlled by a number of shift registers. Shift registers can be controlled directly by a SPI bus, which is useful as most microcontrollers (including our ATtiny87) have a built in SPI bus peripheral. This means that writing a byte to the shift register is almost as easy as just writing a byte to a register.
My Nixie tubes have 11 active pins each: a common anode and one cathode per digit (ten in total). The anode is connected to +180V via a 47k current-limiting resistor and each cathode is connected to the collector of a high voltage bipolar transistor (MPSA42) so that current can be controlled through each of them via the base of the transistor. This gives a total of 29 transistors that need to be individually controlled (24 hour clock requires 3 possible numbers for the first digit, 10 for the second, 6 for the third and 10 for the fourth). I chose to do this by using four 8-bit shift registers, connected in series to make one, 32-bit shift register.
A geometric series is a series of numbers where each number in the series is equal to the previous number multiplied by a constant multiplication factor. For example: 2, 4, 6, 8, 16… is a geometric series with a constant multiplication factor of 2.
The sum to infinity of such a sequence, then, can be represented as: