Silicon ChipLow-cost electronic modules: 8×16 LED Matrix module - July 2025 SILICON CHIP
  1. Outer Front Cover
  2. Contents
  3. Publisher's Letter: Confusion between lithium battery types
  4. Feature: SpaceX by Dr David Maddison
  5. Project: Solar Charging via USB by Julian Edgar
  6. Project: The SmartProbe by Andrew Levido
  7. Feature: Precision Electronics, Part 9 - System Design by Andrew Levido
  8. Subscriptions
  9. Feature: Salvaging Parts by Julian Edgar
  10. Project: Hot Water System Solar Diverter, part two by Ray Berkelmans & John Clarke
  11. Feature: Low-cost electronic modules: 8×16 LED Matrix module by Tim Blythman
  12. Project: SSB Shortwave Receiver, part 2 by Charles Kosina, VK3BAR
  13. Serviceman's Log: Water woes a and hydration hindrances by Dave Thompson
  14. Vintage Radio: Eddystone EC10 Mk2 by Ian Batty
  15. PartShop
  16. Market Centre
  17. Advertising Index
  18. Notes & Errata: Vintage Radio – Emerson 888, May 2025; Power LCR Meter, March & April 2025; Mains Power-Up Sequencer, March & July 2024; Reciprocal Frequency Counter, July 2023
  19. Outer Back Cover

This is only a preview of the July 2025 issue of Silicon Chip.

You can view 37 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:
  • SpaceX (July 2025)
  • SpaceX (July 2025)
Articles in this series:
  • Shed Alarm (March 2025)
  • Audio Mixing Cables (March 2025)
  • Shed Alarm (March 2025)
  • Audio Mixing Cables (March 2025)
  • Solar Charging via USB (July 2025)
  • Solar Charging via USB (July 2025)
Items relevant to "The SmartProbe":
  • SmartProbe PCB [P9054-04] (AUD $5.00)
  • SWD FFC Adaptor PCB [P9045-A] (AUD $2.50)
  • STM32L031F6P6 programmed for the SmartProbe [0411025A.HEX] (Programmed Microcontroller, AUD $15.00)
  • 0.96-inch 128×64-pixel white bare OLED screen (Component, AUD $10.00)
  • SmartProbe firmware (Software, Free)
  • SmartProbe PCB pattern (PDF download) [P9054-04] (Free)
  • SWD Programming Adaptor PCB pattern (PDF download) [P9045-A] (Free)
Articles in this series:
  • Precision Electronics, Part 1 (November 2024)
  • Precision Electronics, Part 1 (November 2024)
  • Precision Electronics, Part 2 (December 2024)
  • Precision Electronics, Part 2 (December 2024)
  • Precision Electronics, Part 3 (January 2025)
  • Precision Electronics, part one (January 2025)
  • Precision Electronics, part one (January 2025)
  • Precision Electronics, Part 3 (January 2025)
  • Precision Electronics, part two (February 2025)
  • Precision Electronics, Part 4 (February 2025)
  • Precision Electronics, Part 4 (February 2025)
  • Precision Electronics, part two (February 2025)
  • Precision Electronics, part three (March 2025)
  • Precision Electronics, part three (March 2025)
  • Precision Electronics, Part 5 (March 2025)
  • Precision Electronics, Part 5 (March 2025)
  • Precision Electronics, Part 6 (April 2025)
  • Precision Electronics, Part 6 (April 2025)
  • Precision Electronics, part four (April 2025)
  • Precision Electronics, part four (April 2025)
  • Precision Electronics, part five (May 2025)
  • Precision Electronics, part five (May 2025)
  • Precision Electronics, Part 7: ADCs (May 2025)
  • Precision Electronics, Part 7: ADCs (May 2025)
  • Precision Electronics, part six (June 2025)
  • Precision Electronics, part six (June 2025)
  • Precision Electronics, Part 8: Voltage References (June 2025)
  • Precision Electronics, Part 8: Voltage References (June 2025)
  • Precision Electronics, Part 9 - System Design (July 2025)
  • Precision Electronics, part seven (July 2025)
  • Precision Electronics, part seven (July 2025)
  • Precision Electronics, Part 9 - System Design (July 2025)
