Silicon ChipAdding shuffle feature to low-cost MP3 player module - July 2021 SILICON CHIP
  1. Outer Front Cover
  2. Contents
  3. Publisher's Letter: Software: too many bugs, too many updates
  4. Mailbag
  5. Feature: The 2020 mission to Mars by Dr David Maddison
  6. Project: 20A DC Motor Speed Controller by John Clarke
  7. Feature: How USB Power Delivery (USB-PD) works by Andrew Levido
  8. Feature: El Cheapo Modules: USB-PD chargers by Jim Rowe
  9. Project: Model Railway Level Crossing by Les Kerr
  10. Circuit Notebook: Coded door buzzer by Benabadji Mohammed Salim
  11. Circuit Notebook: Adding shuffle feature to low-cost MP3 player module by Les Kerr
  12. Circuit Notebook: DIY pulse oximeter by Bera Somnath
  13. Project: Silicon Labs-based FM/AM/SW Digital Radio by Charles Kosina
  14. Review: Tecsun PL-990 radio receiver by Ross Tester
  15. Project: Advanced GPS Computer – Part 2 by Tim Blythman
  16. Serviceman's Log: I’ve repaired planes before, but never tanks by Dave Thompson
  17. Vintage Radio: The Rowe AMI JAL-200 jukebox by Jim Greig
  18. PartShop
  19. Product Showcase
  20. Ask Silicon Chip
  21. Market Centre
  22. Advertising Index
  23. Notes & Errata: Advanced GPS Computer, June 2021; Mini Arcade Pong, June 2021; Refined Full-Wave Motor Speed Controller, April 2021; USB Flexitimer, June 2018
  24. Outer Back Cover

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

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

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

Items relevant to "20A DC Motor Speed Controller":
  • 20A DC Motor Speed Controller PCB [11006211] (AUD $7.50)
  • PIC16F1459-I/P programmed for the 20A DC Motor Speed Controller [1100621A.HEX] (Programmed Microcontroller, AUD $10.00)
  • Firmware and source code for the 20A DC Motor Speed Controller [1100621A] (Software, Free)
  • 20A DC Motor Speed Controller PCB pattern (PDF download) [11006211] (Free)
Articles in this series:
  • The History of USB (June 2021)
  • How USB Power Delivery (USB-PD) works (July 2021)
