Silicon ChipMax’s Cool Beans - June 2026 SILICON CHIP
  1. Contents
  2. Publisher's Letter: An unfortunate misprint in the May issue / It isn't "sideloading"; it's the normal way to install software
  3. Feature: Power Electronics pt2: Controlling DC-DC converters (missing page)
  4. Feature: Teach-In 2026 by Mike Tooley
  5. Project: RGB LED 'Analog' Clock by Nicholas Vinen
  6. Project: USB Power Adaptor by Andrew Levido
  7. Feature: Circuit Surgery by Ian Bell
  8. Project: SSB Shortwave Receiver, part two by Charles Kosina, VK3BAR
  9. Feature: Max’s Cool Beans by Max the Magnificent
  10. Feature: Power Electronics Part 3: Isolated DC-DC Converters by Andrew Levido
  11. Feature: Audio Out by Jake Rothman
  12. Feature: Techno Talk by Max the Magnificent
  13. Project: 433MHz Digital Receiver Module by Tim Blythman
  14. Subscriptions
  15. PartShop
  16. Market Centre
  17. Advertising Index
  18. Back Issues

This is only a preview of the June 2026 issue of Practical Electronics.

You can view 0 of the 80 pages in the full issue.

Articles in this series:
  • Teach-In 12.1 (November 2025)
  • Teach-In 2026 (December 2025)
  • Teach-In 2026 (January 2026)
  • Teach-In 2026 (February 2026)
  • Teach-In 2026 (March 2026)
  • Teach-In 2026 (April 2026)
  • Teach-In 2026 (June 2026)
  • Teach-In 2026 (July 2026)
  • Teach-In 2026 (August 2026)
  • Teach-In 2026 (September 2026)
  • Teach-In 2026 (October 2026)
  • Teach-In 2026 (November 2026)
Articles in this series:
  • Circuit Surgery (April 2024)
  • STEWART OF READING (April 2024)
  • Circuit Surgery (May 2024)
  • Circuit Surgery (June 2024)
  • Circuit Surgery (July 2024)
  • Circuit Surgery (August 2024)
  • Circuit Surgery (September 2024)
  • Circuit Surgery (October 2024)
  • Circuit Surgery (November 2024)
  • Circuit Surgery (December 2024)
  • Circuit Surgery (January 2025)
  • Circuit Surgery (February 2025)
  • Circuit Surgery (March 2025)
  • Circuit Surgery (April 2025)
  • Circuit Surgery (May 2025)
  • Circuit Surgery (June 2025)
  • Circuit Surgery (July 2025)
  • Circuit Surgery (August 2025)
  • Circuit Surgery (September 2025)
  • Circuit Surgery (October 2025)
  • Circuit Surgery (November 2025)
  • Circuit Surgery (December 2025)
  • Circuit Surgery (January 2026)
  • Circuit Surgery (February 2026)
  • Circuit Surgery (March 2026)
  • Circuit Surgery (April 2026)
  • AUDIO OUT (May 2026)
  • Circuit Surgery (June 2026)
  • Circuit Surgery (July 2026)
  • Circuit Surgery (August 2026)
  • Circuit Surgery (September 2026)
  • Circuit Surgery (October 2026)
  • Circuit Surgery (November 2026)
Items relevant to "SSB Shortwave Receiver, part two":
  • SSB Shortwave Receiver PCB set [CSE250202-3] (AUD $15.00)
  • SI5351A clock generator module (Component, AUD $7.50)
  • Micrometals Amidon T50-6 toroidal core (Component, AUD $5.00)
  • SMD transistor - BF998 12V 30mA dual-gate depletion-mode Mosfet (SOT-143) (Component, AUD $2.50)
  • 16x2 Alphanumeric module with blue backlight (Component, AUD $10.00)
  • SSB Shortwave Receiver front panel [CSE250204] (PCB, AUD $7.50)
  • SSB Shortwave Receiver firmware (CSE25020A) (Software, Free)
  • SSB Shortwave Receiver PCB patterns (PDF download) [CSE250202-3] (Free)
Articles in this series:
  • Max’s Cool Beans (January 2025)
  • Max’s Cool Beans (February 2025)
  • Max’s Cool Beans (March 2025)
  • Max’s Cool Beans (April 2025)
  • Max’s Cool Beans (May 2025)
  • Max’s Cool Beans (June 2025)
  • Max’s Cool Beans (July 2025)
  • Max’s Cool Beans (August 2025)
  • Max’s Cool Beans (September 2025)
  • Max’s Cool Beans: Weird & Wonderful Arduino Projects (October 2025)
  • Max’s Cool Beans (November 2025)
  • Max’s Cool Beans (December 2025)
  • Max’s Cool Beans (January 2026)
  • Max’s Cool Beans (February 2026)
  • Max’s Cool Beans (March 2026)
  • Max’s Cool Beans (April 2026)
  • AOShop (May 2026)
  • Max’s Cool Beans (June 2026)
  • Max’s Cool Beans (July 2026)
  • Max’s Cool Beans (August 2026)
  • Max’s Cool Beans (September 2026)
  • Max’s Cool Beans (October 2026)
  • Max’s Cool Beans (November 2026)
Articles in this series:
  • Power Electronics Part 1: DC-DC Converters (April 2026)
  • SSB Shortwave Receiver (May 2026)
  • Power Electronics Part 3: Isolated DC-DC Converters (June 2026)
  • Power Electronics Part 4: AC-DC Converters with Rectifiers (July 2026)
  • Power Electronics Part 5: power factor correction & EMI fifiltering (August 2026)
  • Power Electronics Part 5: power factor correction & EMI fifiltering (September 2026)
  • Power Electronics Part 5: power factor correction & EMI fifiltering (October 2026)
  • Power Electronics Part 5: power factor correction & EMI fifiltering (November 2026)
