7400 Contest Entry: i2s DAC with class D output

This is my entry for the 7400 Logic Competition. A little bit last minute, and hopefully I can get everything finished before the cutoff tonight.

I’m using a SN74HC132 hex NAND gate, a CD4094BE 8 bit shift register, two CD4585BE 4 bit comparators, a SN74HC590 8 bit counter, and a SN74HCU04 hex inverter.

The basic operation is as follows:

A 3MHz master clock signal is input from the i2s master into the 74590 counter which when divided by 256 is equal to 11,718kHz which I used for my word clock(wclk). This is also going to be the sample rate of my audio signal. I then use the wclk as a gate (utilizing the 74132 NAND chip) for the data clock (clk) to the shift register as well as to clear the counter. After the data is shifted into the 4094 shift register it is then compared against the counter which is continuously incrementing from 0 to 255. The output of the comparator is then fed into a 7404 inverter to buffer the output which drives an N-channel and P-channel MOSFET creating a half-H bridge and driving the speaker through an LC lowpass filter.

This ended up being more of a proof of concept as I ran out of time to debug everything. There are some bugs that need to be worked out, but I didn’t have any logic analyzer to debug the 8 bit bus. However, the frequency sweep shows everything working for the most part!
Thank you for taking a look!
The demo code I used on the LPC1769 is available on my GitHub repository.


Dead bug soldering SMD.

Dead bug soldering of surface mount components can be a pain, but in some cases it is absolutely necessary. Many components with be based on a standard footprint (SOIC-8 for example), however occasionally parts will have their own footprint that is impossible to buy a breakout board for.

I wanted to test a MEMS I2S microphone made by Analog Devices which had a very interesting footprint. The eight square pads had a 5 mil pitch, however there is the round ground pad around the microphone port that needs to be connected. In this case I opted to flip the chip over and superglue it down to a different breakout board I had. The two following pictures are how it turned out.


I first fluxed all the pads, then added solder to both the breakout board as well as the pads on the microphone. Because the round ground pad was adjacent to another ground pad I bridged the gap with solder. After cleaning my iron and applying more flux I positioned single stranded wire ( I had removed the insulation with wire strippers) with tweezers and applied heat. The final product looks a little messy close up due to excess flux. The white haze is from the superglue.

After all the connections were made the I2S interface worked like a charm. I will post a tutorial on using I2S with the LPC1769 a little later in the month.