Silicon ChipAudio Spot Frequency Oscillator - October 2026 SILICON CHIP
  1. Outer Front Cover
  2. Contents
  3. Publisher's Letter: A self-made trap for RAM manufacturers
  4. Feature: Improvised Electronics, Part 2 by Dr David Maddison, VK3DSM
  5. Project: Mighty USB-C Bench Supply, Part 1 by Tim Blythman
  6. PartShop
  7. Project: Programmable USB-PD Modules by Tim Blythman
  8. Feature: Motor Control, Part 1 by Andrew Levido
  9. Project: Audio Spot Frequency Oscillator by Richard Kabzinski
  10. Feature: A guide to EV Charging by Geoff Graham
  11. Subscriptions
  12. Project: Phenomenal Pinball Machine, Part 5 by Phli Prosser
  13. Serviceman's Log: ELSEC 764 UV Monitor Repair by David Worboys et al
  14. PartShop
  15. Vintage Radio: The Philco Model 38-7 by Dr Hugo Holden
  16. Market Centre
  17. Advertising Index
  18. Notes & Errata: Simple USB Power Monitor, June 2026; Simple LC Meter, May 2026
  19. Outer Back Cover

This is only a preview of the October 2026 issue of Silicon Chip.

You can view 36 of the 104 pages in the full issue, including the advertisments.

For full access, purchase the issue for $10.00 or subscribe for access to the latest issues.

Articles in this series:
  • Improvised Electronics, Part 1 (September 2026)
  • Improvised Electronics, Part 2 (October 2026)
Items relevant to "Mighty USB-C Bench Supply, Part 1":
  • USB-C Power Supply main PCB [04107261] (AUD $5.00)
  • USB-C Power Supply control panel PCB [04107264] (AUD $5.00)
  • PIC16F18146-I/SO programmed for the USB-C Power Supply [0410726A.HEX] (Programmed Microcontroller, AUD $10.00)
  • PIC16F18115-I/SN programmed for the USB-C Power Supply [0410726B.HEX] (Programmed Microcontroller, AUD $10.00)
  • 0.91-inch white OLED with 4-pin I²C interface (Component, AUD $7.50)
  • TH transistor - 2SC5242-O(Q)‎ 230V 15A NPN (TO-3PN) (Component, AUD $8.00)
  • USB-C Power Supply kit (Component, AUD $95.00)
  • USB-C Power Supply firmware (Software, Free)
  • USB-C Power Supply PCB patterns (PDF download) [04107261-2] (Free)
Articles in this series:
  • Mighty USB-C Bench Supply, Part 1 (October 2026)
  • Programmable USB-PD Modules (October 2026)
Items relevant to "Programmable USB-PD Modules":
  • USB-C Power Supply main PCB [04107261] (AUD $5.00)
  • USB-C Power Supply control panel PCB [04107264] (AUD $5.00)
  • PIC16F18146-I/SO programmed for the USB-C Power Supply [0410726A.HEX] (Programmed Microcontroller, AUD $10.00)
  • PIC16F18115-I/SN programmed for the USB-C Power Supply [0410726B.HEX] (Programmed Microcontroller, AUD $10.00)
  • 0.91-inch white OLED with 4-pin I²C interface (Component, AUD $7.50)
  • TH transistor - 2SC5242-O(Q)‎ 230V 15A NPN (TO-3PN) (Component, AUD $8.00)
  • USB-C Power Supply kit (Component, AUD $95.00)
  • USB-C Power Supply firmware (Software, Free)
  • USB-C Power Supply PCB patterns (PDF download) [04107261-2] (Free)
  • Preassembled USB-C PPS control module (Component, AUD $25.00)
  • USB-C PPS control module PCB pattern (PDF download) [04107265] (Free)
Articles in this series:
  • Mighty USB-C Bench Supply, Part 1 (October 2026)
  • Programmable USB-PD Modules (October 2026)