Articles in this series:
  • Audio Out (January 2024)
  • Audio Out (February 2024)
  • AUDIO OUT (April 2024)
  • Audio Out (May 2024)
  • Audio Out (June 2024)
  • Audio Out (July 2024)
  • Audio Out (August 2024)
  • Audio Out (September 2024)
  • Audio Out (October 2024)
  • Audio Out (March 2025)
  • Audio Out (April 2025)
  • Audio Out (May 2025)
  • Audio Out (June 2025)
  • Audio Out (July 2025)
  • Audio Out (August 2025)
  • Audio Out (September 2025)
  • Audio Out (October 2025)
  • Audio Out (November 2025)
  • Audio Out (December 2025)
  • Audio Out (January 2026)
  • Audio Out (February 2026)
  • Audio Out (March 2026)
  • Audio Out (April 2026)
  • Audio Out (June 2026)
  • Audio Out (July 2026)
  • Audio Out (August 2026)
  • Audio Out (September 2026)
  • Audio Out (October 2026)
  • Audio Out (November 2026)
Articles in this series:
  • Techno Talk (February 2020)
  • Techno Talk (March 2020)
  • (April 2020)
  • Techno Talk (May 2020)
  • Techno Talk (June 2020)
  • Techno Talk (July 2020)
  • Techno Talk (August 2020)
  • Techno Talk (September 2020)
  • Techno Talk (October 2020)
  • (November 2020)
  • Techno Talk (December 2020)
  • Techno Talk (January 2021)
  • Techno Talk (February 2021)
  • Techno Talk (March 2021)
  • Techno Talk (April 2021)
  • Techno Talk (May 2021)
  • Techno Talk (June 2021)
  • Techno Talk (July 2021)
  • Techno Talk (August 2021)
  • Techno Talk (September 2021)
  • Techno Talk (October 2021)
  • Techno Talk (November 2021)
  • Techno Talk (December 2021)
  • Communing with nature (January 2022)
  • Should we be worried? (February 2022)
  • How resilient is your lifeline? (March 2022)
  • Go eco, get ethical! (April 2022)
  • From nano to bio (May 2022)
  • Positivity follows the gloom (June 2022)
  • Mixed menu (July 2022)
  • Time for a total rethink? (August 2022)
  • What’s in a name? (September 2022)
  • Forget leaves on the line! (October 2022)
  • Giant Boost for Batteries (December 2022)
  • Raudive Voices Revisited (January 2023)
  • A thousand words (February 2023)
  • It’s handover time (March 2023)
  • AI, Robots, Horticulture and Agriculture (April 2023)
  • Prophecy can be perplexing (May 2023)
  • Technology comes in different shapes and sizes (June 2023)
  • AI and robots – what could possibly go wrong? (July 2023)
  • How long until we’re all out of work? (August 2023)
  • We both have truths, are mine the same as yours? (September 2023)
  • Holy Spheres, Batman! (October 2023)
  • Where’s my pneumatic car? (November 2023)
  • Good grief! (December 2023)
  • Cheeky chiplets (January 2024)
  • Cheeky chiplets (February 2024)
  • The Wibbly-Wobbly World of Quantum (March 2024)
  • Techno Talk - Wait! What? Really? (April 2024)
  • Techno Talk - One step closer to a dystopian abyss? (May 2024)
  • Techno Talk - Program that! (June 2024)
  • Techno Talk (July 2024)
  • Techno Talk - That makes so much sense! (August 2024)
  • Techno Talk - I don’t want to be a Norbert... (September 2024)
  • Techno Talk - Sticking the landing (October 2024)
  • Techno Talk (November 2024)
  • Techno Talk (December 2024)
  • Techno Talk (January 2025)
  • Techno Talk (February 2025)
  • Techno Talk (March 2025)
  • Techno Talk (April 2025)
  • Techno Talk (May 2025)
  • Techno Talk (June 2025)
  • Techno Talk (July 2025)
  • Techno Talk (August 2025)
  • Techno Talk (October 2025)
  • Techno Talk (November 2025)
  • Techno Talk (December 2025)
  • Techno Talk (January 2026)
  • Techno Talk (February 2026)
  • Techno Talk (March 2026)
  • Techno Talk (April 2026)
  • Techno Talk (May 2026)
  • Techno Talk (May 2026)
  • Techno Talk (June 2026)
  • Techno Talk (July 2026)
  • Techno Talk (August 2026)
  • Techno Talk (September 2026)
  • Techno Talk (October 2026)
  • Techno Talk (November 2026)
