Silicon ChipBattery-Powered Model Train - December 2025 SILICON CHIP
  1. Contents
  2. Publisher's Letter: The lost art of backward compatibility
  3. Feature: Teach-In 2026 by Mike Tooley
  4. Subscriptions
  5. Project: Variable Speed Drive Mk2 for Induction Motors, Part 1 by Andrew Levido
  6. Feature: Audio Out by Jake Rothman
  7. Feature: Techno Talk by Max the Magnificent
  8. Feature: Max’s Cool Beans by Max the Magnificent
  9. Feature: The Fox Report by Barry Fox
  10. Feature: Circuit Surgery by Ian Bell
  11. Project: Digital Capacitance Meter by Stephen Denholm
  12. Feature: Net Work by Alan Winstanley
  13. Back Issues
  14. Project: Battery-Powered Model Train by Les Kerr
  15. PartShop
  16. Market Centre
  17. Advertising Index
  18. Back Issues

This is only a preview of the December 2025 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)
Items relevant to "Variable Speed Drive Mk2 for Induction Motors, Part 1":
  • Mk2 VSD PCB [11111241 or 9048-02] (AUD $15.00)
  • STM32G030K6T6 programmed for the VSD Mk2 [1111124A] (Programmed Microcontroller, AUD $10.00)
  • Firmware for the VSD Mk2 (Software, Free)
  • VSD Mk2 PCB pattern (PDF download) [11111241] (Free)
  • Mk2 VSD drilling & cutting diagrams (Panel Artwork, Free)
Articles in this series:
  • Variable Speed Drive Mk2, Part 1 (November 2024)
  • Variable Speed Drive Mk2, Part 2 (December 2024)
  • Variable Speed Drive Mk2 for Induction Motors, Part 1 (December 2025)
  • Variable Speed Drive Mk2 For Induction Motors, Part 2 (January 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)
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)
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)
Articles in this series:
  • The Fox Report (July 2024)
  • The Fox Report (September 2024)
  • The Fox Report (October 2024)
  • The Fox Report (November 2024)
  • The Fox Report (December 2024)
  • The Fox Report (January 2025)
  • The Fox Report (February 2025)
  • The Fox Report (March 2025)
  • The Fox Report (April 2025)
  • The Fox Report (May 2025)
  • The Fox Report (July 2025)
  • The Fox Report (August 2025)
  • The Fox Report (September 2025)
  • The Fox Report (October 2025)
  • The Fox Report (October 2025)
  • The Fox Report (December 2025)
  • The Fox Report (January 2026)
  • The Fox Report (February 2026)
Articles in this series:
  • STEWART OF READING (April 2024)
  • Circuit Surgery (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)
Articles in this series:
  • Win a Microchip Explorer 8 Development Kit (April 2024)
  • Net Work (May 2024)
  • Net Work (June 2024)
  • Net Work (July 2024)
  • Net Work (August 2024)
  • Net Work (September 2024)
  • Net Work (October 2024)
  • Net Work (November 2024)
  • Net Work (December 2024)
  • Net Work (January 2025)
  • Net Work (February 2025)
  • Net Work (March 2025)
  • Net Work (April 2025)
  • Net Work (September 2025)
  • Net Work (November 2025)
  • Net Work (December 2025)
