Silicon ChipADVANCED SMD TEST TWEEZERS - January 2024 SILICON CHIP
  1. Outer Front Cover
  2. Contents
  3. Subscriptions: PE Subscription
  4. Subscriptions
  5. Back Issues: Hare & Forbes Machineryhouse
  6. Publisher's Letter: Teach-In 2024
  7. Feature: Cheeky chiplets by Max the Magnificent
  8. Feature: Net Work by Alan Winstanley
  9. Project: Active Mains Soft Starter by John Clarke
  10. Project: ADVANCED SMD TEST TWEEZERS by Tim Blythman
  11. Project: Active Subwoofer For Hi-Fi at Home by Phil Prosser
  12. Feature: Max’s Cool Beans by Max the Magnificent
  13. Feature: Circuit Surgery by Ian Bell
  14. Feature: MITCHELECTRONICS by Robin Mitchell
  15. Project: Audio Out by Jake Rothman
  16. PCB Order Form
  17. Advertising Index: Bush MB60 portable radio by Ian Batty

This is only a preview of the January 2024 issue of Practical Electronics.

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

Articles in this series:
  • (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)
Items relevant to "Active Mains Soft Starter":
  • Active Mains Soft Starter PCB [10110221] (AUD $10.00)
  • PIC12F617-I/P programmed for the Active Mains Soft Starter [1011022A.HEX] (Programmed Microcontroller, AUD $10.00)
  • Firmware for the Active Mains Soft Starter [1011022A] (Software, Free)
  • Active Mains Soft Starter PCB pattern (PDF download) [10110221] (Free)
  • Active Mains Soft Starter lid panel artwork (PDF download) (Free)
Articles in this series:
  • Active Mains Soft Starter, Part 1 (February 2023)
  • Active Mains Soft Starter, Part 2 (March 2023)
  • Active Mains Soft Starter (January 2024)
  • Active Mains Soft Starter (February 2024)
Items relevant to "ADVANCED SMD TEST TWEEZERS":
  • Advanced/ESR Test Tweezers back panel PCB (blue) [04105242] (AUD $2.50)
  • Advanced SMD Test Tweezers PCB set [04106221+04106212 {blue}] (AUD $10.00)
  • PIC24FJ256GA702-I/SS programmed for the Advanced SMD Test Tweezers (0410622A.HEX) (Programmed Microcontroller, AUD $15.00)
  • 0.96in cyan OLED with SSD1306 controller (Component, AUD $10.00)
  • Advanced SMD Test Tweezers kit (Component, AUD $45.00)
  • Firmware for the Advanced SMD Test Tweezers [0410622A.HEX] (Software, Free)
  • Advanced SMD Test Tweezers PCB patterns (PDF download) [04106221+04106212] (Free)
  • Advanced SMD Test Tweezers sticker artwork (PDF download) (Panel Artwork, Free)
Articles in this series:
  • Advanced Test Tweezers, Part 1 (February 2023)
  • Advanced Test Tweezers, Part 2 (March 2023)
  • ADVANCED SMD TEST TWEEZERS (January 2024)
  • ADVANCED SMD TEST TWEEZERS (February 2024)
Items relevant to "Active Subwoofer For Hi-Fi at Home":
  • Bookshelf Speaker Passive Crossover PCB [01101201] (AUD $10.00)
  • Bookshelf Speaker Subwoofer Active Crossover PCB [01101202] (AUD $7.50)
  • Bookshelf Speaker Passive and Active Crossover PCB patterns (PDF download) [01101201-2] (Free)
  • Bookshelf Speaker System timber and metal cutting diagrams (PDF download) (Panel Artwork, Free)