Items relevant to "Audio Spot Frequency Oscillator":
  • Audio Spot Frequency Test Generator PCB [04111261] (AUD $5.00)
  • PCM5102 DAC module (Component, AUD $10.00)
  • NJM5532DD ultra-low-noise, low-distortion dual op amp (Component, AUD $5.00)
  • NJM5532D low-noise, low-distortion dual op amp (Component, AUD $3.50)
  • 0.96in white OLED with SSD1306 controller (Component, AUD $10.00)
  • 0.96in cyan OLED with SSD1306 controller (Component, AUD $10.00)
  • Audio Spot Frequency Oscillator firmware (Software, Free)
  • Audio Spot Frequency Test Generator PCB pattern (PDF download) [04111261] (Free)
Items relevant to "Phenomenal Pinball Machine, Part 5":
  • Pinball Machine Control PCB [08107261] (AUD $25.00)
  • Pinball Machine Power Supply PCB [08107262] (AUD $7.50)
  • Pinball Machine Player LED PCB [08107263] (AUD $2.50)
  • Pinball Machine Score LED PCB [08107264] (AUD $5.00)
  • Pinball Machine LED Output PCB [08107265] (AUD $2.50)
  • Pinball Machine Bumper LED PCB [08107266] (AUD $5.00)
  • Pinball Machine Cascade LED PCB [08107267] (AUD $5.00)
  • Pinball Machine Switch Input PCB [08107268] (AUD $2.50)
  • Pinball Machine General Input PCB [08107269] (AUD $2.50)
  • Pinball Machine High Current Interface PCB [08107260] (AUD $2.50)
  • Pinball Machine Rollover Interface PCB [08117261] (AUD $2.50)
  • Pinball Machine Bumper Driver PCB [08117262] (AUD $5.00)
  • 5m of 10-way ribbon cable (Component, AUD $10.00)
  • Pinball Machine Control Board short-form kit (Component, AUD $150.00)
  • Pinball Machine Power Supply short-form kit (Component, AUD $50.00)
  • Pinball Machine cable and connector set (Component, AUD $65.00)
  • Software and 3D printing files for Phil Prosser's Pinball Machine (Free)
  • Phil's Phenomenal Pinball Machine PCB patterns (PDF download) [08107260-9, 08117261-2] (Free)
Articles in this series:
  • Phenomenal Pinball Machine, Part 1 (June 2026)
  • Phenomenal Pinball Machine, Part 2 (July 2026)
  • Phenomenal Pinball Machine, Part 3 (August 2026)
  • Phenomenal Pinball Machine Part 4 (September 2026)
  • Phenomenal Pinball Machine, Part 5 (October 2026)

Purchase a printed copy of this issue for $14.00.