Constructional Project Battery-Po Battery-P owered Mode dell Tra Traiin BY LES KERR This modification eliminates the need to keep model railway tracks clean. If you let them oxidise, power won’t get to the trains, causing all sorts of problems. By making the train battery powered, it no longer needs to draw power from the tracks, making it much more reliable! M y grandson was visiting and he was at me all the time to let him drive trains on my OO gauge railway. As it hadn’t been used for quite a time, there was quite a build-up of debris on the track and the engine pickups that resulted in the first train running erratically. After laboriously cleaning the track, the trains ran smoothly. Most of my newer power tools are battery powered, so I wondered if I could power the train from onboard rechargeable AAA cells. These could be mounted in the carriage behind the engine, and the speed and direction could be controlled by a simple 433.9MHz link. I calculated that four fully-charged 900mAh NiMH cells in series could run the train for more than five hours on a charge. With most model train layouts, the 433.9MHz transmitter will only be a few metres from the train at any time, so there is little chance of interference. To ensure the train doesn’t go haywire, check bytes are sent so that the Receiver can verify the speed and 66 direction data it is getting are correct. This virtually eliminates the possibility that erroneous signals will result in incorrect operation. The NiMH battery voltage of around 4.8V is too low to run the motor, so I selected a small step-up converter module that produces 15V DC from the battery voltage to power the motor. It operates at about 1MHz with an efficiency approaching 90%. Another small boost converter generates a steady 5V rail to run the control circuitry. To drive the engine, I looked at all the standard H-bridges on the market and selected the DRV8871 IC that is mounted on a 24.5 × 20.5mm PCB. It runs from 5-37V at up to 2A, driving a single motor bidirectionally. Overtemperature and over-current protection is built in. It is a bit overkill for a 12V train that takes about 250mA maximum, but it could be used with higher power engines too. The motor speed and direction are controlled by a microcontroller on the same PCB as the motor driver that mounts in the carriage, behind the engine. This PCB also has a 433.9MHz receiver to allow remote control. To cater for various size carriages, I designed two Receiver PCBs, a small one using SMD components (carriage length 85mm) and a larger one with through-hole (TH) components. The handheld controller (Photo 1) has a potentiometer that controls the speed of the train and a toggle switch to select forward or reverse. The Transmitter has a PIC12F617 microcontroller that monitors those controls and sends signals via a 433.9MHz transmitter within the handheld controller. A 3mm red LED on the carriage lights when the battery needs charging. The fourth PCB I designed is a trickle Charger (Photo 2) that connects to a socket on the battery carriage using a 2.5mm jack plug. This system of three modules – Transmitter, Receiver and Charger – provides everything you need to run a Practical Electronics | December | 2025 Battery-Powered Model Train Photos 1-3: the transmitter (left & right), and the charger (centre) box. model locomotive without requiring an electrical connection (for either power or communications) through the track. You can see a video of it in operation at siliconchip.au/Videos/ Battery+model+train Transmitter circuit details The Transmitter circuit is shown in Fig.1. It is powered by a 9V battery via on/off toggle switch S1 and a 1N5819 schottky diode. The diode prevents accidental battery polarity reversals from destroying the circuit. A schottky diode is used as its forward voltage drop is a lot less than a standard silicon diode, so the battery lasts longer. A 78L05 regulator provides +5V for the microcontroller. The 100μF capacitors connected to its input and output reduce any ripple to a negligible level, while the 100nF ceramic or MKT capacitors reduce any high-frequency noise that may be present. So that potentiometer VR1 varies the train speed, microcontroller IC1 measures the voltage at its wiper using its internal analog-to-digital converter (ADC) via analog input AN3. It converts the 0-5V on its wiper to an 8-bit number between 0 and 255. That value is sent out as pulses via digital output GP0 (pin 7), to the transmitter module, to be picked up by the Receiver on the train. Digital input GP5 (pin 2) is pulled Fig.1: the Transmitter circuit. It runs from a 9V battery; microcontroller IC1 and transmitter MOD1 convert the position of speed potentiometer VR1 and forward/reverse switch S2 into a 433.9MHz-modulated ASK serial data stream for the Receiver. Practical Electronics | December | 2025 67 Constructional Project high by the 10kW resistor when S2 is in the forward direction or low, to ground, by S2 when it is in the reverse direction. The microcontroller senses this level using its GP5 digital input and sends different numbers via the 433.9MHz transmitter depending on the switch state. The 100nF ceramic capacitors at those two inputs prevent noise from affecting the readings taken. The signal sent to the transmitter module via the GP0 output is serial data at 1200 baud that contains the speed and direction variables, along with preamble and check bytes. This 433.9MHz module transmits this using amplitude-shift keying (ASK) via a quarter-wavelength (173mm long) wire antenna. Receiver circuit The Receiver circuit is shown in Fig.2. Signals from the Transmitter are received by the 433.9MHz receiver module, and the demodulated serial data is applied to the RC2 digital input (pin 8) of the PIC16F1455 microcontroller (IC2). The 8-bit train speed data and the direction data are extracted and stored in memory, then used to generate the pulse-width modulated speed signal and the direction signal. Two logic inputs, IN1 and IN2, control the H-bridge driver (IC3). To turn Fig.3: pulse-width modulation (PWM) involves setting the output high at a fixed interval, then leaving it high for a period ranging up to that interval. The result is a varying average voltage, even though the output only switches between two levels. the motor in one direction, we apply a pulse-width modulated (PWM) signal to vary the speed to IN1 while holding IN2 high. If the train is to run in reverse, the PWM signal is applied to instead IN2 while IN1 is held high. To stop the train, both input are kept at the same level (both low or both high). Fig.3 shows the signals for driving the motor at various speeds. The battery supply voltage is halved by the two 10kW resistors and the resultant ~2.4V is monitored by analog input RA4 (pin 3) of IC2 using its internal ADC. If the voltage at that pin falls below 2V (ie, the battery is below 4V), digital output RC4 (pin 6) is taken low, switching on red LED2 to alert you that the battery needs charging. The micro also provides signals to drive the DRV8871 H-bridge IC. To turn the motor in one direction, the PWM signal is applied to digital output RC3 (pin 7), while RC5 is taken high (+5V). To reverse the motor direction, the PWM signal is applied to RC5 and RC3 is taken high. The higher the speed value, the faster the motor turns. When the speed control is near its minimum position, both RC5 and RC3 are taken low (to 0V), causing the PWM module to go into sleep mode, reducing the current drawn from the battery. The +5V supply for the receiver and micro is provided by the S7V7F5 high-frequency voltage up/down converter (MOD4) that takes the 4-6V battery voltage and provides a regulated +5V output. If the battery has been recently charged (it could be as high as about 6V), MOD4 steps down the voltage to +5V; if it is discharged below 5V, Fig.2: MOD2 picks up the data from the Transmitter and feeds it to microcontroller IC2, which decodes it and produces PWM waveforms for H-bridge motor driver IC3 on MOD5. MOD3 boosts the battery voltage to 15V to run the motor. IC2 also monitors the battery voltage and lights LED2 if it is low. 68 Practical Electronics | December | 2025 Battery-Powered Model Train it steps it up. The 100μF electrolytic capacitor and 100nF ceramic capacitor reduce any noise or ripple on the supply. Similarly, the U3V16F15 (MOD3) provides the +15V DC supply for the motor. We use 15V instead of 12V to overcome any voltage drop in the tiny cables connecting the carriage to the train motor. Polulu recommend in their data sheet that you add a 47μF capacitor across the battery input when using these inverters, which I have done. Both these modules are available online for around £7 each (eg, see https://uk.robotshop.com/). There is a 2.5mm switched jack socket (CON1) so the battery can be charged. It also allows the battery power to the Receiver to be switched off simply by inserting a jack plug. With the jack plug in the socket, the battery is connected to the Charger and disconnected from the Receiver as its positive side is disconnected. Charger circuit Looking at Fig.4, the battery is trickle charged at C/10 (90mA) for 16 hours unless its output voltage exceeds 6V, indicating the battery is fully charged. In that case, the charge current is switched off. When the power pack is switched on, 9V is applied to the 78L05 voltage regulator (REG2), which reduces the volt- Photo 4: the 433.9MHz receiver (above) and transmitter (below) modules. They are sold under various model numbers, but this particular set is very common to find online. As long as yours look like these, and don’t have low-quality soldering, they should work (avoid the cheapest ones!). Practical Electronics | December | 2025 age to +5V to power the PIC12F617 microcontroller, IC4. The two 100μF capacitors smooth out any residual ripple, while the two 100nF capacitors provide high-­ frequency bypassing. On powering up, digital output GP4 (pin 3) of IC4 pulses the green LED at 200ms intervals, indicating it is in standby mode. Pressing the Start button (S3) pulls the GP2 digital input low (pin 5), causing an interrupt routine to be triggered that takes the Charger out of standby mode and puts it into charge mode. The 100nF capacitor eliminates any contact bounce from the pushbutton. This results in the green LED switching off and the red Charge LED flashing at 500ms intervals. Mosfet Q1 (IRL540N) is switched on by digital output GP5 going high, and the 16hour countdown timer starts. When on, the drain of the Mosfet goes low, connecting the 90mA constant current source to the battery. The current source comprises the BD136 transistor (Q2), an LM285 2.5V reference diode and a 220W resistor in parallel with a 22W resistor. It works by holding the PNP base 2.5V below the +9V supply. This sets the emitter at 1.8V (2.5V – 0.7V), which matches the voltage across the parallel resistors. They have a resistance of 20W (220W || 22W). With 1.8V across 20W, Ohm’s law (I = V ÷ R) tells us the current must be 90mA (1.8V ÷ 20W). The battery voltage is halved by the two 10kW resistors and applied to analog input GP0 (pin 7) of IC4. Once per second, it measures the voltage and if it is above 3V (battery fully charged), charging stops and the Charger goes back into standby mode, shown by the green LED flashing. If the battery voltage doesn’t exceed 6V, the charging stops after 16 hours. The 1N4004 diode (D2) prevents the battery from discharging if it is left connected when the charger is not powered. The 1N4148 diode (D3) prevents the ADC input from rising above 5.6V, although that is unlikely because the battery would have to be charged to over 11V. Still, it’s possible CON2 could accidentally be connected to a voltage source, so it’s better to be safe. Sourcing parts The receiver and transmitter modules are available from several suppliers under different part numbers. I Fig.4: this NiMH battery trickle charger will stop charging when the battery voltage reaches 6V (1.2V per cell) or after 16 hours of charging. Q2, REF1 and the surrounding components form a 90mA constant current source while Mosfet Q1 controls whether charging is active. 69 Constructional Project Programming a microcontroller in-circuit To program the micro with it in the circuit, you will need to solder wires to the +5V and 0V rails as well as pin 4 (MCLR), and the pads on the ICSPCLK and ICSPDAT pins. Those are pins 9 & 10 respectively for the PIC16F1455, or pins 6 & 7 respectively for the PIC12F617. Connect those wires to your programmer, referring to its manual to see which wire goes to which pin. For the PICkit 3, the pins are (starting from pin 1) MCLR, VCC, GND, ICSPDAT and ICSPCLK. You can download and install the free MPLAB IPE software from the Microchip website and then use the included MPLAB IPE software to open the appropriate HEX file (which you can download from siliconchip.au/Shop/6/508) and flash it onto the target chip via your programming hardware. have given a couple of examples in the parts list, but there are many others. Sometimes the part number is for a transmitter/receiver pair and the individual parts don’t have individual codes (or they are not specified). The main thing is to check that what you are buying looks like the modules shown in Photo 4. If you type “433MHz modules” in a search engine, you will find plenty of suppliers of modules that look identical or nearly so. Be careful, though, as I found that one of the very cheapest suppliers’ modules were poorly soldered and were unusable. Construction Let’s start by building the Transmitter. It is assembled on a single or double-­sided PCB coded 09110241 that measures 49 × 36mm. During assembly, refer to the PCB overlay diagram, Fig.5. Fig.5 shows the off-board components wired directly to the PCB. You can do it that way, but it’s easier to instead solder pin headers in those positions and then cut pairs of femalefemale DuPont jumper wires in half. That way, you can plug them into the headers and solder the bare ends to the other components. You can see from the photos that I soldered wires to header sockets instead of using DuPont wires; either approach can work, but it’s easier and slightly neater to cut the jumper wires in half. You can often get them joined together in a ribbon, making it easy to split off pairs or sets so they stay together (like a figure-8 cable). Start the PCB assembly by fitting the headers, 8-pin IC socket and the capacitors. The IC socket makes it easier to remove the microcontroller and reprogram it later if necessary. Take care to orientate the socket and electrolytic capacitors correctly. For the electros, the longer positive lead goes into the pad nearest the + symbol, with the stripe on the can indicating the negative end opposite that. Now add the resistors, which are mounted vertically, then the 78L05 voltage regulator, 1N5819 diode (with its cathode stripe facing as shown) and the 433.9MHz transmitter module. As the clearance inside the Hammond box is less than the height of the 433.9MHz module, the module should be mounted 20° from vertical towards the edge of the board (it’s shown as if it’s laid flat in Fig.5 for clarity). Make sure all the semiconductors and the transmitter are correctly orientated. Don’t fit the PIC12F617 microcontroller yet. If you have purchased it from the Silicon Chip Online Shop, it will already have the firmware loaded. If you wish to program it yourself, you can download the firmware from: siliconchip.au/Shop/6/508 To load the firmware onto the chip, you will need a suitable programmer Fig.5: this shows where components mount on the Transmitter board and how to wire it up. While wires are shown soldered straight to the PCB, we recommend using headers and wires with DuPont plugs to make assembly and disassembly easier. MOD1 is mounted about 20° off vertical so it fits in the case; it is shown horizontally here for clarity. Fig.6: this view from the inside of the case front shows where to drill the holes. The large one is for the pot shaft, the 5mm holes are for the two switches and LED, while the M3-tapped holes are for mounting the board. If you would rather not tap them, drill them to 3mm and use extra machine screws (ideally countersunk) from the outside to fix the tapped spacers. 70 Practical Electronics | December | 2025 Battery-Powered Model Train and an adaptor socket. For the former, you can use a PICkit or Snap programmer (or similar); for the latter, see our PIC Programming Adaptor (September 2024). Finally, check for any dry solder joints or solder bridges. Case preparation Drill and tap the Hammond 1593Y case as shown in Fig.6. That shows a view from the inside of the front part of the case. The large (9.5mm) hole is for the shaft of VR1, the three 5mm holes are for the two switches and LED, and the four M3-tapped holes are for mounting the PCB. If you would rather not tap the holes, you can simply drill 3mm holes and use screws from both sides (which is accounted for in the parts list), but it will look worse and the extra screws will protrude outside the case unless you countersink them. Now refer to Fig.5 and Photo 3 to see how everything goes together. Fit the LED, PCB, potentiometer, knob and toggle switches as shown. Split off the DuPont cables into sets, cut them in half, then solder them to the chassis-­ mounted parts and battery clip, using 1.5mm diameter heatshrink tubing to insulate the joints where necessary. Solder a 173mm length of wire to the aerial pad on the transmitter module and insulate the other end. Then plug Photo 5: these are the Adafruit DRV8871 (top), Polulu U3V16F15 (lower left) and S7V7F5 (lower right) modules. We recommend you solder the right-angle headers so that they are parallel with the board (see Fig.2 and Photo 7). Practical Electronics | December | 2025 the DuPont connectors into the headers on the board using Fig.5 as a reference. Make sure everything goes to the right location, or it won’t work properly. Testing the Transmitter With the microcontroller (IC1) out of its socket, check the orientation of the battery connector, 78L05 voltage regulator and the 433.9MHz transmitter module. Connect the 9V battery and switch it on. The LED on the front panel should glow. Connect a voltmeter with its red probe to pin 1 on the IC socket and the black lead to pin 8. The measured voltage should be very close to +5V DC. If not, verify that the 5V regulator is the correct way round and there aren’t any solder bridges shorting any tracks or pins. Assuming it’s OK, switch off the power and insert the microcontroller. If you have an oscilloscope, connect it to pin 7 of the IC, with the Earth connector to 0V. Switch on and you should should be able to capture a serial data waveform at 1200 baud similar to that in Scope 1. If all is good, attach the back of the case using the supplied screws and you are ready to move on to the Receiver. Receiver construction First you must decide which version of the Receiver you want to build. The all through-hole version is larger at 74 × 23mm and uses a PCB coded 09110242, while the mixed SMD/TH version measures just 23 × 30mm with a PCB coded 09110243. Both versions share many parts (all the modules are the same). The main difference is that the smaller version uses an SMD microcontroller and mostly SMD passives. The smallest parts are 2.0 × 1.2mm, so they are not terribly difficult to handle, and the IC has a fairly generous 1.27mm lead pitch. The surface-mount PCB is the one I used to fit in my 85mm-long OO gauge carriage. You will need to use the SMD version if the TH board won’t fit in yours; otherwise, the choice is yours. The first task for both types of PCBs is to solder the supplied header pins to both of the Polulu DC/DC converter modules. Assemble them as shown in Fig.2, Fig.7 and Photo 6, making sure that the pins are parallel with the module PCBs. For the DVR8871 module, you have to add a four-pin Scope 1: this shows the serial data that’s transmitted via a 433.9MHz wireless link with the switch in the forward position and the speed control at about halfway. right-angled header; again, make sure that the pins are parallel with the DVR8871 PCB. SMD PCB assembly Since I etched mine myself, it is a single-sided design, although you can get the double-sided version from Silicon Chip, which avoids the need to fit the two wire links. The surface-mount components go on the copper side of the board, while the though-hole components and modules are inserted from the opposite side. The overlay diagram (Fig.7) shows both sides. This is a good project if you are interested in improving your SMD soldering skills, since it has a few different types and sizes of components. I am 79 and can still manage these parts. The SOIC-package PIC16F1455 will need to be programmed at some point. The easiest way is to purchase a pre-programmed PIC, although it is possible to program it in-circuit. See the panel for details if you wish to do that. Use a flux pen or a syringe of flux paste to coat the PIC16F1455 IC’s leads and its associated pads. Hold the PIC in place (eg, using tweezers) with the correct orientation and use your soldering iron to tack solder one lead in place, then check that it is positioned correctly. If so, solder the remaining leads. Clean off the flux residue and inspect the leads under magnification to ensure that all the solder joints have formed correctly. If you are not sure about any of them, add more flux and apply heat (and possibly more solder) to reflow the joint. If you have bridged any pins, use more flux and some solder wick to remove the excess solder. 71 Constructional Project It is important to have such a circuit, as without it, the radiated signal can be picked up by the receiver, causing potentially erratic operation. If it is missing, the train’s manufacturer should be able to supply a new one. The wires to the wheels should be disconnected from the two series inductors. The engine is powered from the carriage by a twisted pair of thin cable that connects from a two-pin male header to the two series inductors inside the engine. Finally, connect a 173mm length of multi-stranded wire to the antenna terminal of the receiver module. All connections should be insulated using heatshrink tubing. battery input, and a dual-trace oscilloscope to IN1, IN2 with the Earth connected to the 0V input. Connect a variable power supply to the 4.8V battery input, with the red wire going to the positive terminal and the black to the ground terminal. Slowly increase the voltage to about 5V; the meter should read 5V. Switch on the Transmitter with the speed control set about halfway. The oscilloscope should show a 5V peakto-peak 7kHz waveform with about a 50% duty cycle on either IN1 or IN2 (depending on the position of the forward/reverse switch). Increase the speed to maximum, and the display should change to a continuous +5V DC. On reducing it to minimum, you should see a 6% duty cycle square wave. If IN1 shows the 7kHz waveform then IN2 should be at +5V, while if IN2 shows the 7kHz waveform, IN1 should be at +5V. Reduce the input voltage to less than 4V and you should see the red LED switch on. If you don’t have an oscilloscope, you can instead connect a DVM to either IN1 or IN2 (with the black probe to ground) and vary the speed potentiometer. The DVM should read the average voltage of the PWM signal, meaning it should increase smoothly as you advance the speed control clockwise. If it’s stuck at 5V, switch the DVM probe to the other terminal (IN1 or IN2). SMD version testing Through-hole version Connect a voltmeter between the LED anode (red) wire and the 0V If you have long OO gauge carriages or a train that will take the Fig.7: the SMDs are soldered to the underside of the small Receiver PCB, as shown at right, while the through-hole parts mount on the top. MOD2 & MOD5 are shown on their sides for clarity but actually mount vertically. You can solder terminal blocks to MOD5 for the outputs, or just solder wires directly. Now use a similar procedure to fit the remaining SMDs. They are all the same size except the 47μF capacitor, which is a bit larger. The 1kW resistors will have a code like 102 or 1001 printed on top, while the code for 10kW is 103 or 1002. The capacitors will not be labelled. Finally, using an ohmmeter on its lowest range, check each passive SMD component across its terminals to make sure you haven’t accidentally created any short circuits. Turn the board over and solder in the links (if you are using a single-sided board), the two electrolytic capacitors, and the four modules. Make sure all the components are the right way around. The four modules are mounted at right-angles to the main board, although some are shown horizontally in Fig.7 for clarity. The final task is to attach the headers and connect the wires to the red LED and train motor. Disconnect the wires that connect the train wheels to the motor because we don’t want the rails to act as aerials to radiate interference from the motor brushes. For my 85mm carriage, the motor wires are 12cm long, the wires from the PCB to the connector are 7cm long, the wires from the jack plug to the PCB connector are 6cm long, the wires from the jack plug to the battery connector are 6cm long and the battery connector wire is 4cm long. All connections are insulated using heatshrink tubing. Inside the train engine, the manufacturer should have fitted two inductors in series with the motor wires (typically around 30μH) and a 100nF capacitor across the motor terminals to suppress radiation from the motor brushes often on a small PCB. 72 Fig.8: the larger Receiver board uses all through-hole parts that mount on the top. You only need to fit the three wire links if you have a single-sided board. All modules mount vertically; MOD5’s component side is towards the bottom of the PCB as shown, while MOD2 has the majority of its components near the top edge. Fig.9 (far right): the 3mm hole is for the LED, while the 4mm hole is for the jack socket. The slot is for the wires to exit the carriage and go to the engine. These are suggestions only; you can customise them for your carriage configuration. Practical Electronics | December | 2025 Battery-Powered Model Train board and batteries, you might find building this one a bit easier. Since I etched mine myself, it is a singlesided design, although you can get the double-­sided version from Silicon Chip, which avoids the need to fit the wire links. Refer to the PCB overlay diagram, Fig.8. Solder in the links (if you are using a single sided board), the three electrolytic capacitors, the 14-pin IC socket and DC/DC converter modules, making sure they are orientated correctly. Then add the headers, MKT/ceramic capacitors and resistors. Wire up the red LED and train motor as shown. The length of the wires will depend on the size of the carriage you are using. All connections should be insulated by using heatshrink tubing. Through-hole version testing Check that the components are the correct way round and there are no solder bridges on the PCB. Connect the battery red wire to the positive terminal of a 5V power supply and the black wire to the 0V terminal, switch it on and use a DVM to measure the voltage between pin 1 and pin 14 of the IC socket. It should be very close to 5V. Also check the 15V supply by measure the voltage between the Vout and 0V terminals of the U3V16F15 module. The result should be very close to 15V. If all is well, fit the DVR8871 H-bridge module, 433.9MHz receiver and insert the PIC16F1455 chip into its socket, making sure they are all orientated Fig.10: the ground wires from the battery pack and PCB are joined at the ground tab for the jack socket, while the red wires go to different pins so that the Receiver PCB is switched off when the jack plug is inserted (for charging, or just to cut the power). correctly. Connect a 173mm length of multi-stranded wire to the antenna terminal of the receiver. The rest of the testing is the same as that for the surface-mount version of the PCB, so refer to that section above. The wiring lengths are different for this version, as is the position of the red LED and jack plug socket. These will depend on your train’s dimensions. Mounting the Receiver The 3mm LED and 2.5mm jack socket need to be mounted on the carriage, along with an access groove for the cable connecting to the engine. Fig.9 shows the suggested carriage cover modifications to achieve this. Fit the jack plug socket into the 4mm hole so that pin 1 is as close as possible to the side of the carriage cover. Once they are mounted, wire up the jack socket and battery as shown in Fig.10. Insulate any exposed connections with 1.5mm diameter heatshrink tubing. Next, load the battery holder with fully charged cells and connect the battery to the jack socket. Connect the black lead of a DVM to the negative wire that will go to the Receiver PCB in the engine, and the red lead to the positive wire. You should get a reading close to 4.8V (the charged battery voltage). Now plug a jack plug into the socket and check again; the voltmeter should read 0V. Next, measure the voltage across the jack plug terminals and it should be once again be close to 4.8V. Insert the red LED into the 3mm hole. Fit the PCB and battery holder as shown in Photo 9. Connect the power wires to the Receiver PCB, tucking them and the excess wire down the side of the battery holder. Coil the antenna cable and tuck it down between the PCB and the carriage end that holds the jack socket. Leave the jack plug in, as this stops power from the batteries flowing into the Receiver. Cover the wheel assembly with a strip of insulating tape where the bottom of the PCB may contact it. You can then fit the wheel assembly to the carriage cover. Final testing Switch on the Transmitter and set the speed control to its minimum position. With the engine laying on its back, connect it to the carriage. Switch on the Receiver by removing the jack plug. Rotate the speed control on the Transmitter and the engine wheels should start to move, gaining speed as the control is rotated further until maximum speed is reached. Photos 6 & 7: the top and bottom sides of the prototype SMD version of the Battery-Powered Model Train Receiver PCB. Practical Electronics | December | 2025 73 Constructional Project Photo 8: the through-hole version of the Receiver PCB is much larger than the SMD version (about twice as wide), but it is easier to assemble due to using through-hole components. Turn the control back down and the speed should decrease to zero just before minimum rotation. Repeat with the forward/reverse switch in the other position. Switch off the Transmitter and insert the jack plug to switch off the Receiver. Running the train Place the engine and assembled carriage onto the tracks and connect the motor lead and socket. Switch on the Transmitter and turn the speed control to minimum and the forward reverse switch to forward. Remove the jack plug from the carriage (power on). Rotate the potentiometer clockwise and the train should move forward; its speed should increase with the advancement of the control. If it goes in reverse, unplug the motor leads from the train and reverse the connections. It should now run forwards. Repeat the test with the switch in the reverse position. With the train running, switch off the Transmitter; the train should continue running at Photo 9: the SMD Receiver PCB and four AAA cells just fit into a OO-gauge train carriage. the same speed. Switch the Transmitter on again, rotate the potentiometer fully anti-clockwise and the train should stop. Insert the jack plug to switch the Receiver off. If the red LED is lit, plug in the Charger until the batteries are charged. Always stop the train before operating the forward/reverse switch; failure to do so may destroy the motor. Always switch the Transmitter on before switching the train on, and always switch off the train off before the Transmitter. This avoids the train running by itself if in the unlikely event of an interfering signal that’s interpreted as valid by the Receiver. Charger construction Fig.11: fit the parts to the Charger PCB as shown here. This also shows how to wire the off-board parts. While wires are shown soldered straight to the PCB, we recommend using headers and wires with DuPont plugs. 74 The Charger is built on a single- or double-sided PCB coded 09110244 that measures 63 × 32mm. Its overlay diagram is shown in Fig.11. Once again, headers are not shown in the wiring but it’s easiest to use headers and plugs. Start by fitting the headers, IC socket, wire link (if needed) and the capacitors. Take care to orientate the socket and electrolytic capacitors correctly. ...continued on page 76 Practical Electronics | December | 2025 Constructional Project Parts List – Battery-powered Model Train 1 500mm length of 1.5mm diameter black or clear heatshrink tubing various lengths & colours of light-duty hookup wire (wire for the power to the engine can be from old USB and mouse cables) Charger Fig.12: the Jiffy box needs holes at each end for the power input and charging output, plus four countersunk holes for mounting the PCB, plus three more for the pushbutton and two LEDs. Now add the resistors, which are mounted vertically, the BD136 transistor, IRL540N Mosfet, LM285-2.5V voltage reference diode, 78L05 voltage regulator, plus the 1N4148 and 1N4004 diodes. Make sure all the semiconductors are correctly orientated and in the right places. Don’t fit the PIC microcontroller yet. If you purchased the micro from the Silicon Chip Shop, it will already have the firmware loaded. If you wish to do this yourself, the files can be downloaded from siliconchip.au/Shop/6/508 and we had some comments earlier about ways to program the chip. Once the PCB is fully assembled, check for any dry solder joints or solder bridges. It mounts in a UB3 Jiffy box that has to be drilled for the LEDs, pushbutton, PCB mounting screws 76 1 single- or double-sided PCB coded 09110244, 63 × 32mm 1 UB3 Jiffy box 1 9V DC 150mA+ plugpack 1 2.5mm mono jack plug (CON2) [Jaycar PP0100] 1 chassis-mount DC socket to suit plugpack (CON3) 1 chassis-mount SPST miniature momentary pushbutton (S3) 1 8-pin DIL IC socket 5 2-way pin headers, 2.54mm pitch 6 female-female DuPont jumper wires, ideally joined in a ribbon 4 M3 × 8mm countersunk head machine screws 8 M3 hex nuts 1 500mm length of single-core screened microphone cable 1 PIC12F617-I/P 8-bit microcontroller programmed with 0911024C.HEX, DIP-8 (IC4) 1 LM285-2.5 voltage reference diode, TO-92 (REF1) 1 78L05 5V 100mA linear regulator, TO-92 (REG2) 1 IRL540N 100V 36A Mosfet, TO-220 (Q1) 1 BD136/138/140 45/60/80V 1.5A PNP transistor, TO-126 (Q2) 1 5mm green LED (LED3) 1 5mm red LED (LED4) 1 1N4004 400V 1A diode (D2) 1 1N4148 75V 200mA diode (D3) 2 100μF 16V low-ESR radial electrolytic capacitors 3 100nF 50V ceramic, multi-layer ceramic or MKT capacitors 4 10kW ¼W 1% axial resistors 3 2.2kW ¼W 1% axial resistors 2 220W ¼W 1% axial resistors 1 39W 1W 1% axial resistor (for testing) 1 22W ¼W 1% axial resistor Transmitter 1 single- or double-sided PCB coded 09110241, 49 × 36mm 1 Hammond 1593Y plastic case [DigiKey, Mouser, RS] 1 3-pin 433.9MHz transmitter module, WRF43301R or XLC-RF5 (MOD1) [AliExpress, eBay] 1 9V battery snap 1 9V battery 1 8-pin DIL IC socket 1 3-way pin header, 2.54mm pitch 4 2-way pin headers, 2.54mm pitch 7 female-female DuPont jumper wires, ideally joined in a ribbon and power input socket. The drilling details are shown in Fig.12. Once the box has been drilled, attach the red and green LEDs, start pushbutton and the barrel socket as shown in the photos. The PCB is held in place by four 8mm-long countersunk head M3 machine screws and eight M3 hex nuts. The four extra nuts are used to space the PCB off the case. Use DuPont wires to make the connections between the PCB and the offboard components, as shown in Fig.11. Insulate all exposed connectors and the wire connections to the LEDs with 1.5mm diameter heatshrink tubing. Finish the Charger off by preparing the box, as shown in Fig.12, then mounting the PCB and all the chassis-­ mounting parts to it. Testing the Charger Make sure that the microcontroller is not in its socket; at the same time, Practical Electronics | December | 2025 Battery-Powered Model Train 2 SPDT subminiature toggle switches (S1, S2) 1 10kW 16mm linear potentiometer with large knob (VR1) 8 M3 × 6mm panhead machine screws 4 M3 × 6mm tapped hex spacers 1 PIC12F617-I/P 8-bit micro programmed with 0911024T.HEX, DIP-8 (IC1) 1 78L05 5V 100mA linear regulator, TO-92 (REG1) 1 high-intensity 5mm LED, white recommended (LED1) 1 1N5819 40V 1A schottky diode (D1) 2 100μF 16V low-ESR radial electrolytic capacitors 4 100nF 50V ceramic, multi-layer ceramic or MKT capacitors 3 10kW ¼W 1% axial resistors Receiver (common to both versions) 1 4-pin 433.9MHz receiver module, WRF43301R or XLC-RF5 (MOD2) [AliExpress, eBay] 1 Polulu U3V16F15 15V output step-up DC/DC converter (MOD3) [uk.robotshop.com/products/pololu-15v-step-up-voltage-regulator-u3v16f15] 1 Polulu S7V7F5 5V output step-up/down DC/DC converter (MOD4) [uk.robotshop.com/products/step-up-step-down-voltage-regulator-s7v7f5] 1 Adafruit DRV8871 motor driver module (MOD5) 4 1.2V 900mAh NiMH AAA cells 1 2×2 AAA battery holder with flying leads 1 2.5mm mono switched chassis-mounting jack socket (CON1) 2 4-way right-angle pin header, 2.54mm pitch (for MOD2 & MOD5) 2 female-female DuPont jumper wires, ideally joined together 1 red 3mm LED (LED2) Receiver (TH version only) 1 single- or double-sided PCB coded 09110242, 74 × 23mm 1 PIC16F1455-I/P micro programmed with 0911024R.HEX, DIP-14 (IC2) 1 14-pin DIL IC socket 3 100μF 16V low-ESR radial electrolytic capacitors 2 100nF 50V ceramic, multi-layer ceramic or MKT capacitors 3 10kW ¼W 1% axial resistors 1 1kW ¼W 1% axial resistor Receiver (SMD version only) 1 single- or double-sided PCB coded 09110243, 23 × 30mm 1 PIC16F1455-I/SL micro programmed with 0911024R.HEX, SOIC-14 (IC2) 1 100μF 16V low-ESR radial electrolytic capacitor 1 100μF 6.3V radial electrolytic capacitor 1 47μF 16V X5R M3216/1206 SMD ceramic capacitor 2 100nF 50V X7R M2012/0805 SMD ceramic capacitors 3 10kW ⅛W 1% M2012/0805 SMD resistors 1 1kW ¼W 1% M2012/0805 SMD resistor check the orientation of all the semiconductors and electrolytic capacitors. Connect the power supply and switch it on. Take a voltmeter and connect the red lead connected to pin 1 of the empty IC socket, and the black lead to pin 8. You should measure very close to +5V DC. If not, check that the 5V regulator is the correct way round and there aren’t any solder bridges shorting the tracks. Assuming it’s OK, switch off the Practical Electronics | December | 2025 power, insert the microcontroller and connect a 39W 1W resistor between the battery terminals (eg, using clip leads). Apply power again and the green LED should flash. Press the Start button; the green LED should extinguish and the red LED should flash, indicating ‘charging’. There should be about 3.5V across the 39W resistor, indicating 90mA of current flow. To simulate a fully charged battery, disconnect the 39W resistor. Photo 10: the Charger board easily fits inside a UB3 Jiffy box (or a smaller case) as shown here and in Photo 3. The green LED should then flash, and the red LED will extinguish. If you want to check that the timer is working, reconnect the 39W resistor, press the Start button again and wait for 16 hours. The red LED should extinguish and the green LED will flash. Using the Charger When the battery voltage in the carriage falls below 4V, the 3mm LED in the rear of the carriage glows, alerting you that the battery needs charging. Connect the Charger to the carriage via the 2.5mm jack plug. Switch on the Charger and press the Start button to begin charging. The Charger will revert to standby mode (with the green LED flashing) when the battery is fully charged. PE 77