Items relevant to "Hot Water System Solar Diverter, part two":
  • HWS Solar Diverter main PCB [18110241] plus protective panels (AUD $20.00)
  • Hot Water System Solar Diverter software (Free)
  • Hot Water System Solar Diverter PCB pattern (PDF Download) [18110241] (Free)
  • Panel artwork for the Hot Water System Solar Diverter (Free)
Articles in this series:
  • Hot Water System Solar Diverter, part one (June 2025)
  • Hot Water System Solar Diverter, part one (June 2025)
  • Hot Water System Solar Diverter, part two (July 2025)
  • Hot Water System Solar Diverter, part two (July 2025)
Items relevant to "Low-cost electronic modules: 8×16 LED Matrix module":
  • 8x16 LED Matrix software (Free)
Articles in this series:
  • El Cheapo Modules From Asia - Part 1 (October 2016)
  • El Cheapo Modules From Asia - Part 1 (October 2016)
  • El Cheapo Modules From Asia - Part 2 (December 2016)
  • El Cheapo Modules From Asia - Part 2 (December 2016)
  • El Cheapo Modules From Asia - Part 3 (January 2017)
  • El Cheapo Modules From Asia - Part 3 (January 2017)
  • El Cheapo Modules from Asia - Part 4 (February 2017)
  • El Cheapo Modules from Asia - Part 4 (February 2017)
  • El Cheapo Modules, Part 5: LCD module with I²C (March 2017)
  • El Cheapo Modules, Part 5: LCD module with I²C (March 2017)
  • El Cheapo Modules, Part 6: Direct Digital Synthesiser (April 2017)
  • El Cheapo Modules, Part 6: Direct Digital Synthesiser (April 2017)
  • El Cheapo Modules, Part 7: LED Matrix displays (June 2017)
  • El Cheapo Modules, Part 7: LED Matrix displays (June 2017)
  • El Cheapo Modules: Li-ion & LiPo Chargers (August 2017)
  • El Cheapo Modules: Li-ion & LiPo Chargers (August 2017)
  • El Cheapo modules Part 9: AD9850 DDS module (September 2017)
  • El Cheapo modules Part 9: AD9850 DDS module (September 2017)
  • El Cheapo Modules Part 10: GPS receivers (October 2017)
  • El Cheapo Modules Part 10: GPS receivers (October 2017)
  • El Cheapo Modules 11: Pressure/Temperature Sensors (December 2017)
  • El Cheapo Modules 11: Pressure/Temperature Sensors (December 2017)
  • El Cheapo Modules 12: 2.4GHz Wireless Data Modules (January 2018)
  • El Cheapo Modules 12: 2.4GHz Wireless Data Modules (January 2018)
  • El Cheapo Modules 13: sensing motion and moisture (February 2018)
  • El Cheapo Modules 13: sensing motion and moisture (February 2018)
  • El Cheapo Modules 14: Logarithmic RF Detector (March 2018)
  • El Cheapo Modules 14: Logarithmic RF Detector (March 2018)
  • El Cheapo Modules 16: 35-4400MHz frequency generator (May 2018)
  • El Cheapo Modules 16: 35-4400MHz frequency generator (May 2018)
  • El Cheapo Modules 17: 4GHz digital attenuator (June 2018)
  • El Cheapo Modules 17: 4GHz digital attenuator (June 2018)
  • El Cheapo: 500MHz frequency counter and preamp (July 2018)
  • El Cheapo: 500MHz frequency counter and preamp (July 2018)
  • El Cheapo modules Part 19 – Arduino NFC Shield (September 2018)
  • El Cheapo modules Part 19 – Arduino NFC Shield (September 2018)
  • El cheapo modules, part 20: two tiny compass modules (November 2018)
  • El cheapo modules, part 20: two tiny compass modules (November 2018)
  • El cheapo modules, part 21: stamp-sized audio player (December 2018)
  • El cheapo modules, part 21: stamp-sized audio player (December 2018)
  • El Cheapo Modules 22: Stepper Motor Drivers (February 2019)
  • El Cheapo Modules 22: Stepper Motor Drivers (February 2019)
  • El Cheapo Modules 23: Galvanic Skin Response (March 2019)
  • El Cheapo Modules 23: Galvanic Skin Response (March 2019)
  • El Cheapo Modules: Class D amplifier modules (May 2019)
  • El Cheapo Modules: Class D amplifier modules (May 2019)
  • El Cheapo Modules: Long Range (LoRa) Transceivers (June 2019)
  • El Cheapo Modules: Long Range (LoRa) Transceivers (June 2019)
  • El Cheapo Modules: AD584 Precision Voltage References (July 2019)
  • El Cheapo Modules: AD584 Precision Voltage References (July 2019)
  • Three I-O Expanders to give you more control! (November 2019)
  • Three I-O Expanders to give you more control! (November 2019)
  • El Cheapo modules: “Intelligent” 8x8 RGB LED Matrix (January 2020)
  • El Cheapo modules: “Intelligent” 8x8 RGB LED Matrix (January 2020)
  • El Cheapo modules: 8-channel USB Logic Analyser (February 2020)
  • El Cheapo modules: 8-channel USB Logic Analyser (February 2020)
  • New w-i-d-e-b-a-n-d RTL-SDR modules (May 2020)
  • New w-i-d-e-b-a-n-d RTL-SDR modules (May 2020)
  • New w-i-d-e-b-a-n-d RTL-SDR modules, Part 2 (June 2020)
  • New w-i-d-e-b-a-n-d RTL-SDR modules, Part 2 (June 2020)
  • El Cheapo Modules: Mini Digital Volt/Amp Panel Meters (December 2020)
  • El Cheapo Modules: Mini Digital Volt/Amp Panel Meters (December 2020)
  • El Cheapo Modules: Mini Digital AC Panel Meters (January 2021)
  • El Cheapo Modules: Mini Digital AC Panel Meters (January 2021)
  • El Cheapo Modules: LCR-T4 Digital Multi-Tester (February 2021)
  • El Cheapo Modules: LCR-T4 Digital Multi-Tester (February 2021)
  • El Cheapo Modules: USB-PD chargers (July 2021)
  • El Cheapo Modules: USB-PD chargers (July 2021)
  • El Cheapo Modules: USB-PD Triggers (August 2021)
  • El Cheapo Modules: USB-PD Triggers (August 2021)
  • El Cheapo Modules: 3.8GHz Digital Attenuator (October 2021)
  • El Cheapo Modules: 3.8GHz Digital Attenuator (October 2021)
  • El Cheapo Modules: 6GHz Digital Attenuator (November 2021)
  • El Cheapo Modules: 6GHz Digital Attenuator (November 2021)
  • El Cheapo Modules: 35MHz-4.4GHz Signal Generator (December 2021)
  • El Cheapo Modules: 35MHz-4.4GHz Signal Generator (December 2021)
  • El Cheapo Modules: LTDZ Spectrum Analyser (January 2022)
  • El Cheapo Modules: LTDZ Spectrum Analyser (January 2022)
  • Low-noise HF-UHF Amplifiers (February 2022)
  • Low-noise HF-UHF Amplifiers (February 2022)
  • A Gesture Recognition Module (March 2022)
  • A Gesture Recognition Module (March 2022)
  • Air Quality Sensors (May 2022)
  • Air Quality Sensors (May 2022)
  • MOS Air Quality Sensors (June 2022)
  • MOS Air Quality Sensors (June 2022)
  • PAS CO2 Air Quality Sensor (July 2022)
  • PAS CO2 Air Quality Sensor (July 2022)
  • Particulate Matter (PM) Sensors (November 2022)
  • Particulate Matter (PM) Sensors (November 2022)
  • Heart Rate Sensor Module (February 2023)
  • Heart Rate Sensor Module (February 2023)
  • UVM-30A UV Light Sensor (May 2023)
  • UVM-30A UV Light Sensor (May 2023)
  • VL6180X Rangefinding Module (July 2023)
  • VL6180X Rangefinding Module (July 2023)
  • pH Meter Module (September 2023)
  • pH Meter Module (September 2023)
  • 1.3in Monochrome OLED Display (October 2023)
  • 1.3in Monochrome OLED Display (October 2023)
  • 16-bit precision 4-input ADC (November 2023)
  • 16-bit precision 4-input ADC (November 2023)
  • 1-24V USB Power Supply (October 2024)
  • 1-24V USB Power Supply (October 2024)
  • 14-segment, 4-digit LED Display Modules (November 2024)
  • 14-segment, 4-digit LED Display Modules (November 2024)
  • 0.91-inch OLED Screen (November 2024)
  • 0.91-inch OLED Screen (November 2024)
  • The Quason VL6180X laser rangefinder module (January 2025)
  • The Quason VL6180X laser rangefinder module (January 2025)
  • TCS230 Colour Sensor (January 2025)
  • TCS230 Colour Sensor (January 2025)
  • Using Electronic Modules: 1-24V Adjustable USB Power Supply (February 2025)
  • Using Electronic Modules: 1-24V Adjustable USB Power Supply (February 2025)
  • Low-cost electronic modules: 8×16 LED Matrix module (July 2025)
  • Low-cost electronic modules: 8×16 LED Matrix module (July 2025)