Articles in this series:
  • Easy-to-build Bookshelf Speaker System (January 2020)
  • Building the new “bookshelf” stereo speakers, Pt 2 (February 2020)
  • Building Subwoofers for our new “Bookshelf” Speakers (March 2020)
  • Stewart of Reading (October 2023)
  • Stewart of Reading (November 2023)
  • ETI BUNDLE (December 2023)
  • Active Subwoofer For Hi-Fi at Home (January 2024)
  • Active Subwoofer For Hi-Fi at Home (February 2024)
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)
Raspberry Pi Pico W BackPack Our Raspberry Pi Pico BackPack from March 2023 has a powerful dual-core 32-bit processor, 480 × 320 pixel colour touchscreen, onboard real-time clock, SD card socket, stereo audio output and infrared receiver. Now, for about £5 more, it has Wi-Fi too! Project by Tim Blythman M icrocontrollers have become so easy to use, cheap and accessible for hobbyists, while chips like the ESP8266 have made it simple to use Wi-Fi. The Raspberry Pi Foundation’s Pico W is an inexpensive, well-documented 32-bit microcontroller board with Wi-Fi that is well-suited to being used with the LCD BackPack. Examining the Pico W, we found that it was mostly interchangeable with the Pico but with added Wi-Fi support. So it was only natural to update the Pico BackPack to include Wi-Fi support using the Pico W. As it turns out, that was not hard to do. From launch, the Pico supported the MicroPython and C languages (using the Raspberry Pi Foundation’s C software development kit). Arduino support in the form of the Arduino Pico board profile came soon after. The Raspberry Pi Foundation has made many inexpensive single-board computers and microcontroller boards available to the masses, even during Features and Specifications ∎ Includes a 3.5-inch LCD touch panel and a dual-core microcontroller with Wi-Fi. ∎ Also includes all the features of the original Pico BackPack. ∎ We provide software demos and examples for the Arduino IDE, C SDK and MicroPython. ∎ Our provided sample code demonstrates practical uses of HTTP, UDP and NTP. 26 Raspberry Pi is a trademark of the Raspberry Pi Foundation the recent electronics component and device shortages. The Pi Pico series are simple but well-thought-out boards, and are attractively priced for what they offer. BackPack hardware We considered whether it was worthwhile to update the Pico BackPack PCB to complement the Pico W, but ultimately, we decided not to make any significant changes. The thing is, the Pico BackPack crams a lot of features into a small area corresponding to the size of the matching LCD touch panel. To add any features would likely mean removing some of the existing features, which we didn’t want to do. The Pico BackPack has a row of I/O pins to make external connections, so it’s easy enough to connect different hardware if necessary. Thankfully, we’d already established that the Pico W didn’t ‘break’ any existing functionality of the Pico BackPack. So the BackPack PCB remains the same for the Pico W, although we will recommend a minor assembly variation to enhance the Wi-Fi capability. The Pico W BackPack The only substantial difference between the Pico BackPack and the Pico W BackPack is the replacement of the Pico module with a Pico W. All the pins on the Pico W are labelled the same as those on the Pico, so none of the signals or I/O pin breakouts need to change. Remember that both the BackPack PCB and LCD touch panel have large solid copper areas that could impede Wi-Fi signal propagation. Therefore, we recommend that the Pico W is mounted slightly away from the BackPack PCB to provide better clearance for its onboard Wi-Fi antenna. We used header strips to provide this spacing. You could also use low-profile socket headers and short pin headers if you wish to make the Pico W pluggable. We tried this and found it worked well, although it was fiddly to assemble. Circuit details Fig.1 shows the circuit diagram for the Pico W BackPack. It is identical to the original Pico BackPack, with the Pico replaced by a Pico W. IRRX1 at top left allows the Pico W to receive IR signals on its GP22 digital input. The LCD touch panel connects to power and the SPI bus at the top, as does the microSD card socket at upper right. The two transistors on the right control the power to the LED backlight on the LCD touch panel. Below this, a DS3231 real-time clock and calendar IC connect to the I2C bus. Finally, the components at the bottom, including the op amps, can deliver line-level audio at CON3. They connect to pins on the Pico W that generate pulse-width modulated (PWM) signals to provide synthesised analogue voltages. For more details and specifics about how the various features work on the Pico BackPack PCB, refer to the March 2023 article which discusses software to interface to the BackPack hardware. Practical Electronics | January | 2024 Pi Pico BackPack Fig.1: the Pico W BackPack circuit is almost identical to the Pico BackPack. It includes an IR receiver, microSD card, real-time clock, audio output and LCD touch panel. A 20-way header provides access to power and spare I/O pins for adding more features. The 1kW resistor at IRRX1’s output is not needed in most cases. Construction While that March 2023 article has more detail on assembling the PCB and fitting it to the LCD touch panel, experienced constructors should have no trouble using the overlay in Fig.2 to assemble the PCB. If you refer to that earlier article, the PCB construction is no different until you get to the Pico W module. Most IR receivers will not need the 1kW resistor; in fact, it will interfere with their weak internal pullup. Hence, it has been omitted from the overlay and is not seen in our photos. Don’t forget the cell holder on the Practical Electronics | January | 2024 reverse of the PCB if you are fitting the real-time clock IC. Lines separate the various sections of the board on the silkscreen. That helps you to omit some components if you wish to reclaim some I/O pins by not using those features. As we mentioned earlier, the Pico W should be spaced away from the main BackPack PCB and also kept clear of the LCD above. Thus, we have added two 20-way pin header strips to the parts list. Solder these to the BackPack PCB, with the plastic carrier sitting above. Then solder the Pico W to the top of the pin headers. The plastic carrier separates the Pico W from the BackPack PCB. Our photos show how the Pico W is spaced above the BackPack PCB by a small distance. The other option requires low-­profile (5mm) header sockets too. Altronics Cat P5398 (for example) can be used but you will need two lengths, cutting them down to 20 pins each. The fiddly part is fitting the pin headers to the Pico W, as this requires removing the metal pins from their plastic carrier to minimise the height. Although 27 The release of the Pico W has allowed us to update the Pico BackPack with Wi-Fi. It’s a powerful combination that we think will be the basis of some diverse and interesting projects. We’re providing several practical Wi-Fi demos to make it easy to pick up and use. the plastic carrier is only 2.5mm high, it’s enough to cause the Pico W to foul the LCD, so it must be removed. After pulling the pins out of the plastic carrier, insert them individually into the socket header entries. You can then place Pico W over the pins and solder them to it. Depending on the length of the pins, they might also need to be trimmed so that the pins do not foul the LCD screen. The only advantage of that more fiddly approach is that the Pico W is removable. We figure it’s inexpensive enough that you are better off saving the effort and just soldering it. Software with Wi-Fi support Of course, we need some sample code that uses Wi-Fi to show off the Pico W’s new feature. Since PicoMite BASIC will not support the Pico W’s Wi-Fi, our software samples do not include PicoMite BASIC. Existing PicoMite BASIC programs should work fine on the Pico W, with the minor exception that the Pico W’s onboard LED is driven differently, so it can’t be controlled as it would be on a Pico. We have updated the Arduino, C SDK and MicroPython examples to add Wi-Fi features. As we noted in our review of the Pico W, a document called ‘Connecting to the Internet with Raspberry Pi Pico W’ explains how to do this with the C SDK and MicroPython. But that guide is quite basic; our sample code does much more. Since the updated demos are based on the earlier versions we made for the original Pico BackPack, we recommend reading the original Pico BackPack article for information on the original features. 28 One of the great features of the Pico and the Pico W is the bootloader which implements a virtual flash drive, allowing software to be uploaded by simply copying a file to the virtual drive. The bootloader is in mask ROM in the RP2040 microcontroller that runs the Pico and Pico W. This makes it practically impossible to ‘brick’ the Pico or Pico W, as the bootloader cannot be overwritten. Bootloader mode is entered by holding down the BOOTSEL button on the Pico or Pico W while powering up or resetting the chip. Since the BackPack provides a reset button, you can start the bootloader by pressing and holding BOOTSEL while pressing S1 on the BackPack. Software images for the Pico and Pico W use the UF2 file type, which is a binary format, unlike the text-based HEX files used for other chips like PIC microcontrollers. If you are simply interested in seeing what the Pico W BackPack is capable of doing, all you need to do is copy the respective UF2 file to it after putting the Pico W into bootloader mode. We’ll go into a bit more detail about the workings of the software later in this article. To simplify entering the Wi-Fi credentials, you can set them using the virtual serial port. You will need a serial terminal program, such as Tera­ Term, minicom or the Arduino Serial Monitor, to communicate with the Pico W. You might notice that the demo .uf2 files are larger than the Pico examples due to the extra libraries needed to communicate with the Wi-Fi chip. The Wi-Fi chip also needs a 300kB binary ‘blob’ to work, which is bundled into the firmware images. Arduino coding The team that created the Arduino-­Pico port for the Arduino IDE has done a good job of aligning the Pico W’s Wi-Fi API (application programming interface) to that used by other Wi-Fi boards, such as those based on the ESP8266 and ESP32 processors. Indeed, it is based heavily on that of the ESP8266. You might remember the D1 Mini BackPack from the October 2021 issue of PE. It uses an ESP8266-based D1 Mini module to drive an LCD touch panel and has many features in common with the Pico W BackPack. We’re using version 2.5.2 of the Arduino-Pico board profile, although versions as old as 2.30 should support the Pico W. You can find more information about the board profile at: https://github.com/earlephilhower/ arduino-pico Fig.2: the lines on the overlay delineate the components that provide the different features of the Pico W BackPack. There is also a cell holder on the rear of the PCB, used by the real-time clock IC to keep time when power is not otherwise available. The Pico W is spaced above the main PCB to improve the performance of its Wi-Fi antenna. Practical Electronics | January | 2024 As well as adding Wi-Fi support, we’ve updated the Arduino sample code to include an infrared receiver decoding library. In our original Pico BackPack article, we mentioned that we expected the IRRemote library to be ported to the Pico (and Pico W), which has now happened. You can find that library online at https://github.com/Arduino-Irremote/ Arduino-Irremote or it can be installed by searching for ‘irremote’ in the Arduino Library Manager. We have also included a copy of the version we’ve used in the software bundle. Screen 1 shows the BackPack running our updated Arduino Pico W sample. We have added some text to the LCD panel to show the status of the Wi-Fi hardware. Setting up the Wi-Fi Since using the Pico W in a meaningful way requires that it connect to a Wi-Fi network, we have added a configuration menu on the virtual serial port. We did it that way, rather than using the touchscreen, because it’s easier to enter Wi-Fi credentials via a computer rather than an on-screen keyboard. Screen 2 shows the menu that is presented over the serial port by the Arduino software. Items are selected by typing the number and pressing the Enter key. Items 2 and 3 will prompt for the SSID name and password, also followed by Enter. This demo can scan for Wi-Fi networks and connect by name and password. It can also connect to a website over HTTP to retrieve data from the internet. In this case, we have used ip-api.com to get some location text to display, along with a timezone offset for that location. This isn’t perfect and would probably be fooled by a VPN (virtual private network), but it will usually give the correct timezone. We think it is a simple and effective way of demonstrating the use of HTTP on the Pico W. We also use NTP (network time protocol) to provide the current time in UTC, adjusted by the timezone offset to provide accurate local time. This can then be saved to the RTC IC on the BackPack. To do all this, you would use menu items 2, 3 and 4 to connect to a Wi-Fi network, followed by 8 to get the offset and 7 to set the RTC. You can set the offset manually using item 6 if item 8 does not work. The IRRemote library is also used to capture and decode IR signals, as displayed in the line beginning ‘NEC’ in Screen 1. This indicates that an NEC code was last received and shows that code. Practical Electronics | January | 2024 Parts List – Pico W BackPack 1 double-sided PCB coded 07101221, 99 x 55mm (from PE PCB Service) 1 Raspberry Pi Pico W Module (MOD1) [Altronics, Core, Digi-Key, Little Bird] 1 3.5in LCD touchscreen [Silicon Chip Shop Cat SC5062] 1 14-pin, 2.54mm pitch socket header (for LCD panel) 3 20-pin, 2.54mm pitch pin header (CON2 & to mount Pico W) 2 20-pin low-profile (5mm tall) 2.54mm pitch socket headers (optional) 2 2-pin, 2.54mm pitch pin headers with jumper shunts (JP1, JP2) 1 6mm x 6mm tactile switch (S1) 8 M3 x 6mm panhead machine screws 4 M3 x 12mm tapped spacers Semiconductors 1 IRLML2244TRPBF/SSM3J372R P-channel MOSFET, SOT-23 (Q1) 1 2N7002 N-channel MOSFET, SOT-23 (Q2) Resistors (all M3216/1206, 1%, ⅛W) 1 10kW 1 1kW Optional Components Reproduced by arrangement with SILICON CHIP magazine 2023. www.siliconchip.com.au SD card 1 SMD microSD card socket (CON1) [Altronics P5717] 1 10μF 10V X7R SMD ceramic capacitor, M3216/1206 size 1 100nF 10V X7R SMD ceramic capacitor, M3216/1206 size Real time clock/calendar 1 surface-mounting CR2032 cell holder (BAT1) [BAT-HLD-001] 1 DS3231 or DS3231M in SOIC-16 (wide) or SOIC-8 package (IC1) 1 100nF 10V X7R SMD ceramic capacitor, M3216/1206 size 2 4.7kW 1% ⅛W M3216/1206 size IR receiver 1 3-pin infrared receiver (IRRX1) [Jaycar ZD1952] 1 10μF 10V X5R SMD ceramic capacitor, M3216/1206 size 1 1kW 1% ⅛W resistor M3216/1206 size (see text) 1 470W 1% ⅛W resistor M3216/1206 size 1 100W 1% ⅛W resistor M3216/1206 size Stereo audio 1 MCP6272(T)-E/SN, MCP6002(T)-I/SN or -E/SN dual op amp, SOIC-8 (IC2) 1 3-pin, 2.54mm pitch pin header (CON3) 2 1nF 25V X7R SMD ceramic capacitors, M3216/1206 size 2 100nF 10V X7R SMD ceramic capacitors, M3216/1206 size 2 10uF 10V X5R SMD ceramic capacitors, M3216/1206 size 4 100kW 1% ⅛W resistor M3216/1206 size 2 47kW 1% ⅛W resistor M3216/1206 size 2 22kW 1% ⅛W resistor M3216/1206 size 2 10kW 1% ⅛W resistor M3216/1206 size 2 100W 1% ⅛W resistor M3216/1206 size Code differences The Arduino code for the updated Pico W BackPack differs from the earlier Pico BackPack example only in the main sketch file, plus the requirement to have the IRRemote library installed. It uses other library files that are part of the Arduino-Pico board profile, including those needed for Wi-Fi. Those who have worked with modules based on the ESP8266 or ESP32 will be familiar with how Wi-Fi works under the Arduino IDE; the Pico W is similar. Three library ‘includes’ are used to implement the Wi-Fi features: #include <WiFi.h> #include <WiFiUdp.h> #include <HTTPClient.h> NTP requires the UDP protocol for communication, hence its inclusion. Fetching web pages uses HTTP. Scanning for networks is done by running a single line of code, as is connecting to a network: WiFi.scanNetworks(); WiFi.begin(ssidname,ssidpass); These calls are blocking (ie, the program doesn’t proceed until the action is completed), and the latter can take up to ten seconds to run. So they may not suit all applications. The C SDK gives better access to the low-level commands and might be more suited if blocking calls are not desired. It is possible to use function calls from the C SDK in the Arduino IDE, 29 ► Screen 1: the Arduino demo for the Pico W has the most features, primarily due to the excellent library support the Arduino community offers. Apart from the new Wi-Fi features, there is now also support for the IR receiver. ► Screen 2 (right): all the demos include a menu system that can be accessed from a serial terminal program. This is to simplify entering the Wi-Fi credentials needed for the demo to work. The Arduino output is shown here. but we preferred to keep the Arduino code consistent with the Arduino way of doing things. NTP is implemented as a background routine that simply needs to be started and then quietly synchronises in the background. Fetching a website using HTTP can be done in a few lines: http.begin(wificlient,URL); httpCode=http.GET(); Serial.print(“Return code:”); Serial.println(httpCode); if(httpCode == 200) { Serial.println( http.getString() ); } We got around some of the longer blocking sections by using the second processor core to do some tasks in the background without interrupting the main program flow. These can be seen in the setup1() and loop1() functions. At the time of writing, we have not seen an official Arduino board profile for the Pico W, so we were unable to try this out as we did for the Pico. But the Arduino-Pico board profile appears to be updated regularly and works well; we have no hesitation in recommending it. Using it with the C SDK Screen 3 shows the LCD panel of the BackPack loaded with the C SDK (software development kit) demo. It includes similar elements to the Arduino example, although the C SDK does not have library support for the IR receiver or RTC chip. There is an RTC feature in the Pico W (and Pico) that can be used by C SDK, but it doesn’t provide the battery backup timekeeping feature that 30 chips like the DS3231 have. It needs the time to be set each time Pico W is reset. Since the Pico W uses a crystal oscillator, it should be pretty accurate once it has been set. The C SDK performs similar tasks to the Arduino demo, using a Wi-Fi connection and NTP to update the RTC. Location and timezone data are also fetched from ip-api.com using HTTP. Several library files are needed for Wi-Fi support. The first file is required to interface with the Infineon CYW43439 chip that provides the Wi-Fi interface, while the others provide library support for HTTP and NTP: #include “pico/cyw43_arch.h” #include “lwip/apps/http_client.h” #include “lwip/apps/sntp.h” To properly use the C SDK with the Pico W, we had to make a few changes to the CmakeLists.txt file, especially in the target_link_libraries and add_definitions sections. Look at our sample project to see what to do before creating your own projects. While the C SDK is primarily intended to be used on a Raspberry Pi computer, we ran it on a Windows PC using the pico-setup tool that can be found at https://github.com/ndabas/ pico-setup-windows This resulted in many minor glitches, especially as some of the commands are subtly different. If you have a Raspberry Pi computer handy, you might find it more straightforward to program the Pico W via the C SDK. Just as for the original Pico BackPack demos, the C SDK software runs very Screen 3: the C SDK demo runs fast, with good access to low-level functions. Support for protocols like NTP and HTTP is very good once you get it working. Practical Electronics | January | 2024 simply left with the tantalising statement from the folks at the Raspberry Pi Foundation that it ‘may be enabled in the future’. Screen 4: the MicroPython demo has similar capabilities to that of the C SDK. It’s possible to use the drawing feature of the demo, but it is not very responsive. fast and some lower-level functions allow more control than we could easily achieve with the Arduino IDE. In most cases, the serial port menu is used to start an action, such as starting a network scan or connecting to a Wi-Fi network. These do not return immediately like the Arduino equivalents. Instead, the main program monitors the status of variables like the Pico W’s IP address and displays information as it gets updated in time. This means that the main program is not blocked from other operations while network activity occurs. Using HTTP requires several callback functions to be set, meaning that using the C SDK can seem a bit more complicated than using the Arduino IDE. Still, if you have the patience to set up and delve into the C SDK, we recommend trying it, especially if you need to get the most performance from your Pico W BackPack. MicroPython The MicroPython version available for the Pico W at the time of writing is tagged as ‘unstable’, although we did not have any issues using it. We have included a copy of this version with our software bundle. Note that there are different MicroPython UF2 files for the Pico and Pico W. Be sure to use the correct version. Our MicroPython demo has much the same features as the C SDK demo, as shown in Screen 4. We haven’t made any changes to the two library files (from the original Pico BackPack demo); only the main.py file has been updated. Just like the Arduino IDE, several libraries must be imported to provide Wi-Fi functionality: Practical Electronics | January | 2024 import network import urequests import ntptime We noted that the original Micro­Python software was barely fast enough to be useful. The addition of the Wi-Fi features does make interacting with the LCD touch panel quite slow. Still, we expect most people would not try to cram in all the features that we have. Like the Arduino code, many MicroPython routines are blocking and may not return for many seconds. The features available are much the same as the C SDK, with options to scan for networks and set the SSID name and password. You can connect, disconnect and make an HTTP request to retrieve data. Is there Bluetooth support? Since the Infineon CYW43439 Wi-Fi chip has support for Bluetooth, many people have been left wondering whether the Pico W will be able to use Bluetooth. At the time of writing, it appears that is not the case. Instead, we are Summary Our demo code does many things you might typically do with a Wi-Fi-­ capable microcontroller: connect to a network, make HTTP requests to fetch data from websites and use NTP to set the time. The Arduino IDE (using Arduino-­ Pico) and MicroPython made this very easy. We found the Arduino IDE more attractive as it has better library support, and the code runs quicker since it uses a compiled rather than interpreted language. The C SDK was a bit more tricky to work with, but the results are fast and responsive. It also gave us much better access to low-level operations. Bluetooth will be a nice feature to have when it arrives, but as it stands, the Pico W is very useful at its current price and works very well with the BackPack hardware. Now that we have Wi-Fi working well with the C SDK, we think the Pico W will be a good choice for future projects needing Wi-Fi. The Arduino IDE will be a handy option when we want to quickly interface with hardware, especially if it needs library support. Availability At the time of writing, the Pico W was available from: ∎ The PiHut https://thepihut.com ∎ Amazon UK https://www.amazon.co.uk/s?k=pico+w ∎ Cool Components https://coolcomponents.co.uk/products/ raspberry-pi-pico-w ∎ Pimoroni https://shop.pimoroni.com Other retailers include Farnell, element14, Digi-Key and Mouser. Expect to pay around £6.50. This shows the spacing needed to give clearance for the Pico W’s Wi-Fi antenna. Short pin headers are the simplest way to achieve this while also keeping clear of the LCD touch panel, which is mounted above. 31 High-Performance Part 1: By Phil Prosser Active Subwoofer For Hi-Fi at Home This subwoofer is designed to be a no-compromise approach to a ‘sub’, making it a perfect match for a high-quality home theatre system, or as part of a high-fidelity stereo system. T he Active Subwoofer uses an SB Acoustics SB34SWNRX -S75-6 346mm (12-inch) driver plus a built-in 200W class-AB amplifier module that can deliver up to 180W of continuous output power in this application. It is a very high-quality sub that you could use in any application. It will provide high-power, extremely low distortion bass for the lower octaves. Subwoofers are all about moving large volumes of air. The deeper you go into bass frequencies, the more of a challenge that becomes. For true high fidelity, we want a -3dB point well below 30Hz and to achieve solid output to 20Hz. Unfortunately, we also need to consider real-world practicalities like the physical volume required. That requires us to set aside exotic approaches such as infinite baffles or horn loading. After modelling quite a few similar drivers, I settled on the SB Acoustics SB34SWNRX-S75-6. When mounted in an 80-litre enclosure tuned to 25Hz, it gives a -3dB point at 25Hz and is only 8dB down at 20Hz in free space. This enclosure is modest for such a hefty driver and for operating to such low frequencies. Fig.1: a top-down ‘X-ray’ view of the Subwoofer complete with its integrated ‘plate amplifier’. 32 Practical Electronics | January | 2024 Parts List – Active Subwoofer 1 assembled plate amplifier – see adjacent panel 1 SB Acoustics SB34SWNRX-S75-6 346mm subwoofer driver [eg, Willys HiFi: I could have opted for a much larger https://willys-hifi.com/products/sb-acoustics-sb34swnrx-s75-6-norex-subwoofer] enclosure and×tuned lower, butorI feel 1 2400 × 1200 18mm it sheet of MDF similar, cut as per Fig.6 that increase in size and(optional) porting 100the 50mm-long 8G wood screws difficulties are8Gnot inscrews line with most 16 35mm-long wood 30 28mm-long 8G wood screws people’s needs. 4This 100mm thick stick-on felt furniture is diameter a serious subwoofer. With foot pads 75mm in driver diameter 28.5mm 1 3m length of running 5-10mm wide foam sealing tape (for the & plateand amplifier) the amplifier flatsoft out, delivlong. That is a very long voice 1 1m × 1m acoustic wadding blanket [eg, Lincraft ‘king size thick wadding’] ering close to 200 watts, this driver 1 250mL tube of PVA within glue operates entirely its linear coil, required to achieve the lin1 tub ofright sandable woodto filler region down 20Hz. I have ear excursion mentioned above. 1 250mL tin of acrylic primer paint built a lot of subs, including profes- One consequence of this is that much 1 350g can of spray primer paint sional audio products, and this is an of the voice coil is outside the mag1 350g can of spray paint (for two or more top coats) netic air gap, which is 6mm high. outstanding result inpaste comparison. 1 small tube of thermal That significantly impacts driver Driven at this power Sub (available large quantity of 120, 240 &level, 400 gritthe sandpaper on 5m reels) will produce over 110dB SPL (sound efficiency, which is the price we pay Plate Amplifier for achieving high output at low frepressure level) right down 30Hz 1 assembled SC200, Ultra-LD Mk.3 to or Mk.4 amplifier module on 200mm-wide finned heatsink quencies. and over 100dB SPL at 20Hz. Those 1 assembled 4-way Speaker Protector with a single It relay (January 2023) from a home thecan be driven figures aretoroidal for free space; 250VA in theorreal 1 40-0-40 transformer, 300VA [Tortech 0300-2-040] atre amplifier’s subwoofer output or world, there is floorinput and usually 1 screw-mount IECamains socket with integral fuse [Altronics P8324, Jaycar PP4004] an active crossover. I recommend that a 1wall two, which will increase yelloworinsulated chassis-mount RCA socket [Altronics P0219] Subwoofer be placed not too far them by up250V to 6dB. fact that 1 miniature AC 6AThe illuminated DPSTwe rockerthe switch with solder lugs from your main speakers, but someJaycar SK0995] are in[Altronics a finiteS3217, volume room means the where that your family members will 1 3-way mains-rated terminal block strip [Altronics P2130A] Subwoofer basically produces a flat accept. 1 5A 250V slow-blow 3AG fuse [Altronics S5685, Jaycar SF2232] response to close to 20Hz. If ZR1324] cost is no object, two subs are 1The 35V 400V bridge [Altronics Z0091A, voice coilrectifier on this driver is Jaycar 4 8000μF 80V electrolytic capacitors [Jaycar RU6710] always better than one. I would place 1 10nF 63V MKT capacitor each Subwoofer in the general prox1 270W 10% 10W wirewound resistor [Altronics R0440, imity Jaycar of oneRR3369] main speaker. To be honHardware est, though, it is not likely that a sin4 M3 × 25mm panhead machine screws gle active subwoofer will ever ‘run 16 M3 × 16mm panhead machine screws out of puff’. 10 M3 × 6mm panhead machine screws 2 M3 × 6mm countersunk head machine screws 2 15mm-long M3 tapped spacers 5 M3 flat washers 25 M3 shakeproof washers 5 M3 hex nuts 1 260 × 210 × 3mm aluminium sheet 1 377 × 150 × 1.5mm aluminium sheet 1 152 × 72 × 1.5mm aluminium sheet 1 20 × 38 × 1.5mm aluminium sheet (resistor bracket) 1 90 × 70mm sheet of Presspahn or similar insulation 4 blue 6.3mm insulated female spade crimp connectors [Altronics H2006B, Jaycar PT4625] 2 3.2-4.3mm solder lugs [Altronics H1503, Jaycar HP1350] OR 2 3.7-4mm crimp eye terminal [Altronics H1520, Jaycar PT4930] Wire and Cables 1 1m length of brown 7.5A mains-rated hookup wire [Altronics W2273, Jaycar WH3050] 1 1m length of blue 7.5A mains-rated hookup wire [Altronics W2275, Jaycar WH3052] 1 10cm length of green/yellow striped 7.5A mains-rated wire (stripped from a mains cord or mains flex) 1 2m length of red heavy-duty hookup wire (0.75mm2/18AWG) [Altronics W2270/83, Jaycar WH3040/45] 1 2m length of black heavy-duty hookup wire (0.75mm2/18AWG) [Altronics W2272/84, Jaycar WH3041/46] 1 2.2m length of green heavy-duty hookup wire (0.75mm2/18AWG) [Altronics W2274/85, Jaycar WH3042/47] 1 2m length of white heavy-duty hookup wire (0.75mm2/18AWG) [Altronics W2271/81] 1 30cm length of red medium-duty hookup wire [Altronics W2260] 1 30cm length of green medium-duty hookup wire [Altronics W2263] 1 40cm length of shielded/screened audio cable [Altronics W3010, Jaycar WB1500] The fantastic thing about this Active Subwoofer is that the very extended frequency response does not come at the expense of power handling, and you can safely drive it at very high levels right down to 20Hz. Yes, it is a significant investment to achieve this, but in use, it is truly impressive. Practical Electronics | January | 2024 IMPORTANT! What you need to build the Active Subwoofer. First and foremost, you need the ‘active’ element – an amplifier. At the time of publication this was more complicated than expected. We intended to use the upgrade to the Ultra LD Mk.2 200W Power Amplifier published back in August 2010 with the Mk.3 (or its surface-mount follow-up, the Mk.4). However, unfortunately, the ‘pandemic silicon shortage’ is still affecting a few critical devices for those designs, so they will be published at a later date. Instead, we suggest you use the SC200 200W Amplifier Module we published back in 2018 (January to March). That circuit incorporates most of the features of modern amplifier modules, but uses easy-to-solder through-hole components. There are no tiny surface-mount components. Do note that just like the Ultra-LD Mk.3 and Mk.4 there are component issues for the SC200. Fortunately, we have found good alternatives – see the box on the next page. You will also need the MultiChannel Speaker Protector (4-CH) from PE, January 2023, timber for the cabinet and acoustic wadding. Vented or passive radiator I have opted to use a slot vent in our Active Subwoofer. Passive radiators exist that can be paired with the Subwoofer, but they are pretty expensive, and you need two of them! The port is as large as I could fit and has flared 33