Max’s Cool Beans By Max the Magnificent Weird & Wonderful Arduino Projects Part 18: How did it get so late so soon? I was just cogitating on the new Chronological Contraption project we briefly introduced last month. Although we are still a long way from having to concern ourselves with the container to house it, I want it to be “a thing of beauty and a joy forever,” as John Keats famously said in his poem Endymion. As such, ideas have started to percolate through my overworked noggin. Whilst ruminating on this remit, I was reminded of a previous Cunning Chronometer project that I presented in a six-sided case. I was more than happy with how this turned out, especially the back panel, which I wanted to resemble an old-fashioned radio set from the late 1920s and early 1930s. I flatter myself that I succeeded (Photo 1). I’m particularly proud of the Morse code message in the middle, which reads, “How did it get so late so soon?” This is a quote commonly attributed to Dr. Seuss (Theodor Seuss Geisel). Although it’s true that “beauty is only skin deep”, and it may not functionally matter whether we craft a nice case or simply plonk it in a cardboard box, I believe that it’s the little details that matter when you are creating something to last. Even though few people get to see this back panel, I know it’s there, and those who do really appreciate it. That is the sort of thing I want to incorporate into the cabinet for our new Chronological Contraption. “What was the rationale for the hexagonal interpretation of the Cunning Chronometer?” I hear you muttering to yourself. I’m glad you asked. When I originally conceived this project, it was part of a competition between a few friends, with bonus points award- Photo 1: the back of my Cunning Chronometer. 42 ed for originality. I initially intended to add a nine-degrees-of-freedom (9DOF) inertial measurement unit (IMU) to the little scamp. This remains the plan, but ironically, I don’t have a timeline for its realisation. Between IMU and me... An IMU is an electronic device that measures how something is moving and how it’s orientated without requiring an external reference. At its core, an IMU measures acceleration (the rate of speeding up or slowing down) and rotation (the rate of turning). A basic IMU typically contains a three-axis accelerometer that measures translational (linear) motion along the X, Y, and Z axes, plus a three-axis gyroscope that measures rotational (angular) motion around the same axes. This would give us what’s referred to as six degrees of freedom (6DOF), because each axis of motion is independent (free) of the others. This has nothing to do with the “six degrees of Kevin Bacon”, although we can’t rule out the possibility that he’s distantly related to an IMU. Some IMUs also boast a three-­axis magnetometer that measures the Earth’s magnetic field, increasing the total degrees of freedom to nine, while providing some more heading information. There are various cheap-and-cheerful IMUs on the market. Although it’s a tad more expensive, my current favourite is the 9DOF Absolute Orientation IMU Fusion Breakout board from Adafruit (#4272), shown in Photo 2. This little wonder (https://pemag.au/ link/acbo [Amazon], acbp [Mouser], acbq DigiKey) is based on the Bosch BNO055 micro-electromechanical system (MEMS) sensor, which also includes a 32-bit microcontroller unit (MCU) for sensor fusion. Practical Electronics | June | 2026 Photo 2: a 9DOF IMU. Period (T) Amplitude Square Peak-to-Peak Amplitude Triangle The great thing about this Adafruit module is that they’ve provided Arduino code examples that get you up and running in a matter of minutes. When I eventually incorporate this little beauty into my Cunning Chronometer, I’ll be able to use it to perform tricks, like rotating the case and having the display automatically counter-rotate back to its regular position. I’ll also be able to lay the clock on its back and have it turn into a compass. I’m sure that function will come in handy one day! The reason I’m waffling about all this is that I’ve decided to add one of these IMUs to my retro game console. We could use it for all sorts of things, like controlling the serpent’s direction in our snake game by tilting the console. We’ll do that in next month’s column. But first... Let there be noise! As you may recall from last month’s column, while I was playing the latest and greatest version of our snake game, I realised that there was something missing: the tinny, quirky, ‘bleepy’ and ‘bloopy’, 8-bit Lo-Fi sounds one associates with the game consoles of yesteryear. The more I thought about this, the more I wanted to do it, so that’s what we’re going to do right now. But before we leap into the fray, we need to define a few simple concepts. ‘Waveform’ refers to a graphical representation of how a signal changes over time. The horizontal axis shows time progressing from left to right, while the vertical axis shows the signal’s amplitude (its magnitude at any point in time; for sound, this maps to loudspeaker movement). By looking at a waveform’s shape, we can get a good idea of how the signal behaves and, in the case of audio, how it will sound. Some basic waveforms include the square wave, triangle wave, sawtooth wave and sine wave, all illustrated in Fig.1. These are all examples of periodic waveforms, meaning that they repeat the same pattern over and over. Practical Electronics | June | 2026 Frequency f = 1/T Sawtooth Sine Time Fig.1: some fundamental waveforms. The period (T) is the time taken for one complete cycle of the waveform, while the frequency, f, is the number of cycles that occur each second. Both are related by the delightfully simple expression f = 1/T, which even my poor old noggin can understand. Frequency is measured in hertz (cycles per second). The faster the signal switches back and forth (the higher its frequency), the higher the pitch of the note we hear. This is where things start to get interesting. The reality in plain English is as follows. A square wave is the simplest to generate, very ‘digital’ in character and rich in odd harmonics, making it raspy. A triangle wave is smoother, still with only odd harmonics, and has much weaker higherfrequency components (I like to think of its sound as ‘soupy’). A sawtooth wave is brighter and richer, containing both odd and even harmonics; it’s in between a square wave and triangle wave in sound. A sine wave is a pure tone, consisting of a single frequency with no harmonics, sounding smooth and a bit eerie (ever heard a Theremin?). This means that in terms of perceived smoothness and refinement, we would order these waves as square → sawtooth → triangle → sine. However, if we were to consider things in terms of harmonic complexity, then the order would be sine → triangle → square → sawtooth. Perfectly pert piezos There are several ways to generate sound for a project like our retro game console, such as using a small loudspeaker or a piezoelectric buzzer. A loudspeaker typically requires additional drive circuitry, whereas a piezo buzzer can be connected directly to the Arduino, so that’s what we’ll use. There are two main types of piezo buzzer: active (the opinionated one) and passive (the one we like). An active piezo buzzer contains an internal oscillator circuit. These are often presented as two-pin modules: +V and GND. This is as simple as simple can be. When we apply DC power, we get a tone. The downside is that we can typically generate only one fixed pitch (eg, 2kHz), which makes it suitable only for on/off beeping. By comparison, a passive piezo buzzer consists of just a piezoelectric element, with no other components to speak of. These may be presented as three-pin modules: +V, GND and IO (the signal input). To make a sound, we need to apply a varying signal in the form of a square wave to the IO pin. A truly passive buzzer has just two terminals and behaves like a capacitor that makes noise. Either way, we can generate any frequency we like (within reason), enabling us to create clicks, chirps, sweeps and other sound effects. The passive piezo buzzer’s simplicity, combined with its ability to generate a variety of tones under software control, makes it an ideal choice for our purposes. It doesn’t provide hi-fi reproduction, but that isn’t what we want, anyway! In fact, we already introduced such a device in June 2023 as part of our 43 Photo 3: a passive piezoelectric buzzer module. lier). Eventually, we decided to bid a sad farewell to A3, leaving us with A0, A1, A2, A4, and A5 to play with. But wait! We can’t use A0 because, as we discussed last month, we are already using this pin to seed (initialise) the Arduino’s pseudo-random number generator (PRNG) with a suitably unpredictable value. In my case, I decided to use A1. However, if I eventually decide to mount my buzzer inside the console, I would swap this to A3, thereby freeing up the A1 pin on the 15-way connector. that the listing number (1 in this case) corresponds to the numerical part of the matching code file name (“01” here). Although we could have easily implemented everything in the loop( ) function, it’s a better idea to split the PlayClick( ) function out to facilitate reuse in our snake program later. We can call tone() in two ways. The simplest form, tone(pin, frequency), as seen on line 22, starts the tone and lets it run continuously. This is the approach we’re using. In this case, the sound will continue until we explicitly stop it using noTone(pin), as on line 28. Alternatively, we could specify a duration (in milliseconds) using tone(pin, frequency, duration). In this case, the Arduino automatically stops the tone after the specified time, which can be convenient for short sound effects like clicks and chirps. Because all of this is handled ‘behind the scenes’ using timers and interrupts, the overhead is minimal, making tone() an efficient way to add simple sound effects to our projects. Run this program to see what you think. You might try varying the frequency and duration of your clicks, remembering that a typical passive piezo buzzer works best in the 1-5kHz range. Engineering onomatopoeia Arduino Bootcamp series (Photo 3). These little scamps are available from multiple sources, including Amazon (www.amazon.co.uk/dp/B07PRTMF89). All we need to do is connect 0V to the GND pin on the left, 5V to the VCC pin on the right, and drive the centre pin (marked IO) from one of our Arduino Uno (or Nano) outputs. Questions, questions… The next question is: which Arduino output do we use? In the case of our game console, we can’t allocate any of its digital pins because they’re already tied up elsewhere, so we’ll have to turn to one of the analog pins (A0– A5), bearing in mind that these can also serve as digital input/outputs (I/ Os) if required. To get things up and running quickly without committing myself more than necessary, I mounted my buzzer on a small board that I plugged into the 15-way connector at the bottom of my console. As you may recall, we discussed my wiring scheme for this connector in the February 2026 issue (see Fig.2). Although the Arduino Uno boasts six analog pins, we could support only five on this connector. We decided to keep access to A4 and A5 in case we decide to add any I2C-based sensors later (like the IMU we discussed ear5V 0V 5V 0V 1 N A1 2 A5 3 E W 4 5 6 7 8 9 10 11 12 13 14 15 A0 A2 A4 Outside the case D3 D5 D7 D9 Inside the case D2 D4 D6 D8 R 44 S Since we’re here, let’s briefly dip our toes into the onomatopoeic engineering terminology waters. Onomatopoeia refers to words that imitate sounds, like buzz, click, beep and bang. We’ll start off with three basic sound effects: a short, sharp “click” to keep time with the snake’s slithering progress; a jaunty “chirp” when it snaffles a snack; and a suitably mournful “wail” when it manages to collide with something it really shouldn’t, thereby meeting an untimely end. The Arduino environment provides a handy function called tone() that makes generating simple sounds remarkably easy. When we call this function, we specify a pin and a frequency, and the Feeling chirpy Arduino produces a square wave on As uplifting as it is, we’re not talkthat pin at the requested frequency. ing about The Wiggles’ Feeling Chirpy This will cause our piezo buzzer to song from their Top of the Tots album vibrate and generate a sound. and video. Rather, our next task is to We know to our cost that changing emit a cheerful “chirp” sound when too many things at once is problematic. our snake snaffles a snack. So, as usual, we’ll take things step by We can create such a sound by sweepstep. Let’s start by generating a “click” ing the frequency upward over a short sound in isolation. I just created a quick period, using the code in the file named test program in the file named 1 // Click sound test program CB-jun26-code-01.txt (all files 2 mentioned in this column are 3 int buzzerPin = A1; part of the June 2026 download 4 package from the PE website at 5 void setup() 6 { https://pemag.au/link/acbm). 7 pinMode(buzzerPin, OUTPUT); This code is shown in Listing 8 } 1(a). We’re using the convention 9 Y G B Outside the case Fig.2: the wiring on my 15-way connector. 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 void loop() { // Play click repeatedly for testing PlayClick(); // Wait before repeating delay(500); // Pause between clicks } void PlayClick () { // Start tone at 2kHz tone(buzzerPin, 2000); // Wait a very short time delay(5); // short, sharp click // Turn tone off noTone(buzzerPin); } Listing 1(a): our click sound test. Practical Electronics | June | 2026 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 // Chirp sound test program int buzzerPin = A1; void setup() { pinMode(buzzerPin, OUTPUT); } void loop() { // Play chirp repeatedly for testing PlayChirp(); // Wait before repeating delay(1000); // Pause between chirps } void PlayChirp () { // Sweep from low to high frequency for (int freq = 1000; freq <= 3000; freq += 100) { tone(buzzerPin, freq); delay(20); // Short delay for each step } // Turn tone off noTone(buzzerPin); } Listing 2(a): our chirp sound test. CB-jun26-code-02.txt. Although each individual step is just a simple tone, our ears blend them together into a single rising sound that gives a pleasing sense of success. Consider the PlayChirp( ) function in Listing 2(a). In this case, we start at 1000Hz and climb to 3000Hz in 100Hz steps, each lasting 20ms, resulting in a short “wee-ooop!” style chirp. Take this program for a spin, then experiment by adjusting the chirp’s character. For example, you can make it faster and snappier by decreasing the delay value to 10, or slower and more expansive by increasing it to 30. You can generate a higher-pitched chirp by changing the loop control to for (int freq = 1500; freq <= 4000; freq += 100). Alternatively, for a more cartoony effect, try using larger steps, such as for (int freq = 1000; freq <= 3000; freq += 200). And for a slightly more polished version, reduce the delay to 15 and use for (int freq = 1200; freq <= 2800; freq += 50). The moment of doom So we find ourselves at the moment when our brave little serpent comes to a sticky end. This is where we get to indulge in a “uh-oh…” sound effect. To signal the snake’s untimely demise, we simply reverse the process we used in the “chirp”, sweeping the frequency downward (see the file named CBjun26-code-03.txt). By stretching the timing slightly, we can give the sound a more dramatic, sinking quality—rather like the snake realising, just a fraction too late, that things have gone horribly wrong. ConPractical Electronics | June | 2026 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 // Doom-and-Gloom sound test program int buzzerPin = A1; void setup() { pinMode(buzzerPin, OUTPUT); } void loop() { // Play D&G repeatedly for testing PlayDoomGloom(); // Wait before repeating delay(1500); // Pause between D&G } void PlayDoomGloom () { // Sweep from high to low frequency for (int freq = 3000; freq >= 300; freq -= 100) { tone(buzzerPin, freq); delay(30); // Increase for dramatic effect } // Turn tone off noTone(buzzerPin); } Listing 3(a): the doom and gloom sound test. sider the PlayDoomGloom() function or even 5ms each step? There’s only in Listing 3(a). one way to find out! This time, we start at a bright, attention-grabbing 3000Hz and fall to about It’s music to my ears! 300Hz, which is as low as the buzzer I just added our sound effects funcwill reasonably tolerate. We also use tions to the latest and greatest vera slightly longer delay of 30ms, which sion of our snake program, in the file gives the effect a more ‘sinking’ feel. named CB-jun26-code-05.txt. I tell you, The result is a classic “wahhh…” game- it’s amazing how much depth a little over sound. sound adds to the gaming experience. Fire up this new version of our proWhat’s that, you say? You’d like some gram and tickle your ears with its rueful homework? Well, I’m nothing if not refrain. Try making some tweaks for obliging. How about you try to come extra drama. For a faster panic drop, up with some effects of your own? Perdecrease the delay to 15; for a slower, haps a sound we could play when we more mournful effect, increase the start the game or move to a new level. delay to 40. How about a sound for when we beat Use bigger steps to achieve a more ‘8- our previous score? I’d love to hear bit’ feel using for (int freq = 3000; freq what you come up with. >= 300; freq -= 200). Since piezo buzzIf we decide to push things further ers can get a bit sulky at low frequen- in the future, there’s a whole field of cies, you can achieve a cleaner sound rabbit holes waiting for us, including by not dropping too low, using for (int playing little tunes, multi-note effects freq = 3000; freq >= 600; freq -= 100). and non-blocking sound routines. We Last but not least, if you want some- could even have some background thing a little more expressive and the- music as the snake slithers around! atrical, you can try slowing the sound But honestly, what we have now is as it falls, as in the file named 19 void PlayDoomGloom () CB-jun26-code-04.txt. This requires just a small 20 { int delayTime = 20; tweak to our PlayDoom- 21 22 Gloom( ) function, as illus- 23 // Sweep from high to low frequency trated in Listing 4(a). As you’ll 24 for (int freq = 3000; freq >= 300; freq -= 100) { see (well, hear), this gives it a 25 26 tone(buzzerPin, freq); distinct “oh no… oh no… oh 27 delay(delayTime); no…” quality as it tails off. 28 delayTime +=2; // Gladually slow down In this case, we commence 29 } with a 20ms delay between 30 // Turn tone off steps, increasing it by 2ms 31 noTone(buzzerPin); for each step. Do you wonder 32 33 } what it would sound like if we increased it by 3ms, 4ms, Listing 4(a): doomier and gloomier. 45 exactly right for our retro game aesthetic. Tick-tock Let’s get back to our new Chronological Contraption project. As discussed last month, this is intended to mark the years, months, days, hours, minutes, and seconds until the start of my 100th birthday celebrations, but you can use it for anything you want (it could even act as a clock at a pinch). We could implement this using any form of display, such as the 7-segment light-emitting diode (LED) displays we’re using on the retro game console. However, I decided to use Soviet-era vacuum fluorescent displays (VFDs), similar to the one shown in Photo 4. A VFD is essentially a vacuum tube containing phosphor-coated segments. Different combinations of segments can be activated to form numbers. They come in all sorts of shapes, sizes and form factors (this is true of both the tubes and their segments). In our case, we’re using the IV-11 type, which is conceptually similar to our 7-segment displays, including a decimal point segment. These IV-11 tubes are readily available as surplus NOS (new old stock) parts from hobby electronics sellers and on eBay. There are several reasons we chose VFDs, starting with their bright, crisp and easy-to-read display, which offers excellent visibility, a wide viewing angle and fast response times. They also have that wonderful ‘retro glow’ that’s hard to describe and impossible to resist. Compared to Nixie tubes (for which I also have a great fondness), VFDs are less expensive and operate at far lower voltages (around 20–30V instead of the 170–200V demanded by Nixies), making them a lot easier to drive. We will delve deeper into VFD technology next month (these really are awesome little devices) but we currently have other fish to fry. Photo 4: a vacuum fluorescent display (VFD) inside a glass tube. Source: https:// displaytubes.org/ vfd/reflectoriv-12/ 46 Fig.3: the layout of the main PCB; top side (left) and bottom side (right). How many digits? Since this is a pet project, I’ve decided to go all-out, using 14 tubes to display years, months, days, hours, minutes and seconds in a YYYYMMDD hhmmss format. Of course, you could always use fewer tubes. For example, you might reduce the year to a two-digit YY format, implicitly assuming the most significant digits are 20. There are all sorts of tricks we could play here, such as using only six digits to alternate between displaying YYMMDD and hhmmss. Following this train of thought, we could use only two digits to switch between displaying YY, MM, DD, hh, mm and ss. Still, that may be a little confusing. A cunning plan As usual, my ‘partner in crime’ on this project is my friend Joe Farr. It’s great to have someone to bounce ideas off. It’s also great to have someone to blame if things go pear-shaped, although, to be honest, that’s more of a benefit to Joe than me. To accommodate readers who want to build Chronological Contraptions of various sizes, Joe and I came up with a cunning plan worthy of Baldrick. The idea is to have a small printed circuit board (PCB) for each tube, with connectors that let them plug together to form chains of different lengths. The topside and underside of this board, which Joe and I typically refer to as the “main” board, are illustrated in Fig.3. Don’t worry about the nittygritty details at the moment; we’ll look into this in more depth next month. All we need to do now is wrap our brains around a few high-level details. Let’s start with the fact that the signal path goes from left to right. At the top of the board, we have two 2×10 (20way) right-angle PCB connectors. The input connector on the left is a male plug, while the output connector on the right is a female socket. The reason we decided to do things this way (rather than go with the socket on the left and the plug on the right) is to prevent potential problems with exposed plug pins (for once, we were thinking ahead). At the bottom of the board, we find our 11-pin VFD tube (we’ll talk about what all these pins do later). In the middle of the board, we have two integrated circuits (ICs) along with a single inline (SIL) resistor network. We opted to use through-hole (TH) components rather than their surfacemount device (SMD) counterparts to make it easy for anyone to build these. Once again, we’ll talk about all these components in more detail later. For now, we need only note that the 16-pin IC closest to the connectors is a trusty 74HC595 serial-in, parallel-out (SIPO) shift register. We’ve used it in several projects to date. The 18-pin IC snuggled up to the tube is the ULN2803A, which acts as a buffer/driver, allowing the 5V logic signals from the ‘595 to control the higher-voltage (~25V) signals required by the VFD. Only the VFD tube is mounted on top of the board; all other components, including the connectors and capacitors, are on the underside. Note that the image of the underside of the PCB, as shown on the right in Fig.3, represents the view as if we were looking through the board; hence the reversed text. We’d see a mirror-image of that if we physically flipped the board over. Let there be LEDs! I can almost see a frown furrowing Practical Electronics | June | 2026 SRCLK ORCLK ORCLK DATA_IN SR = Shift register OR = Output register CLK = Clock DATA_OUT To next digit From MCU or previous digit SRCLK 74HC595 ULN2803A VFD Tube Observer Fig.4: a high-level view of the functional flow. your forehead, thinking: “VFD tubes are all well and good, but is life really worth living if tricolour LEDs aren’t involved?” Fear not—we have you covered. We’re going to pair a 5050 package (5 × 5mm) tricolour NeoPixel with each VFD. Initially, we had planned to mount the NeoPixel on top of the board, directly beneath the tube. But experience has taught us to allow for the need to rework things if necessary. It would be somewhat embarrassing, frustrating, and time-consuming if a NeoPixel failed, and we had to go to all the effort of desoldering the 11-pin VFD just to replace it. Our solution is even more cunning. In Fig.3, you’ll see a small rectangular cutout directly beneath the tube. This allows us to place the board face down, drop the NeoPixel (also face down) into the opening and spot-solder its terminals to pads on the underside of the board. This means we can replace the NeoPixel in the future, should that be necessary, without removing the tube. (OR), which presents values to the outside world. The SRCLK (shift register clock) signal loads the 0 or 1 value on DATA_ IN into the shift register. Whatever 8-bit value is currently in the register shifts one bit to the right (where right is relative to the illustration in Fig.4). If multiple digits (boards) are daisychained together, the DATA_OUT from this board feeds into the DATA_IN of the next board in the chain. Once all the bits in the shift register chain have been loaded, the ORCLK (output register clock, sometimes called latch clock) signal is used to copy the contents of shift registers into the output registers, at which point they become visible to the outside world. I use the term ‘MCU’ (microcontroller unit) in Fig. 4 rather than Arduino because our daisy-chain of boards can be driven by pretty much any microcontroller. We will be using an Arduino here, but Joe has opted to use a PIC microcontroller for his implementation. I need some space! If we were to simply connect 14 of these boards together to display my YYYYMMDDhhmmss values in one big ‘chunk’ (not wishing to be too technical), the result would be less than userfriendly. We need to space things out a little to look more like YYYY_MM_ DD__hh_mm_ss. Rather than using ribbon cables or similar connectors to connect groups of digits, we decided to create a special spacer board, illustrated in Fig.5. At first glance, this board may appear to have nothing more than the two plug-and-socket connectors (boring). However, if you look closer, you’ll see a small rectangular cutout at the bottom of the board (exciting). This, of course, means that we will also be flaunting a tricolour NeoPixel on each of our spacer boards. In turn, these pixels will allow us to implement separator characters between groups of digits, such as colons between the hh:mm:ss time fields. Thus, we don’t actually need a double space A high-level view Focusing on the VFD portion, a highlevel view of the functional flow is shown in Fig.4. This is not a proper circuit diagram; it’s simply an abstract representation to give us a first-pass feel for how the main elements of the shift register chain and the data flow operate. As we know from previous experiments, ‘595 shift registers actually contain two 8-bit registers: the shift register (SR) itself and the output register Practical Electronics | June | 2026 Fig.5: the layout of the spacer PCB; top side (left) and bottom side (right). 47 Photo 5: a first prototype of the Chronological Contraption by Joe Farr. between the YYYY_MM_DD and the hh_mm_ss fields (although we could, if we wished, using two spacer boards) because we can simply leave this particular pixel off. Joe already has an early prototype of the Cunning Chronometer up and running (I only just received my PCBs back from the fabrication facility). As seen in Photo 5, Joe’s VFDs are fluorescent green, while the NeoPixels beneath his tubes are currently set to glow magenta. Joe is using laser-cut, laser-etched acetate strips as separators, with the NeoPixels beneath them set to glow blue. Sad to relate, this didn’t turn out quite as well as we’d envisaged, but we have more tricks up our sleeves (did you ever doubt us?) and we’ll be experimenting with some tastier ways to do this in a future column. Gabbing about Gerbers The main way we convey information to a PCB manufacturing facility is via a file format known as Gerber, created by an extraordinary individual named H. Joseph Gerber. There’s a biographical book titled The Inventor’s Dilemma: The Remarkable Life of H. Joseph Gerber (amazon. com/dp/0300123507), written by his son, David J. Gerber. As far as I’m concerned, this gripping tale falls squarely into the ‘must-read’ category. Joseph became one of America’s great inventors. Along the way, he revolutionised a variety of antiquated industries and created entirely new ones, including the digital plotters that transformed the way PCBs were manufactured. These days, when we want to create something new, we can draw on a vast pool of existing infrastructure. Take the Arduino system, for example. If you want to use it to drive motors, there’s a shield for that. If you want to connect your Uno to the internet via Wi-Fi, there’s a shield for that, too. More importantly, someone else has already invented Wi-Fi… and the internet… for you. 48 This simply wasn’t the case in Joseph’s day; there was little in the way of infrastructure for him to rely on. As part of developing his digital plotters, he also had to define the file format for describing the plot data. Thus, the Gerber format was born. Back to our boards We’ve been through several iterations of these boards; we started out using IV-6 tubes, but they turned out to be too wimpy for our purposes. I still have a box of the little rascals sitting on the desk next to me in my office, making me feel guilty. Joe has kindly made the Gerbers for the latest-and-greatest IV-11-based boards available to the rest of us (in a file named CB-jun26-CC-gerbers.zip). In addition to other files, this contains two more ZIP files: Clock_IV11_ V3.2_gerber.zip for the main board and Clock_Spacer_V3.2_gerber.zip for the spacer board. You can simply upload these ZIP files to the PCB fabricator of your choice. We’ll also make these boards available from our website shop located at www.electronpublishing.com if you want to take the easy route. I currently hang my hat in the USA, living amid a tumult of tariff turbulence that can transition day by day. While I have an honest desire to “buy locally”, all the quotes I got from domestic PCB manufacturers made my eyes water. When I was informed my small order would be well over $300 (£225), I soon found myself on the PCBWay website (www.pcbway.com). This is one of the best-known low-cost PCB fabrication and assembly services used by hobbyists, startups and even some professional engineers. They also support this publication, for which we are grateful! This was the first time I’ve worked with these folks, and I have to say that I am very impressed. I uploaded the ZIP file containing the Gerbers for the main board and selected 20 boards (14 for starters and six spares ‘just in case’). The cost of these boards was only $21.81 (£16.50), which works out to just a tad over a dollar (~£0.83) per board. Now, that’s more like it! We should probably note that five boards is the minimum order quantity on PCBWay, but even if you need only one, think about this: one is for testing, one is for ‘oops’, one is for modifications, with two spares (or for friends). Next, I uploaded the ZIP file containing the Gerbers for the spacer board and selected 10 boards (five for starters and five for spares). I know these are smaller and simpler than the main board, but I was still surprised to see a price of $5 (~£3.80) for all 10 boards, which even my poor mathematical skills tell me works out to only $0.50 (~£0.38) a board. The total came to $26.81 for all the boards (about £20), which brought a cheesy smile to my chubby cheeks. Even after adding $27.27 for shipping I still have no idea why they call me "Mad Max"! Devices and components used in this issue Passive piezo buzzer module https://pemag.au/link/acbn Practical Electronics | June | 2026 and $22.47 for assorted extras (bank fees, duties, taxes and tariffs), I was more than happy with the grand total— still only around $2.50 (£1.90) per board. Just a couple of weeks later, I had my Cunning Chronometer boards in my eager hands, and they look awesome (happiest of happy dances). We will move on to consider the other components next month, but first… ning Chronometer I wanted to share with you. When the count reaches zero (well, 0000 00 00 00 00 00)—at 11:45am British Summer Time (BST), thereby marking the 100th anniversary of my arrival on this planet—the Cunning Chronometer will burst into a veritable cornucopia of exuberant sound effects. I’m thinking a carillon pealing forth in exultation would make a rather nice touch. I mentioned my belief that my Cunning Chronometer is destined to become a treasured family keepsake. Thus, even if I’m not there to witness the completion of the countdown myself (I may be off canoeing up the Amazon or something of that ilk), my son Joseph and his family can gather round to tell each other tall tales of the magnificence that is Max. Of course, this may start to wear a little on the nerves after the first couple Ask not for whom… The phrase “for whom the bell tolls” originates from a 1624 meditation by John Donne, who wrote, “never send to know for whom the bell tolls; it tolls for thee”. Ernest Hemingway later borrowed the line as the title of his 1940 novel For Whom the Bell Tolls, helping to popularise the form of the saying that most people quote today. I’m mentioning this here because I’ve just remembered one facet of the Cun- of hours, at which point I expect someone to (reluctantly) unplug the unit from the wall. Unfortunately (for them), they will be blissfully unaware of the ultra-top-secret backup power supply embedded within the device. I think it would be a nice touch if the sound of the bells tolling were to return around 3:00am. the following morning, at which point we will all know “for whom the bell tolls”. Next time We will commence our next column by adding a 9DOF IMU to our retro game console. Next, we will delve deeper into VFD technology, consider the components required to implement the Cunning Chronometer, and start assembling its boards. As always, if you have any thoughts you’d care to share on anything you’ve read here, please feel free to email me PE at max<at>clivemaxfield.com ETI BUNDLE (1) Teach-In 3, 4 and 5 – all on CD-ROM – only £18.95 ELECTRONICS TEACH-IN 3 – CD-ROM ELECTRONICS TEACH-IN 3 EE M FR -RO CD Mike & Richard Tooley The three sections of the Teach-In 3 CD-ROM cover a huge range of subjects that will interest everyone involved in electronics – from newcomers to the hobby and students to experienced constructors and professionals. £7.99 FROM THE PUBLISHERS OF i The how and why of circuit design PRACTICALLY SPEAKING i The techniques of electronic project construction INGENUITY UNLIMITED The first section (80 pages) is dedicated to Circuit Surgery, EPE/PE’s regular clinic dealing with readers’ TeachFREE In nics queries on circuit design problems – from voltage TEACH-IN 1 CD-ROM ro TWO TEACH-INs FOR regulation to using SPICE circuit simulation software. THE PRICE OF ONE! The second section – Practically Speaking – covers hands-on aspects of electronics construction. Again, a whole range of subjects, from soldering to avoiding problems with static electricity and identifying components is covered. Finally, our collection of Ingenuity Unlimited circuits provides over 40 circuit designs submitted by readers. The CD-ROM also contains the complete Electronics Teach-In 1 book, which provides a broad-based introduction to electronics in PDF form, plus interactive quizzes to test your knowledge and TINA circuit simulation software (a limited version – plus a specially written TINA Tutorial). Teach-In 1 covers everything from electric current through to microprocessors and microcontrollers, and each part includes demonstration circuits to build on breadboards or to simulate on your PC. © blishing Ltd 20 10 1 Elec t i Over 40 different circuit ideas W i The free CD-ROM provides a broad-based introduction to electronics n Program Simulatio Circuit d version) (Limite ramming PIC Prog n) CODE V3 d versio 8 FLOW (Limite Software Quizzes to Test active ledge 8 Inter Your Know 8 TINA i A complete stand-alone tutorial in 11 parts plus free software Teach In 3 Cover.indd 1 10 13:21:42 29/04/20 dd 1 Mike & Richard Tooley The Teach-In 4 CD-ROM covers three of the most important electronics units that are currently studied in many schools and colleges. These include, Edexcel BTEC level 2 awards and the electronics units of the Diploma in Engineering, Level 2. The CD-ROM also contains the full Modern Electronics Manual, worth £29.95. The Manual contains over 800 pages of electronics theory, projects, data, assembly instructions and web links. It's an ideal way to learn about electronics. ELECTRONICS TEACH-IN 4 EE M FR -RO CD £8.99 FROM THE PUBLISHERS OF A BROAD-BASED INTRODuCTION TO ELECTRONICS FREE CD-RO M WORT H £29.9 5 i An eleven part tutorial i uses inexpensive circuit simulation software FREE M CD-RO THE MODERN ELECTRONICS MANuAL The essential reference work for everyone studying electronics i Over 800 PDF pages i In-depth theory autorun, should This software in Windows if not, open double-click and f Explorer index.pd requires This CD-ROM Reader™ from Adobe® dable Free Downloa be.com www.ado UAL MAN.co.u k BA SE .epe mag www © Wimbor Teach In 4 Cover.indd 1 Practical Electronics | June | 2026 The projects are: n Moisture Detector n Quiz Machine n Battery Voltage Checker n SolarPowered Charger n Versatile Theft Alarm n Spooky Circuits n Frost Alarm n Mini Christmas Lights n iPod Speaker n Logic Probe n DC Motor Controller n Egg Timer n Signal Injector Probe n Simple Radio Receiver n Temperature Alarm. ne Publishi ng Ltd. i Extensive data tables and web links £8.99 JUMP START 15 design and build circuit projects dedicated to newcomers or those following courses in schools and colleges PRACTICALLY SPEAKING The techniques of project construction PIC ‘N MIx Starting out with PIC microcontrollers FREE M CD-RO TEACH-IN 2 cal a practi Provides to PIC introduction llers microcontro ws for Windo CD ROM start should This CD y, if not automaticallindex.html double-click TWO TEACH-INs FOR THE PRICE OF ONE ! Plus: nika, MikroElektro Microchip pe L-Tek PoSco software The free CD-ROM provides a practical introduction to PIC microcontrollers Plus MikroElektronika, Microchip and L-Tek PoScope software In 2 TeachLtd nicsorne dsPIC are Publishing PIC and rated Ele©ctro MPLAB, logy Incorpo ogy 2013 Wimb and logo, Techno Technol ip ip name of Microchip Microch .09 arks 016-02 The Microch s. © 2013 ed tradem countrie 1. MCCD1 register d. Issue and other in the USAAll rights reserve Inc. PLUS 3 09:59:25 29/07/201 d 1 06/05/2010 16:22:29 CD Cover.in ELECTRONICS TEACH-IN 4 – CD-ROM, A BROAD INTRODUCTION TO ELECTRONICS Mike & Richard Tooley ELECTRONICS TEACH-IN 5 EE M FR -RO CD FROM THE PUBLISHERS OF 15 design and build circuit projects for newcomers or those following courses in school and colleges. CIRCUIT SURGERY Pu rne bo im ELECTRONICS TEACH-IN 5 – CD-ROM JUMP START Teach In 2 - JUL13.ind Teach In 5 Cover.indd 1 29/07/2013 10:00:29 PIC’n’ Mix – starting out with the popular range of PIC microcontrollers and Practically Speaking – tips and techniques for project construction. The CD-ROM also contains: n Complete Teach-In 2 book, a practical introduction to PIC microprocessors n MikroElektronika, Microchip and L-Tek PoScope software. Three Teach-ins for the great price of £18.95 PLUS you also get the contents of the free CD-ROM from each issue... ... so that’s another TWO Teach-Ins and The Full Modern Electronics Manual! 2011 14/11/2011 20:33:21 49