Items relevant to "SSB Shortwave Receiver, part 2":
  • 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:
  • SSB Shortwave Receiver, part 1 (June 2025)
  • SSB Shortwave Receiver, part 1 (June 2025)
  • SSB Shortwave Receiver, part 2 (July 2025)
  • SSB Shortwave Receiver, part 2 (July 2025)

Purchase a printed copy of this issue for $13.00.

Using Electronic Modules with Tim Blythman 8×16 LED Matrix These LED matrix panels are bright, compact and easy to drive, although there are a couple of tricks to them. After looking at the driver IC, we’ll provide demonstration software for Arduino and BASIC code for the Micromite and PicoMite. T his LED matrix module was the display and the base on which we mounted the components for our Digital Spirit Level project from the November 2024 issue (siliconchip.au/ Article/17021). We used Jaycar’s Cat XC3746 (www. jaycar.com.au/p/XC3746), although other modules with the same controller are available elsewhere. Our software should work with any of these modules as long as they use the same AIP1640 control chip. In the Digital Spirit Level article, we noted that the Matrix has pins labelled SDA and SCL. While you might think it would thus use an I2C interface, that is not the case. So we thought it would be helpful to delve into the AIP1640 driver chip and the communications protocol that it uses. That will allow us to create software to control the chip. There isn’t much more to the module than the chip and its LED matrix. The AIP1640 IC The Wuxi I-core Electronics AIP1640 is the main driver IC on the module. Fig.1 shows the circuit of the module, where IC1 is the AIP1640. It comes in a 28-pin SOIC (small outline IC) package and 24 of its pins connect to a matrix of 128 blue LEDs, with eight anode drivers and 16 cathode drivers. It has an internal 450kHz oscillator to control the multiplexing of the output drivers. Such an arrangement would be wellsuited to driving 16 common-cathode 70 Silicon Chip seven-segment displays too. The only other components are the standard 100nF supply bypass capacitor and two 10kW pull-up resistors on the communication lines. Unlike the Matrix module, the data sheet labels the communication pins as DIN and SCLK, hinting at the divergence from I2C. The power, ground, DIN and SCLK lines are wired to a locking four-way receptacle; a matching plug with wires comes with the module. This makes it easy to wire up to a development board like an Arduino Uno, since all the functions are controlled from the communication interface. You can download the data sheet for the AIP1640 controller IC from siliconchip.au/link/ac3e Control interface The data sheet includes sample communication waveforms. Fig.2 shows this, along with a single byte transmission in the I2C protocol. You can see that the AIP1640’s protocol resembles I2C, but it is not identical. The idle state appears to have both DIN and SCLK at a high level, like SDA and SCL in I2C. The text describes the lines being set low and high, whereas I2C would have the lines set low and allowed to rise to a high level through the action of the pull-up resistors. It seems that the start, stop and bit clocking restrictions are much the same as I2C, although the AIP1640 only expects eight, not nine bits. A START condition occurs when Australia's electronics magazine DIN (or SDA) goes low, while SCLK (or SCL) is high. During data transmission, DIN can only change state when SCLK is low, while the END (or STOP) condition is when DIN rises while SCLK is high. The AIP1640 sends the least significant bit (LSB) of the byte first, while I2C sends the most significant bit (MSB) first. The AIP1640 protocol denotes the first byte as a command, while I2C starts its transmissions with an address byte. The protocols are similar enough that an I2C transmission could possibly be used to control an AIP1640 controller, but it would probably not allow other I2C devices to coexist on the same bus, since the I2C addresses may clash with the AIP1640 commands. Indeed, the AIP1640 has no concept of addressing, so only a single unit can be connected to a bus. Note that the data sheet does not make any claims to I2C compatibility; any confusion appears to originate from sample code that has been posted online. Now that we’ve established that the protocol is not I2C, we can examine how to communicate with the chip. The data sheet explains that some commands are followed by data bytes. Each command must be preceded by a START condition, so the first byte is a command and subsequent bytes in a transmission are data. Table 1 shows the commands that the AIP1640 responds to. Each command is typically sent between a START and END condition, except the siliconchip.com.au Fig.1: 128 blue LEDs are driven in matrix fashion by 16 cathode drivers and eight anode drivers in the chip, with all timing controlled internally. Only two resistors and one capacitor are needed in addition to the AIP1640 driver IC. Fig.2: the protocol used by the AIP1640 has a lot of parallels with I2C, but since it does not implement an addressing scheme, it will not work on an I2C bus. Set Column command, which would be followed by data that is sent to the display RAM for output. Like many such devices, a small siliconchip.com.au amount of internal RAM stores the display data and the host controller can choose where in RAM it writes to. There are 16 bytes, corresponding to Australia's electronics magazine the GRID1 to GRID16 cathode drivers. Each bit corresponds with one of the SEG1-SEG8 anode drivers, with SEG1 being the LSB and SEG8 the MSB. You July 2025  71 Column 15 Bit 7 Bit 0 Column 0 Fig.3: the pixels are mapped logically, meaning it is quite intuitive to program the display. There is a column auto-increment setting, so writing text from left to right can be accomplished easily. The back of the PCB is as sparse, with just the control IC in an SMD SOIC-28 package, a few passive components and a four-way socket to suit the provided plug with leads. can see the mapping of this to LEDs on the XC3746 in Fig.3. A typical display driver might send a couple of commands to set up an initial state, after which pixels are written as needed to achieve the desired display and display updates are sent as required. A command might update part of the display, or it might make use of the auto-increment function and send entire screenfuls of data at a time. Power supply The AIP1640 data sheet specifies a 5V±10% supply voltage, with input voltage thresholds of 30% for a low input and 70% for a high input. We performed some tests with our Coin Cell Emulator from December 2023 (siliconchip.au/Article/16039) and found that our Matrix worked perfectly well down to around 2.8V for its supply and logic levels. With a 5V supply, the peak current draw with all pixels lit was around 140mA. There are eight PWM settings and thus brightness levels. We found that a setting of 1 or 2 (0b001 or 0b010) was adequate for indoor viewing. Level 1 draws around 20mA with all pixels lit, while level 2 draws around 40mA. The data sheet notes the different settings and their corresponding fractions of the maximum duty cycle. Unlike some controllers (eg, for some OLEDs and LCDs), there is no hardware register to flip or rotate the display. For the Digital Spirit Level, we had to invert the pixels and columns in software to have the connector at the bottom of the display. You can contrast that with the layout shown in Fig.3, with the connector at the top. driven by calls to the digitalWrite() function, which all Arduino boards and platforms support. We expect you could use any Arduino board, although we have not tried any others ourselves. Arduino connections PicoMite connections Wiring the XC3746 up to an Arduino Uno or similar board is easy enough since there are just four wires. We have written the software to be able to use any digital pins. Fig.4 shows the wiring with the default Arduino sketch settings; if you change the connections, you will need to change the driven pins by modifying the XC3746_ CLK and XC3746_DAT #defines in the library file. The “matrix” sketch uses the same library we created for the Digital Spirit Level, which provides simple functions to initialise and write to the display, including a simple font containing the digits 0-9. To use the library in your own project, simply copy it to the sketch folder and add the #include directive. The sketch lights up all pixels, switches them off, then shows a rising count of elapsed seconds on the display. We used an Arduino Uno in our examples, but there are no special hardware features or other libraries needed, so other Arduinos could be used, like the Leonardo. The pins are We’re using the PicoMite as our exemplar BASIC platform since it is easy to distribute a UF2 firmware file that contains the BASIC environment and code. The firmware files can be loaded onto the PicoMite without any special hardware using its USB flash drive bootloader (accessed by holding the BOOTSEL button while powering on the PicoMite). All that needs to be done is to copy the MATRIX.UF2 file to the RPI-RP2 virtual drive. The BASIC code should work on other MMBasic platforms, such as the Micromites, and we have also included it in the software download. You can load this directly using the AUTOSAVE or XMODEM commands. Fig.5 shows our wiring to the Pico­ Mite. We used the 3.3V supply to ensure there are no problems with the logic levels from the I/O pins differing from the supply voltage. The 3.3V regulator on the Pico can source up to 800mA, so it will have no trouble powering the Matrix. We did notice a lower brightness compared to using a 5V supply, with brightness level 2 drawing only 4mA with all pixels lit. That’s about a factor of 10 difference compared to a 5V supply. Still, it seemed to work OK, and there is scope to increase the brightness if needed. You can change the pins used by modifying the CONST values of XC3746_DAT_PIN and XC3746_CLK_ PIN in the code. The BASIC program works the much the same as the Arduino sketch, although it uses the Table 1 – AIP1640 commands Command Action Notes 0b0100bc00 Configuration If b=0, auto-increment column otherwise fixed If c=1, activate test mode 0b10000000 Turn off display 0b10001ddd Turn on display and set duty cycle ddd is three-bit duty cycle (brightness) setting 0b1100eeee Set column eeee is 0 (GRID1) to 15 (GRID16) 72 Silicon Chip Australia's electronics magazine siliconchip.com.au Fig.4: we used the connections here with our example Arduino sketch, although the data and clock pins can be altered in the code if necessary. The XC3746 comes with male jumper lead ends that can be plugged directly into a board like the Arduino Uno. Fig.5: to interface with a Pico (running MMBasic), we used the 3.3V supply to ensure there was no mismatch between the supply voltage and I/O pin logic levels. The 3.3V regulator on the Pico can supply 800mA, so it can easily drive the display. The XC3746 pack includes the display module and a set of flying jumper leads equipped with a plug, so it is easy to wire up. To connect the Matrix module to a Pico, you can solder socket headers to its pads or use a breadboard. The demo software can be downloaded from siliconchip. com.au/ Shop/6/2756 internal PicoMite timer, so it might not start counting from zero. Note that the UF2 file will only work with the original Pico and not the Pico 2. The BASIC code is compatible with the Pico 2, but you’ll need to load the latest version of MMBasic and then the BASIC code yourself. If you see the Pico’s LED flashing, that means BASIC has been loaded correctly. So if the Matrix is not working, but the Pico’s LED is flashing, check your wiring. Conclusion These LED Matrix displays are simple enough to control, although you might get tripped up if you try to use example code that works with I2C, since the interface is not the same. They are great for small numerical displays, as we have demonstrated. Despite what the data sheet says, our units seemed to operate happily on 3.3V (which bodes well for many modern microcontrollers). However, if you want maximum brightness, a 5V supply is the way to go; you may need a level shifter if your microcontroller has 3.3V I/Os. Perhaps the reason for the specified narrow voltage range is to provide a degree of uniformity to the brightness. With 128 pixels, these Matrix modules can display simple graphics or other patterns. Jaycar sells the XC3746 Duinotech Arduino Compatible 8×16 LED Matrix Display for AU$19.95. SC siliconchip.com.au Australia's electronics magazine July 2025  73