Articles in this series:
  • El Cheapo Modules From Asia - Part 1 (October 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 4 (February 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 7: LED Matrix displays (June 2017)
  • El Cheapo Modules: Li-ion & LiPo Chargers (August 2017)
  • El Cheapo modules Part 9: AD9850 DDS module (September 2017)
  • El Cheapo Modules Part 10: GPS receivers (October 2017)
  • El Cheapo Modules 11: Pressure/Temperature Sensors (December 2017)
  • El Cheapo Modules 12: 2.4GHz Wireless Data Modules (January 2018)
  • El Cheapo Modules 13: sensing motion and moisture (February 2018)
  • El Cheapo Modules 14: Logarithmic RF Detector (March 2018)
  • El Cheapo Modules 16: 35-4400MHz frequency generator (May 2018)
  • El Cheapo Modules 17: 4GHz digital attenuator (June 2018)
  • El Cheapo: 500MHz frequency counter and preamp (July 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 21: stamp-sized audio player (December 2018)
  • El Cheapo Modules 22: Stepper Motor Drivers (February 2019)
  • El Cheapo Modules 23: Galvanic Skin Response (March 2019)
  • El Cheapo Modules: Class D amplifier modules (May 2019)
  • El Cheapo Modules: Long Range (LoRa) Transceivers (June 2019)
  • El Cheapo Modules: AD584 Precision Voltage References (July 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: 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, Part 2 (June 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: LCR-T4 Digital Multi-Tester (February 2021)
  • El Cheapo Modules: USB-PD chargers (July 2021)
  • El Cheapo Modules: USB-PD Triggers (August 2021)
  • El Cheapo Modules: 3.8GHz Digital Attenuator (October 2021)
  • El Cheapo Modules: 6GHz Digital Attenuator (November 2021)
  • El Cheapo Modules: 35MHz-4.4GHz Signal Generator (December 2021)
  • El Cheapo Modules: LTDZ Spectrum Analyser (January 2022)
  • Low-noise HF-UHF Amplifiers (February 2022)
  • A Gesture Recognition Module (March 2022)
  • Air Quality Sensors (May 2022)
Items relevant to "Model Railway Level Crossing":
  • Model Railway Level Crossing PCB [09108211] (AUD $5.00)
  • Pair of PIC12F617-I/P chips for the Model Railway Level Crossing [0910821A/B/C.HEX] (Programmed Microcontroller, AUD $15.00)
  • ISD1820-based voice recording and playback module (Component, AUD $5.00)
  • Firmware, source code and sound recording for the Model Railway Level Crossing [0910211A-C] (Software, Free)
  • Model Railway Level Crossing PCB pattern (PDF download) [09108211] (Free)
  • Mechanical diagrams and label artwork for the Railway Level Crossing (PDF Download) (Panel Artwork, Free)
  • PIC12F617-I/P programmed for the Model Railway Level Crossing [0910821A.HEX] (Source component, AUD $10.00)
  • PIC12F617-I/P programmed for the Model Railway Level Crossing [0910821B.HEX] (Source component, AUD $10.00)
  • PIC12F617-I/P programmed for the Model Railway Level Crossing [0910821C.HEX] (Source component, AUD $10.00)
Videos relevant to "Model Railway Level Crossing":
  • Level Crossing
Items relevant to "Coded door buzzer":
  • Firmware for the Coded Door Buzzer (Software, Free)
Items relevant to "Adding shuffle feature to low-cost MP3 player module":
  • Firmware for adding a shuffle feature to a low-cost MP3 player module (Software, Free)
Items relevant to "DIY pulse oximeter":
  • Firmware for the DIY pulse oximeter (Software, Free)
Items relevant to "Silicon Labs-based FM/AM/SW Digital Radio":
  • SiLabs FM/AM/SW Digital Radio PCB [CSE210301C] (AUD $7.50)
  • ATmega328P programmed with the firmware for the SiLabs FM/AM/SW Digital Radio [CSE210301.HEX] (Programmed Microcontroller, AUD $10.00)
  • Pulse-type rotary encoder with pushbutton and 18t spline shaft (Component, AUD $3.00)
  • Si4732-A10 AM/FM/SW/LW/RDS Radio Receiver IC (Component, AUD $20.00)
  • Firmware and source code for the SiLabe FM-AM-SW Digital Radio [CSE210301.HEX] (Software, Free)
  • SiLabs FM/AM/SW Digital Radio PCB pattern (PDF download) [CSE210301C] (Free)
  • Drilling/cutting diagrams and front panel artwork for the SiLabs-based FM-AM-SW Digital Radio (Free)
Items relevant to "Advanced GPS Computer – Part 2":
  • Advanced GPS Computer PCB [05102211] (AUD $7.50)
  • PIC32MX170F256B-50I/SP programmed for the Advanced GPS Computer [0510221A.hex] (Programmed Microcontroller, AUD $15.00)
  • DS3231 real-time clock IC (SOIC-16) (Component, AUD $7.50)
  • MCP4251-502E/P dual 5kΩ digital potentiometer (Component, AUD $3.00)
  • VK2828U7G5LF TTL GPS/GLONASS/GALILEO module with antenna and cable (Component, AUD $25.00)
  • Micromite LCD BackPack V3 complete kit (Component, AUD $75.00)
  • Matte/Gloss Black UB3 Lid for Advanced GPS Computer (BackPack V3) or Pico BackPack (PCB, AUD $5.00)
  • Firmware for the Advanced GPS Computer [0510221A.HEX] (Software, Free)
  • Advanced GPS Computer PCB pattern (PDF download) [05102211] (AUD $15.00)
  • Advanced GPS Computer box cutting diagram and lid dimensions (Panel Artwork, Free)
Articles in this series:
  • Advanced GPS Computer - Part 1 (June 2021)
  • Advanced GPS Computer – Part 2 (July 2021)

Purchase a printed copy of this issue for $10.00.

Adding shuffle feature to low-cost MP3 player module I had a few friends over during Christmas, and to provide background music, I had my stereo amplifier connected to a CD player. After a while, I got sick and tired of getting up to put on a new CD. I decided that I wanted a way to play at least 10 CDs worth of music with reasonable quality so that each track was randomly played. I came across the Jaycar XC3748 MP3 audio module at $14.95, which plays audio files on a TF/SD card. It also has a serial communication interface (UART) that can be used to control which music tracks are played and in what order, plus six pushbuttons to control the basic functions like play, pause, previous, next track and level adjustment. There is also a USB interface to enable you to add music files from your computer. Its headphone jack provides a stereo output at the right level to directly connect it to an amplifier. It uses the YX5200-24SS processor, which provides reasonable music playback quality and, at 77 x 33 x 8mm, it can be mounted in a small utility box. Looking at the data sheet, I found that if you sent the serial code “7E FF 62 Silicon Chip 06 18 00 00 00 FE E3 EF” (hexadecimal) at 9600 baud, the module would play the tracks in a random order, as I wanted. All I needed was a simple microcontroller circuit to generate the code. The accompanying circuit diagram shows what I came up with. The unit is powered from a standard 12V or 9V DC power pack. This feeds linear regulator REG1 to produce 5V DC for the Jaycar module and the microcontroller. To start playing music in a random order, the Random start button must be pressed, taking input pin 5 (GP2) of the PIC12F617 micro high. The 100nF capacitor across the switch eliminates contact bounce. This positive level causes the random playback code listed above to be sent to the Jaycar module’s RX input. If you look at the data sheet for the module, you will see many other commands that can be sent. For example, you could ask it to play a particular track. If you are into coding, this would be a simple modification. After converting my CDs to MP3 format and copying them onto a FAT32 card, which I inserted into the module’s socket, I mounted the playback Australia’s electronics magazine module and my circuit in a small plastic utility box. I fitted three pushbuttons to the top of the box: random start, next track and previous track, plus an on/off toggle switch and a power indicator LED. On the side, I added a socket for the 12V power input and a hole for the jack plug lead connecting it to the stereo amplifier. On the side next to the USB socket, I cut a rectangular hole so that a USB cable can be plugged into the Jaycar board. This enables you to add or erase music files from the micro SD card without having to open up the box. The next track and previous track switches on the utility box are wired in parallel with the associated switch on the Jaycar board. These switches can also be used to adjust the volume. Holding down the previous button reduces the volume, while holding down the next track button increases it. Note that the random play button always cases the first track to be played. If that annoys you, jump to the next track by pressing the next button. Les Kerr, Ashby, NSW. ($80) siliconchip.com.au