Image source: https://unsplash.com/photos/blue-and-white-spiral-illustration-UnkJXtHKlsc Audio Spot Frequency Test Generator by Richard Kabzinski Using just a few modules and not much else, this portable device produces 1V RMS test signals at various frequencies with very low distortion. It also has modes for testing RIAA preamplifiers, SSB transmitters and amplifier intermodulation distortion. B eing something of a collector and restorer of old test equipment, I have three classic noise and distortion (N&D) meters in my collection, along with several vintage, retro and homebuilt valve and solid-state hifi amplifiers that I need to test. Two of the N&D meters are AWA units, one a valvebased 3A56068, with the other being a very capable all-transistor F240A. The third unit I have is a Hewlett-­ Packard 334A. At some point, these have all served in a lab or maintenance workshop somewhere in Australia. Since acquiring them, I have carefully checked and restored them to full functionality. The AWA F240 is the highest performing unit, able to measure noise and distortion down to about 0.003%. One thing I have been missing for many decades, though, is a decent low-distortion oscillator. While I have a reasonably late-model digital function generator, with fairly low sinewave distortion of 0.05% or so (measured at 0.025%), I wanted something at least an order of magnitude better, at say 0.0025% or better. This need prompted me to design and build one. It had to be relatively cheap, easy to build and easy to replicate, as I wanted to share the design with my fellow electronics hobbyists and home constructors. There are a few analog designs out there, but they have some drawbacks: • They require special op amps. • They involve a fairly large number of components. • They can typically only produce a single, fixed frequency. • They can suffer from poor frequency stability. • It’s difficult to guarantee that cloning one will give the low distortion results expected, especially if built on a breadboard or Veroboard. The digital design presented here meets my criteria of being cheap and easy to build, with excellent performance, requiring virtually no attention to circuit layout. It’s easy to reproduce and provides excellent performance because it uses a digital-to-analog converter (DAC) to generate the required signals with only a moderate need to worry about circuit layout. The only real downside is that it requires programming. I didn’t want to spend weeks or months designing hardware and writing code, even though I am capable of doing it. This project had to be relatively quick and easy. That means using a software development environment that is widely known and supported, while using off-the-shelf components. I settled on the Arduino ecosystem as there is a plethora of hardware and software support available. The feature list grew a lot during the design phase. I wanted to make the design super useful, easy to use and Screen 1: the splash screen is shown for two seconds at startup. Pressing the FREQUENCY button during this time will show the software license details. Screen 2: it starts in Flat mode at 1kHz but muted. Hold the MODE button for one second to activate it, as shown here. Screen 3: the second mode, Inverse RIAA, adjusts the output level with frequency to aid in testing phono preamplifiers. 60 Silicon Chip Australia's electronics magazine siliconchip.com.au Features & Specifications ▶ Generates sinewaves at 20Hz, 50Hz, 100Hz, 400Hz, 440Hz, 1kHz, 10kHz & 20kHz ▶ 192kHz sampling rate for low distortion ▶ Extra spot frequencies of 50.05Hz, 500.5Hz, 2.122kHz with automatic level adjustments for testing an RIAA preamp/filter ▶ Generates SMPTE intermodulation tones (60Hz & 7kHz with a 4:1 amplitude ratio) ▶ Generates SSB two-tone of 700Hz/1900Hz for transmitter performance testing ▶ Flat mode output level: 1V RMS ▶ RIAA mode output level: 100mV <at> 1kHz after RIAA filter ▶ SMPTE/SSB output level: 2.828V peak-to-peak ▶ Produces DC calibration voltages for easy trimpot adjustment ▶ Simple two-button user interface (MODE & FREQUENCY) ▶ Modes: flat, inverse RIAA, SMPTE test tone, SSB two-tone ▶ Status is shown on a low-cost 128×64-pixel 0.96-inch (24mm) monochrome OLED ▶ Distortion: <0.0025% <at> 1kHz ▶ Frequency accuracy: better than 100ppm ▶ DAC: PCM5102 <at> 192kHz, 16-bit resolution (48kHz for SMPTE/SSB modes) ▶ Output loading: ≥1kΩ recommended (≥600Ω with the NJM5532D op amp) ▶ Power supply: 5V DC <at> 150mA from plugpack or USB (including power banks) set up, and to appeal to a wide audience of users who need audio signals for test purposes. 1. The YD-ESP32-S3-N8R2-DEVMODULE microcontroller board 2. The GY-PCM5102 I2S DAC module Hardware selection 3. A 128×64 OLED display module I had been exposed to the PIC16, The addition of an output buffer op STM32 and ESP32 series of devices amp also means we need a 5V to ±12V and products over the years. Where I converter to power it. work, we use the latter two platforms Apart from these parts, little else is in our products. They are both cost-­ needed. Two pushbutton switches are effective, highly capable and sup- used for mode and frequency selection. ported by the Arduino system. Low- Potentiometers could have been added cost versions of various Arduino-­ for output level control, but I chose to compatible modules are available vir- use trimpots so that a fixed output level tually everywhere. of 1V RMS can be set. I feel this level is I settled on the ESP32-S3 as the con- most suited for amplifier testing. troller because it has good support for This means the generator can also the I2S serial audio interface of the provide an accurate 1V RMS reference DAC I chose. The DAC is a PCM5102 for checking the AC range of digital by Texas Instruments (originally a multimeters and the like. Burr-Brown device) and is available on Resistive dividers can be used on the a small board complete with a voltage buffered output to provide a suitable regulator, filtering, and even a 3.5mm RIAA output level, in my case fed to output jack. separate RCA connectors. The board also provides pads for headers, which was useful for bread- Operating modes boarding. All that was needed to comThe generator has four modes selectplete the design was some kind of able using the MODE button after an display. I chose a 0.96-inch (24mm) initial splash screen (Screen 1): Flat, monochrome OLED screen that’s con- Inverse RIAA, SMPTE and SSB Twotrolled over an I2C two-wire serial bus. tone. The unit starts up in Flat mode; A quick look at the circuit reveals the pressing the MODE button changes the low module count, belying the flexi- mode as shown in Fig.1. bility and features of the design. Three modules form the basis of the Flat mode unit and are available at very low cost On applying power, after two secfrom places like AliExpress: onds at the splash screen, the unit siliconchip.com.au Australia's electronics magazine Fig.1: pressing the MODE button cycles through the four available modes. operates in Flat mode, with the frequency set to 1kHz and the output muted. While in Flat mode, the frequency button cycles through these frequencies on each press: 20Hz, 50Hz, 100Hz, 400Hz, 440Hz, 1kHz, 10kHz, 15kHz and 20Khz. These are all produced at a 192kHz sampling rate from the DAC for the lowest distortion. To unmute the output, press and hold the MODE button for more than one second. The display will show “ACTIVE” (Screen 2). Press and hold it to MUTE again; the output will be set to 0V and the display will show “MUTED”. Since the output of the generator is perfectly flat at all spot frequencies, as well as being used for audio frequency response tests and such, the frequency response of a DMM can be determined up to 20kHz. Normally, lower-cost DMMs don’t have particularly accurate AC ranges, with typical error ratings of ±1% or so. The frequency response is usually limited to a few kilohertz. One of my hand-held DMMs, although True RMS responding, falls off beyond 1kHz. My October 2026  61 Keithley DMM6500 powers on beyond 20kHz with no problem. Inverse RIAA mode These signals are useful for checking the gain and equalisation accuracy of phono preamps. In this mode, the unit will default to a 1kHz reference tone to allow an initial gain check and the measurement of an output reference value from the preamp (Screen 3). Pressing the FREQUENCY button will cycle through the frequencies at the levels listed in Table 1. Note that these levels are far higher than a moving magnet or moving coil cartridge will produce and thus will overload most RIAA preamps if fed directly to them. A resistive divider and/or trimpots will be required to achieve, say, 5-10mV RMS output at 1kHz to better match what a preamp is designed to accept. The calibration to achieve 1V RMS in Flat mode also calibrates this mode. The idea behind the Inverse RIAA test is that the 1kHz tone is used to check the gain of the phono preamp, then the generator is cycled through the other frequencies. A preamp with correct adherence to the RIAA equalisation curve will give equal output voltages at each frequency. For typical phono stages, the variation would be in the order of ±1-2dB. The 50.5Hz, 500.5Hz and 2.122kHz tones correspond to the 3180μs, 318μs and 75μs RIAA filter time constants, respectively. Table 2 provides a means to gauge the deviation of a phono preamp from the RIAA curve relative to a 100mV output. If the phono preamp under test exhibits a higher or lower gain, the voltage ratios in the table can be used to calculate the expected output voltage once the reference point has been measured. Many classic consumer-grade amplifiers were specified to be within ±2dB, with higher-end units giving Screen 4: the intermodulation distortion test mode produces two signals at different frequencies mixed in specific ratios. 62 Silicon Chip Table 1 – Inverse RIAA mode output levels at specific frequencies Frequency Gain Ratio Output level (RMS) 20Hz -19.27dB 0.1087 11.4mV 50.05Hz -16.94dB 0.1422 14.9mV 500.5Hz -2.64dB 0.7377 77.5mV 1000Hz 0dB 1.0 100mV 2122Hz +2.87dB 1.3910 146mV 10kHz +13.73dB 4.8609 510mV 20kHz +19.63dB 9.5723 1.05V Table 2 – phono preamp output variation Output relative to 100mV dB variance Voltage ratio Change 141.3mV +3.0dB 1.4125 +41.3% 125.9mV +2.0dB 1.2589 +25.9% 112.2mV +1.0dB 1.1220 +12.2% 105.9mV +0.5dB 1.0593 +5.9% 101.16mV +0.1dB 1.0116 +1.16% 100.00mV 0dB 1.0000 Baseline 98.86mV -0.1dB 0.9886 -1.14% 94.4mV -0.5dB 0.9441 -5.6% 89.1mV -1.0dB 0.8913 -10.9% 79.4mV -2.0dB 0.7943 -20.6% 70.8mV -3.0dB 0.7079 -29.2% ±1dB. These days, some high-end phono preamplifiers achieve ±0.5dB or even ±0.1dB. However, the very tight component tolerances to achieve this result in a much higher cost. SMPTE Intermodulation Test mode The SMPTE Intermodulation Test tone uses a 60Hz tone combined with a 7kHz tone at an amplitude ratio of 4:1 (Screen 4). This test is one of the accepted tests to measure amplifier intermodulation distortion and is included for the more adventurous among us. This type of distortion produces unwanted signals at 7kHz ± 60Hz, ie, 6940Hz and 7060Hz. A very linear Screen 5: this two-tone test mode is intended for testing single sideband (SSB) radio transmitters. Australia's electronics magazine amplifier will produce less of these additional signals. They can be measured using spectrum analysis or with deep notch filters tuned to 60Hz and 7kHz, allowing the residual signal amplitude to be measured with an audio millivoltmeter or similar. I thought this would be a useful inclusion, but it requires an external audio spectrum analyser or FFT analyser of some kind. The Room EQ Wizard (REW) computer program, combined with a reasonable external audio interface, could fit the bill for some users. SSB Two-Tone mode I’m not a ham, but I spent over a decade in radio communications in my early years and tested many SSB Screen 6: calibration mode produces a DC output with either polarity that can be measured accurately with a DMM. siliconchip.com.au transceivers with a two-tone signal applied (Screen 5). The SSB two-tone signal is well-known, comprising two tones of equal amplitude mixed together. The choice of the two-tone frequencies varies somewhat throughout the world, but the 700Hz & 1900Hz combination generated by this unit is broadly accepted. This unit generates those tones to a high degree of accuracy, unlike many designs out there. The two-tone test provides a means of checking the quality of the modulator and the final output of an SSB transmitter, to arrive at a measure of linearity and the peak envelope power (PEP) output of the transmitter. Further information on these tests can be found on the internet. Circuit details As you can see from Fig.2, there is not much hardware involved. MOD1, an ESP32-S3 module, is the brains. It runs an Arduino sketch to scan the two switches, distinguishing between short, long and dual presses to provide the various functions. It also drives the OLED screen via a two-wire I2C serial interface and sends I2S data (similar to SPI) to MOD2, the PCM5102 DAC. The PCM5102 is used in 16-bit resolution mode, as a cursory glance at the data sheet will reveal there is nothing to be gained from using the higher 24-bit and 32-bit modes. Its distortion and signal-to-noise ratio specifications are limited by the internal DAC architecture. The lower resolution reduces the computational load on the ESP32 chip. This is a stereo DAC, so it provides left and right channel outputs, which are fed via trimpots VR1 and VR2 to op amp IC3, which is used as a buffer to provide low-impedance outputs. The sampling rate is set to 192kHz in Flat and RIAA modes, while SSB and SMPTE modes use 48kHz. This reduction in sampling rate is due The front and underside of the Audio Spot Frequency Oscillator PCB. The PCB mounts to the enclosure via four 30mm standoffs. This provides enough height so that the switches S1 & S2 protude through the front panel by approximately 2.5mm. While most of the components mount on the PCB, the DC power input jack, two RCA output connectors and power switch mount to the enclosure. Screen 7: the DC output calibration mode with the output voltage switched to negative. siliconchip.com.au Australia's electronics magazine October 2026  63 Fig.2: the circuit primarily comprises four modules connected together: the ESP32 microcontroller (MOD1), PCM5102 stereo DAC (MOD2), OLED screen (MOD3) and split-rail generator (MOD4). Added to those is dual buffer op amp IC1, two trimpots, two pushbuttons and a few capacitors. to the complexity of generating and maintaining the phase alignment between the two tones. The 2.828V peak-to-peak output level is the same in this mode as Flat mode, but because of the mixed We have not installed a power switch, as it is optional. 64 Silicon Chip tones, it is no longer equal to 1V RMS. Using the NE5532 as a buffer presented a bit of a challenge, since I wanted to be able to also generate DC voltages for trimming the AC output level, meaning I couldn’t use AC-­ coupling via capacitors. This forced me to use a split supply to power the op amp so I could DC-couple the signals. I decided that a DC-DC converter module was the easiest solution, so I used a 5V DC to ±12V DC converter device. At first, I was concerned about the cost, but the A0512S-1WR3 module does the job nicely at a very modest price. No power supply is complete without a selection of electrolytic and ceramic capacitors scattered around the schematic to filter/bypass the various power Australia's electronics magazine supplies appropriately. The DC-DC converter allows the unit to be powered from a single 5V DC power supply, drawing around 150mA. A word of caution on the OLED display module. There are variants that swap the Vcc and GND pins, so pay attention when wiring it up. The circuit shows the pinout for the version I used. DC calibration A typical multimeter is more accurate on DC ranges than AC, so it’s ideal to be able to use DC measurements to calibrate the unit. The calibration feature provides a DC output from the DAC at nominal levels of +2.828V and -2.828V DC. These levels are fed to the trimpots, allowing the user to set the DC output from the left and right buffered outputs to ±1.414V DC. This trims out DAC variations and also accounts for the 470W resistors (internal to the DAC IC) in series with the DAC outputs on MOD2. Since the AC peak output from the DAC siliconchip.com.au Fig.3: fit the components on both sides of the PCB as shown here. MOD1 and MOD2 should ideally be mounted via headers plugged into sockets; IC1 can also use a DIP socket. The OLED screens can have pin 1 be +3.3V or GND; check yours and use the appropriate header row. The terminal block wire entries face into the middle of the board. precisely tracks the DC values, after this adjustment, the AC output voltage will be very close to 1V RMS. To use this feature, power on the unit and wait until it starts up in Flat mode, then press and hold both the MODE and FREQUENCY switches together for two seconds. The unit will enter CALIBRATE mode with the DAC output set to 0V. Press and hold the MODE switch to unmute the unit. The output voltage will change to a nominal +2.828V (Screen 6). Use a DMM to measure the left and right outputs while adjusting the trimpot to achieve readings of +1.414V. After that, press the MODE switch to switch the polarity of the output to a nominal -2.828V (Screen 7); check that the readings are close to -1.414V. Pressing MODE will toggle the polarity of the output so a fine adjustment can be made to counter the op amp offset voltage if desired. Once you are happy with the settings, press the FREQUENCY button to exit CALIBRATION mode. siliconchip.com.au PCB assembly I initially built my prototype on a breadboard and powered it with 5V from a bench power supply. Even with such a crude setup, the AWA F240 noise and distortion meter yielded a reading of 0.0026%, which is at its noise floor. When I checked the bridge output (null circuitry) of the F240 with a DSO, I could still see a small residual 1kHz signal plus the inherent noise of the F240. This suggests that the theoretical distortion of the PCM5102, specified as 0.0022%, is being achieved or even exceeded. The good thing about this design is that this distortion figure and the output voltage are both constant across all the spot frequencies. The frequency is precise as well, since it is crystal-controlled. Since then, I have designed a 95 × 65mm PCB to make things easier to build and to package up into an enclosure, coded 04111261. The PCB holds the majority of the components, save the DC input jack, RCA Australia's electronics magazine output connectors and optional power switch. The PCB mounts in the enclosure via four 30mm standoffs directly screwed into the bosses. This sets the height of the PCB so that the tactile switch actuators protrude through the front panel/lid by around 2.5mm. The PCB overlay diagram, Fig.3, shows which components to fit on which side. The display and switches are on the opposite side to the other parts. Begin construction by soldering the headers onto the modules if they were supplied unsoldered. Some PCM5102 modules are not supplied with jumpers installed on links on the underside, so it is a good idea to check these and add solder bridges if needed. The links should be 1-L, 2-L, 3-H and 4-L (see Fig.4). I recommend using header sockets for mounting the ESP32-S3 and PCM5102 modules. This allows access to the ESP32-S3 USB COM port for programming in situ, since the screw terminals are normally in the way. This could be useful for the experienced among you to modify the code to add other features. For example, you might want to add a white or pink noise option, or design a WiFi web server interface to control the unit. The op amp can also be socketed, allowing you to try different op amps to see how various types perform if you are so inclined. When fitting components, solder the header sockets first to make aligning them easier. If these are not used, mount the OLED display and tactile switches, then all other components before finally fitting the modules. It generally works best to start with the lowest profile components, working up to the highest. When installing the electrolytic capacitors, pay attention to their polarity. The screw terminals are optional, but they make wiring up easier because wires don’t need to be Fig.4: the black rectangles show the required solder bridges on the bottom of the PCM5102 module if yours doesn’t come with them in place. October 2026  65 directly soldered to the PCB. The terminal blocks result in a much neater result in my view. Putting it all together Fig.5 shows where to drill holes in the lid for the switches and the suggested locations for the DC input socket and RCA sockets. The measurements are referenced to the centre of the lid. Add some masking tape to make it easier to set out the markings and to prevent scratching the clear lid. Use a nail or centre punch to make an indent in the plastic to help keep the drill centred. A step drill is ideal if you have one. Otherwise, start small with a pilot hole of around 2mm and work up to the required hole size in 1mm steps. Take it slow and easy, as plastic can be a challenge to drill with normal drill bits (it tends to ‘grab’ the bit). The placement of the DC jack and output connectors is only a suggestion, as you may want to use the buffered outputs, unbuffered outputs or both. You may also want a separate RIAA output to which divider resistors have been added. I prefer to use a single pair of outputs with inline attenuators I made myself. To mount the PCB, first screw the threaded end of the standoffs into the four outermost corner bosses in the case. The M3 screw section will cut into the plastic bosses well, but it will require firm downward force to ensure that the thread doesn’t strip on the way. A nut driver will help here if you have one; if not, use the screws as a tap to cut the threads first, then screw in the standoffs. The bosses are deep enough to accommodate the full length of the thread. Now you are ready to wire up the PCB to the DC and audio connectors. Light-duty hookup wire is suitable for all the connections since the voltages and currents are low. The common and signal wires of the left and right outputs can be twisted together if desired. Start by connecting the wires to the screw terminals, as that will help to get the lengths uniform when soldering to the connectors later. Don’t tin the wire ends to make them easier to insert into the terminals. Solder ‘creeps’ or ‘cold flows’ and over time, forming bad connections, so it’s a bad habit to get into. For a reliable connection, use the bare stranded wire Fig.5: where to drill the holes in the lid (for the button stalks) and the top end of the case (for the power and output sockets). Since the power/ output sockets are chassis mounting, you can move the holes or come up with a different arrangement as long as they won’t interfere with mounting the assembled board in the case. 66 Silicon Chip Australia's electronics magazine siliconchip.com.au end and twist it before inserting into the terminal. Before soldering to the DC input socket, double-check the polarity on the DC plug to make sure the DC input socket is wired the right way. Most commonly, the centre pin is positive, but that is not always the case, so check using a DMM to be sure. A quick check of the socket pins would not go astray either. This will also verify that the power supply is putting out close to 5V DC before you plug it into the unit, as AC or some other voltage could cause damage. Program the ESP32 if you haven’t already (see the adjacent panel). Once wired up and with the board not mounted, power up the unit. If all is well, once power is connected, red LEDs will light on the ESP32-S3 and PCM5102 modules, and the OLED display will come to life. Check it is functional by pressing the MODE and FREQUENCY buttons. Once you have confirmed everything is working, go through the DC calibration routine to set the buffered outputs to 1V RMS. The PCB can now be screwed down onto the standoffs with four short M3 machine screws. Usually, you can do without washers, but for the purists among us, these can be added – slightly longer screws may be required. If one or more of the standoffs don’t quite align with the PCB holes, a gentle push in the right direction should solve the problem. If you find the buttons are a bit low for your liking, you can either unscrew the standoffs a little to raise them, or add washers under the PCB to raise it. It is possible to mount the PCB to the lid; that may be required if using a different enclosure. You can use offboard momentary switches, wired via CON2 if you prefer. Before fitting the lid, it’s a good idea to power the unit up again and check that it is working as expected. If you want to power the unit from a battery, a USB power bank is ideal; all you need is the appropriate USB to 2.1mm DC plug cable. This unit could have incorporated more functions such as white and pink noise generation, IHF dynamic headroom testing, logarithmic sweeps and others. These could be added by modifying the code if desired. If there is sufficient demand, I may revisit the SC design and add these in future. siliconchip.com.au Programming the ESP32-S3 To program the chip, you will need the Arduino IDE installed on your computer, which can be downloaded from www.arduino. cc/en/software Make sure you have the ESP32-S3 DEV and a USB-A to USB-C cable on hand, or a USB-C to USB-C cable if your computer has a USB-C port. The steps are: Screen 8: the result of the Get Board 1. Install the ESP32 Board Core. If you Info menu item if the ESP32-S3 board have not programmed an ESP32 before, is connected correctly via USB. open the Arduino IDE, go to File → Preferences, and paste “https://espressif.github.io/ arduino-esp32/package_esp32_index.json” into the “Additional Boards Manager URLs” field. Then go to Tools → Board → Boards Manager, search for esp32 by Espressif and click Install. 2. Download the INO file from the Silicon Chip website at siliconchip.au/Shop/6/3651 3. Connect the cable to the ESP32-S3 USB port labelled COM, not the USB OTG port. 4. Connect the other end of the cable to your computer. 5. If using Windows, open Device Manager to find the COM port number that has been assigned to the board. 6. Start the Arduino IDE. 7. Click the File → Open menu and select the downloaded INO file. 8. Select the board type by going to Tools → Board → ESP32 and choosing ESP32-S3 Dev Module, with the COM port identified in step 5. 9. Configure the USB settings: go to Tools and ensure USB CDC On Boot is set to Disabled. 10. Click Tools → Get Board Info to confirm communication is established with the microcontroller hardware (see Screen 8). 11. Install the Adafruit_GFX library by navigating to Tools → Manage Libraries, searching for it by name, then clicking install. 12. Install the Adafruit_SSD1306 library from the same Library Manager window. If the IDE asks to automatically install missing dependencies like “Adafruit BusIO”, select Install All. 13. Click the Upload arrow icon to compile the code and flash it into the ESP32-S3. Parts List – Audio Spot Frequency Oscillator 1 double-sided PCB coded 04111261, 95 × 65mm 1 125 × 85 × 55mm Ritec/Hammond RP1135C plastic enclosure with clear lid [Altronics H0324] 4 3-way terminal blocks, 3.5mm pitch (CON1, CON2) 1 2.1mm ID panel-mount barrel socket (CON3) 2-4 red/white panel-mount RCA sockets 1 ESP32-S3 microcontroller module (MOD1) [AliExpress 1005012092039320] 1 PCM5102A DAC module (MOD2) [AliExpress 1005012157224842] 1 GME12864 or GM009605 0.96-inch OLED display module (MOD3) [AliExpress 32638662748] 1 A0512S-1WR3 DC/DC converter (MOD4) [AliExpress 1005006491073871] 2 6×6×15.3mm tactile pushbutton switches with 12mm-long actuators (S1, S2) 2 5kW 3296-style top-adjust multi-turn trimpots (VR1, VR2) 2 22-pin socket strips (for MOD1) 1 6-pin socket strip (for MOD2) 1 4-pin socket strip (for MOD2) 1 8-pin DIL IC socket (for IC1) 4 M3 × 30mm male/female tapped hex spacers [Würth 971300354] 4 M3 × 6mm panhead machine screws 6 150mm length of light-duty hookup wire Semiconductors 1 NJM5532D or LM833 dual low-noise op amp, DIP-8 (IC1) Capacitors 1 47μF 16V electrolytic 2 10μF 16V electrolytic 2 100nF 50V ceramic Australia's electronics magazine October 2026  67