Silicon ChipVersatile Battery Checker - May 2025 SILICON CHIP
  1. Outer Front Cover
  2. Contents
  3. Publisher's Letter: Using WinCompose for typing special symbols
  4. Feature: Digital Scent and Taste by Dr David Maddison, VK3DSM
  5. Project: Versatile Battery Checker by Tim Blythman
  6. Feature: Electronex 2025 by Noel Grey (AEE)
  7. Project: Tool Safety Timer by Phil Prosser
  8. Project: RGB LED Analog Clock by Nicholas Vinen
  9. PartShop
  10. Project: USB Power Adaptor by Nicholas Vinen
  11. PartShop
  12. Review: RNBD451 Bluetooth LE Module by Tim Blythman
  13. Feature: Precision Electronics, Part 7: ADCs by Andrew Levido
  14. Subscriptions
  15. Serviceman's Log by Various
  16. Vintage Radio: Emerson 888 mini-mantel set by Ian Batty
  17. Market Centre
  18. Advertising Index
  19. Notes & Errata: Pico/2/Computer, April 2025; Surf Sound Simulator, November 2024
  20. Outer Back Cover

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

You can view 54 of the 112 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.

Items relevant to "Versatile Battery Checker":
  • Versatile Battery Checker PCB [11104251] (AUD $5.00)
  • PIC16F18146-I/SO programmed for the Versatile Battery Checker [1110425A.HEX] (Programmed Microcontroller, AUD $10.00)
  • 1.3-inch blue OLED with 4-pin I²C interface (Component, AUD $15.00)
  • 1.3-inch white OLED with 4-pin I²C interface (Component, AUD $15.00)
  • Versatile Battery Checker kit (Component, AUD $65.00)
  • Versatile Battery Checker front panel [11104252] (PCB, AUD $7.50)
  • Versatile Battery Checker firmware (Software, Free)
  • Versatile Battery Checker PCB pattern (PDF download) [11104251] (Free)
  • Versatile Battery Checker panel drilling diagram (Panel Artwork, Free)
Items relevant to "Tool Safety Timer":
  • Tool Safety Timer PCB [10104251] (AUD $5.00)
  • PIC16F15214-I/P programmed for the Tool Safety Timer [1010425A.HEX] (Programmed Microcontroller, AUD $10.00)
  • Tool Safety Timer firmware (Software, Free)
  • Tool Safety Timer PCB pattern (PDF download) [10104251] (Free)
  • Tool Safety Timer panel artwork & drilling diagrams (Free)
Items relevant to "RGB LED Analog Clock":
  • RGB LED 'Analog' Clock PCB (19101251) (AUD $15.00)
  • PIC16F18146-I/SO programmed for the RGB LED 'Analog' Clock [1910125A.HEX] (Programmed Microcontroller, AUD $10.00)
  • BZ-121 miniature GNSS receiver (Component, AUD $30.00)
  • RGB LED 'Analog' Clock kit (Component, AUD $65.00)
  • RGB LED 'Analog' Clock firmware (Software, Free)
  • RGB LED 'Analog' Clock PCB pattern (PDF download) (19101251) (Free)
Items relevant to "USB Power Adaptor":
  • USB Power Adaptor PCB [18101251] (AUD $2.50)
  • USB Power Adaptor kit (Component, AUD $10.00)
  • USB Power Adaptor PCB pattern (PDF download) [18101251] (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 7: ADCs (May 2025)
  • Precision Electronics, part five (May 2025)
  • Precision Electronics, Part 7: ADCs (May 2025)
  • Precision Electronics, part six (June 2025)
  • Precision Electronics, part six (June 2025)

Purchase a printed copy of this issue for $13.00.

Vers Ver satile Battery Checker Our previous Battery Condition Checker was designed specifically for lead-acid batteries and variants such as sealed lead-acid (SLA) types. This versatile tool allows you to check the condition of all manner of batteries, including Liion and LiPo types. It can also test 9V batteries and cells with a much lower voltage, so it can check C, D, AA and AAA cells too. Project by Tim Blythman V oltmeters (such as the ones built into multimeters) are a simple way to check the terminal voltage of a battery and can help to estimate its state of charge. However, voltmeters have a high input impedance, so they do not expose the battery to any significant load. Thus, a voltmeter reading does not indicate a battery’s internal resistance. Increasing internal resistance can be a sign of degradation and loss of capacity in a battery. We’ve seen batteries with a perfectly reasonable terminal voltage that completely ‘drop their bundle’ when exposed to any kind of load! Such a battery cannot be relied upon. So you really need a proper battery checker, like this one. Our Battery Condition Checker from the August 2009 issue (siliconchip.au/ Article/1535) worked with 6V, 12V and 24V lead-acid batteries. It applied a 15ms pulsed load to the battery, which could be 12A, 25A or 40A. The result was shown on a row of LEDs driven by the venerable LM3914 LED bargraph driver. Cleverly, it was powered by the 24 Silicon Chip battery being tested and performed its tests under the control of a 4017 decade counter. The circuit used four Mosfets to deliver the pulses, with circuitry controlling the Mosfet gate voltage based on the voltage across four current measuring shunts. This allowed the circuit to sink the desired current. Nowadays, we can use a modern microcontroller with an ADC (analog-­ to-digital converter) to control the sequencing of such a device. Its ADC can measure voltage and perform calculations to display results in an easyto-read text form. That makes for a much more compact instrument than the relatively large 2009 design. It also allows us to test batteries below 6V, such as the now very common ~3.7V lithium-ion, LiPo & LiFePO4 cells. It would also be handy to be able to test AA, AAA, C and D cells and such, as well as batteries made from them. That isn’t possible with the older design, since these cells do not provide enough voltage to run circuitry, so we have added the option of a separate battery to power the Checker. Australia's electronics magazine The Versatile Battery Checker is easy to use. You can set a voltage drop limit (specified in percent; we have set the default to 10%) and dial in the maximum test current. The test sequence starts at the press of a button, and the results are reported in about one second. The Checker runs 10 test pulses spread up to the maximum current limit. If at any time the test current is exceeded or the battery voltage drops too much, the remaining tests are cut short and the results of the completed pulses are reported. The Checker also monitors for conditions that might otherwise damage the hardware and cancels pending tests in such cases. Our Versatile Battery Checker Perhaps the best way to explain our new design is to examine the circuit diagram, Fig.1. The battery under test (BUT) connects between two binding posts, CON3 (positive) and CON4 (negative). The path for the test current is through diode D1, Mosfet Q1 and a 15mW current-measuring shunt. In the absence of any other signals, Q1 is held off by the 100kW resistor siliconchip.com.au connected to its gate via a 220W resistor. Diode D1 is for reverse-polarity protection, since Q1 would otherwise conduct excessive reverse current through its body diode if the connections were reversed. The circuit can run off the BUT, receiving power to its main V+ rail via diode D2. A 9V battery connected at CON2 can also supply power. Q5 is a PNP transistor arranged as a high-side switch that can source power to V+ via diode D3. From V+, PNP transistors Q2 and Q7 form a 600µA current-limited source that can be enabled by applying current to NPN transistor Q3’s base. This 600µA flows out of Q2’s collector and into Q1’s gate, tending to bias it on. A current source is used here so that the circuit’s operation is consistent even if the V+ voltage varies (and it likely will if running off the BUT). The section around NPN transistor Q4 provides the current control function. Assume for now that the line labelled CURCON is connected to circuit ground. As the current through the 15mW shunt rises, so does the voltage at Q4’s base. When the voltage across the shunt reaches about 0.73V, the divider can supply 0.6V to Q4’s base. This will switch on Q4 and shunt the current from Q2 away from Q1’s gate, reducing its gate bias voltage, and maintaining the current at a level that keeps this state. To achieve this, a nominal 48A needs to flow through the shunt. If we apply 3.3V to the CURCON line then, even if no current is flowing, Q4 has 0.6V at its base and the Mosfet is forced off. Between these two extremes, we can set a voltage that will approximately set the current that is flowing through the shunt and thus flowing out of the BUT. Of course, the voltage at Q4’s base will not strictly be 0.6V, and there are some variations in the other voltages, but the basic principle remains valid. Later, we’ll look at how this voltage is set. Since the shunt is on the low side (BAT−) of the circuit, the voltage developed across it (relative to circuit ground) is proportional to the actual current flowing, and the microcontroller can easily measure that. Power supply The control circuitry runs at a nominal 5V supplied from either REG1 or REG2. Only one of these regulators siliconchip.com.au Fig.1: key to this circuit’s operation is Mosfet Q1 being driven in constantcurrent mode with the target current set by the voltage on the CURCON line, produced by IC1’s internal DAC. The circuitry at upper left provides pushbutton power control using S5 and Q5. Two 100kW/10kW dividers allow the internal and external battery voltages to be sensed. should be fitted; the two parts are simply alternatives that perform the same role. The TLE4269G (REG2) can handle an input voltage up to 45V. We got a fairly large number of these nice chips inexpensively, so will supply them in kits. In case it becomes hard to find, an MCP1804 (REG1) can be used instead. This can handle up to 28V; that isn’t high enough to comfortably run from a fully charged 24V Australia's electronics magazine battery, which can reach nearly 30V. We’ll assume REG2 is fitted, since that is what we used on our prototype. It comes in the SOIC-8 package, with features not available on the 3-pin MCP1804 (the latter’s tab is connected to the middle pin). The connections to pins 2 and 3 of REG2 simply disable its extra features and pins 1, 5 and 8 provide the minimum input, ground and output connections needed. May 2025  25 When mounting the OLED module, it should be level with the surrounding plastic and the gaps will be covered by the panel. The two 10µF capacitors provide the necessary bypassing required by either regulator. Diodes D2 and D3, noted earlier, allow REG2 to be powered from either of the two sources. There is also a 100µF capacitor that holds up the V+ line during tests. This is important if the BUT is used to provide the supply current. Microcontroller IC1 is a PIC16F18146 8-bit microcontroller and it has a 100nF bypass capacitor fitted to its supply at pins 1 and 20 (ground). We make use of several of its internal peripherals. Importantly, it has an internal voltage reference that can be fed to an 8-bit DAC (digital-to-analog converter) with a buffered output at pin 17. The DAC is used to set the CURCON voltage and thus the BUT current. We use the 4.096V internal reference, so the DAC has an output resolution of 16mV, which maps to steps of ¼A for the BUT. The microcontroller connects to ICSP (in-circuit serial programming) header CON1 with its 5V supply rails, along with pins 4, 18 and 19. Pin 4 is pulled up to 5V to prevent inadvertent resets. We used CON1 for development, but it is does not need to be fitted unless IC1 needs to be programmed in-circuit. The remaining pins on IC1 are general-­purpose I/O pins (GPIOs) used for straightforward digital and analog input functions. Pins 2, 3, 7 and 8 connect to tactile switches S1-S4. These pins have an internal pullup current enabled, so they sit at a high level unless the switch is pressed, pulling it to ground and causing the digital input to change state. Pins 5 and 6 connect to OLED module MOD1, providing an I2C serial interface, along with the 5V supply rails. The switches and display form the user interface; we’ll delve into its details a bit later. Pins 9 and 12 connect to identical 100kW/10kW dividers supplemented by 100nF capacitors on their lower legs. These are used with IC1’s ADC peripheral to monitor the voltage at the 9V battery at CON2 and the BUT, respectively. The internal 4.096V internal reference is used for these measurements, giving a range of around 45V with a resolution of 11mV using the 12-bit ADC. Pin 14 is similarly used to monitor the voltage at the shunt and thus measure the current drawn by the BUT. The current measurements use a 1.024V reference, allowing currents up to 65A to be measured. The measured value of these internal references is written into the chip at manufacture, so we can use them without an extra calibration step. Measuring the change in BUT voltage due to various current loads is the essence of what the Checker does. These measurements also allow, for example, an internal resistance value to be calculated. We mentioned Q5 earlier, but not how it is controlled. Q5 can be switched on either by closing S5 or by raising the voltage on the POWERCON line (IC1’s pin 10), which switches on Q6. A typical sequence might involve pressing S5, which powers on the microcontroller. The micro then biases on Q6 to maintain power, and the button can be released. The micro can then switch itself off later by pulling POWERCON low, to 0V. This might be done under user control or after a timeout. The micro applies a pullup current to pin 11, allowing it to detect when S5 is pressed. D4 is used to prevent voltages above 5V from feeding back into the microcontroller, which could damage it. Pin 16, the TESTCON line, can be taken high to switch on Q3, which in turn activates the Q2 current source. This gives us two ways to ensure that Q1 is switched off between tests, since we can also put up to 4V on CURCON, V 2.0 1.6 1.2 0.8 0.4 0.0 -0.4 -0.05 seconds 0.05 0.15 0.25 0.35 0.45 0.55 0.65 0.75 0.85 Scope 1: eight pulses from a test sequence. Blue is TESTCON (which, at 5V peak, has exceeded the scale), red is the scaled battery voltage (BATSENSE), green is current (VSHUNT) and yellow is CURCON, offset for clarity (the peak level is nominally 4V). As CURCON drops, the VSHUNT curve indicates an increasing current and the battery voltage drops further. 26 Silicon Chip Australia's electronics magazine siliconchip.com.au V 5.0 4.0 3.0 2.0 1.0 0.0 -1.0 -10.0 ms 0.0 10.0 forcing Q4 on and keeping Q1’s gate low. 20.0 Scope 3: this is like Scope 2 but with a closeup of a single pulse, except yellow is now the scaled battery voltage (BATSENSE). Note how Q1’s gate drive adjusts as the battery voltage sags. The firmware allows 10ms for the voltages to stabilise before taking several samples over a few more milliseconds. All the important voltages settle before sampling. test is stopped. Each sequence aims to run 10 tests up to the maximum, so even if the sequence is not completed, there should be a useful measurement amongst those taken. Before each pulse, the battery voltage is measured. The DAC is set to provide the requisite current, and the pulse is applied by taking TESTCON high and waiting for 10ms. This gives time for the test conditions to stabilise. The current and voltage are measured, and TESTCON is taken low to end the test. The DAC voltage is also increased to its maximum to ensure that Q1 is switched off. Scope 1 and Scope 2 show a sequence of eight test pulses. You can see the way the voltages change in the circuit as the test current is ramped up, from left to right. Scope 3 shows a single pulse and how the conditions Software overview The user interface for the Versatile Battery Checker is quite simple since there is not much to configure between tests. There is a single page that controls the test process. Initially, it shows the connected BUT voltage, and the buttons allows the test current to be set and the test started. Just like the earlier Battery Condition Checker, it runs several brief pulses, around 10 in this case. While the earlier project ran three tests at the same current, this Checker runs tests spread out from near zero up to the target current. If at any time the target current is exceeded, or the battery voltage drops by more than the specified amount, the Features & Specifications Compact handheld unit Handles batteries/cells from 1V to 30V Test current up to 30A Battery connects via a pair of binding posts Reports test current, unloaded & loaded battery voltage, percent voltage drop & internal resistance Wiring & terminal resistance can be calibrated out Runs 10 tests up to a configurable maximum current Results appear on an OLED screen Self-protection built into the software Runs from a 9V battery or the battery being tested (above 7V) Operating current: 30mA Battery life: 10 hours plus with a standard 9V battery settle before the voltages are sampled. The Checker displays the highest current reading that was made successfully, along with a measurement of the voltage drop and calculated internal resistance. You can also view the results of the other samples taken (at lower current levels), as long as the Checker deems them valid. It monitors for any conditions that V 5.0 4.0 3.0 2.0 1.0 0.0 -1.0 -0.1seconds 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 Scope 2: the blue trace is VSHUNT, red is Q1’s gate, green is Q4’s base and yellow is the CURCON line, all per the scale on the left. This shows the increased drive to Q1’s gate as the requested current increases and a fairly consistent voltage at Q4’s base despite CURCON being driven at different voltages. siliconchip.com.au Australia's electronics magazine May 2025  27 may need a reasonably powerful iron to solder them. There are a handful of through-hole parts to add, then some cutting and drilling for the enclosure. The panel PCB is a bezel for the entire front of the enclosure, so not much precision is required when making holes in the enclosure. Populating the PCB Fig.2: an annotated diagram from the SQM10250E data sheet; green shows the Mosfet’s safe operating area, while the red line marks out the limits that are enforced by the software. The white area inside the red lines cannot be reached because of the Mosfet’s minimum resistance. might be problematic before each test. For example, it checks that there is voltage on the BAT+ line before proceeding. There are also configuration pages to set some user preferences and calibration parameters. The software also compares the maximum test current, and the measured battery voltage, against the Mosfet’s safe operating area (SOA), shown in Fig.2. If the vertical line is exceeded, a “V too high” message is given. This can happen if the connected battery measures more than 30V. For the diagonal line, which corresponds to a VI product of 400W, the Checker reports an “SOA error” and the calculated VI product value. It also calculates a lower test current that would be inside the safe operating area, based on the measured BUT voltage. This means that for a fully charged 12V battery (at say 14.4V), the highest safe test current is around 27A, while a fully charged 24V battery can be tested up to about 13A. The horizontal line is enforced by not permitting the user to set the current over 30A. Between tests pulses, a 100ms delay is inserted and after a test has been run, the software enforces a further delay 28 Silicon Chip proportional to the test VI product before allowing another test to begin. This ensures that there is negligible chance of the components overheating. Since it is when the results are displayed, you might not even notice it. We’ll examine some of the finer details of the software operation, including setup, calibration and usage after assembly is complete. The most critical of the Checker’s calibration steps can be performed automatically, without any external test gear, and many of the others with just a multimeter. Construction The bulk of the construction involves populating the main PCB with surface-mounting parts, so the standard requirements for surface mounting gear apply. None of the parts are smaller than M3216/1206 or SOT23, and the PCB is fairly spacious, so it is not too difficult to build. You should ideally have a finetipped soldering iron (a medium tip should be OK), flux paste, a magnifier, tweezers and solder-wicking braid. Illumination and ventilation are also helpful. The power components sit on substantial copper areas, so you Australia's electronics magazine The main PCB is coded 11104251 and measures 70 × 76mm. Follow along with the overlay diagrams (Figs.3 & 4) and photos. Pay attention to the transistors, since both NPN and PNP types are used in the same package. Care should also be taken that the diodes are fitted with the correct polarity. All the SMD parts mount on the same side of the PCB. Start with IC1 and REG2, both in SOIC packages. If you have an MCP1804 (for REG1), then fit it instead of REG2. Apply flux to the pads on the PCB and rest the components in place. Both IC1 and REG2 have their pin 1 markers in the top left-hand corner. Clean your iron’s tip and add a small amount of fresh solder. Tack one lead and adjust the parts with the tweezers until all the leads are located above their pads and the parts are flat against the PCB. Carefully solder the remaining pins, cleaning the iron and adding solder as needed. If you bridge two pins, finish soldering the part before trying to fix the bridge. This will ensure it doesn’t move out of position. To remove a bridge, add a little flux paste, then press the braid against the bridge with your iron and allow it to draw up the excess solder. Go back and refresh any joins that you think might need it. Next, add a thin layer of flux paste and solder the three BC807 PNP transistors: Q2, Q5 & Q7. These parts are smaller, but you can use much the same strategy as for the ICs. Follow with the three BC817 NPN transistors: Q3, Q4 & Q6. That will be all the parts in SOT-23 packages fitted. Now fit the three 100nF capacitors, which should be thinner than the 10µF capacitors. They won’t be marked except on their packaging. The two 10µF capacitors can be installed next, near the regulator. Now solder in the three smaller diodes, D2-D4. Pay attention to the cathode stripes and siliconchip.com.au ensure they are placed closest to the ‘K’ markings on the PCB silkscreen. The 20 M3216/1206 size (3.2 × 1.6mm) resistors are the last of the smaller parts. Check the value of each using a multimeter (set to resistance) or by visually examining the resistance code and making sure it matches the value printed on the PCB silkscreen or overlay diagram. If your iron has adjustable temperature, you can now turn it up for soldering the three larger parts: D1, Q1 and the 15mW shunt. The strategy is much the same, although you might need to apply more heat, which could take more time. For Q1, the gate pin (at top left, above the Q1 silkscreen marking) will have less attached copper, so we recommend you tack it first. Also make sure you spread flux paste on all the pads before placing the part, so that solder will flow under it later. Q1 will only fit one way, but you should check the polarity of D1. D1’s pads and leads are also asymmetrical, so you can match the two smaller leads to the smaller pad on the PCB. The shunt resistor is not polarised. Once you have the components secured on all leads, you can check that there is no continuity between the BAT+ and BAT− pads in either direction. If this is low resistance or it shows a low voltage on a diode test, you may have the diode reversed. You should measure around 100kW due to the sensing divider. If all is well, you can add more solder to the exposed copper areas, which will enhance their current-carrying capacity (shown in grey near the top of Fig.4). Then use a flux solvent or isopropyl alcohol to clean up the PCB and allow it to dry fully. Check the PCB thoroughly for solder bridges and other defects and repair as needed. Programming IC1 The back of the Checker just before the rear panel is screwed on. The binding posts connect to the main PCB with short lengths of heavy-duty insulated wire, and the main current carrying path is supplemented with extra solder. At this stage, there is enough circuitry attached to IC1 that it can be programmed if that is required. If you have purchased a pre-programmed microcontroller from the Silicon Chip Shop, this will not be necessary. CON1 must be fitted to allow a programmer to connect. It goes on the same side as the SMD components, and can be left in after programming, since it won’t foul the case. You can see it in our photos, since we used CON1 quite a lot during development. You’ll need the Microchip IPE (integrated programming interface) software. This is a free download as part of the MPLAB X IDE from the Microchip website at www.microchip. com/en-us/tools-resources/develop/ mplab-x-ide Figs.3 & 4: all the SMD parts are on one side of the PCB and should be installed first. Only one of REG1 or REG2 should be fitted. The exposed traces in the highcurrent section of the circuit near the top can be supplemented with extra solder. The tactile switches are fitted to the other side of the PCB, as is the OLED screen. siliconchip.com.au Australia's electronics magazine May 2025  29 You’ll also need a programmer like a Snap, PICkit 4 or PICkit 5. If your programmer cannot supply power to the circuit, then the easiest way will be to rig up something to supply 6V or more to CON3 and CON4 (observing their respective polarity markings). A current-limited supply set to 50mA is ideal, since the circuit should not draw more than that when operating. Connect the programmer and, in the IPE software, select the PIC16F18146, open the HEX file and press the Program button. Check that the programming completes and the file is verified successfully. Nothing will happen after that, since there is no display connected. Disconnect the programmer and power supply before proceeding. Case cutting You’ll need to cut the holes to allow the OLED (MOD1) to be correctly located relative to the front panel. The front panel PCB can be used as a template for the holes. The seven round holes should match the front panel Parts List – Versatile Battery Checker 1 double-sided PCB coded 11104251 measuring 70 × 76mm 1 double-sided 0.8mm-thick black PCB coded 11104252 measuring 131 × 68mm (front panel) 1 Retex Betabox 33050552 145 × 80 × 34mm handheld enclosure with battery compartment 5 through-hole SPST tactile switches with stems 9mm above the PCB (S1-S5, 6mm actuator length) [Jaycar SP0603] 1 1.3in I2C OLED module (MOD1) [Silicon Chip SC6511 or SC5026] 1 9V battery and battery snap 1 5-pin header, 2.54mm pitch (CON1; optional, for ICSP) 1 2-way right-angle 2.54mm polarised header and matching plug (CON2; optional) 1 red binding post (CON3) 1 black binding post (CON4) 4 self-adhesive small rubber feet 1 piece of double-sided tape to secure battery 1 fresh AA cell and holder for setup and testing 1 5cm length of red 25A+ rated wire 1 5cm length of black 25A+ rated wire 1 small tube of neutral cure silicone or similar resilient glue Semiconductors 1 PIC16F18146-I/SO 8-bit microcontroller programmed with 1110425A.HEX, SOIC-20 (IC1) 1 MCP1804-5 5V low-dropout linear regulator, SOT-223 (REG1) OR 1 TLE4269G 5V low-dropout linear regulator, SOIC-8 (REG2) 1 SQM10250E 250V 65A N-channel automotive-grade Mosfet, D2PAK-3 (Q1) 3 BC807 50V 800mA PNP transistor, SOT-23 (Q2, Q5, Q7) 3 BC817 50V 800mA NPN transistor, SOT-23 (Q3, Q4, Q6) 1 SBRT15U50SP5 50V 15A schottky diode, POWERDI-5 (D1) 3 M4/GS1G/SM4004 400V 1A diodes, DO-214AC (D2-D4) Capacitors 1 100μF 50V radial electrolytic 2 10μF 50V SMD M3216/1206 size X5R ceramic 3 100nF 50V SMD M3216/1206 size X7R ceramic Resistors (all M3216/1206 size 1% ⅛W unless noted) 3 100kW 8 10kW 6 1kW 3 220W 1 15mW M6331/2512 size 1% 3W Versatile Battery Checker Kit (SC7465, $65 + postage): Includes everything in the parts list (and the case) except the optional components, batteries and glue. 30 Silicon Chip Australia's electronics magazine closely, while the square hole for the OLED will need to be cut larger on the case to allow the display to sit the directly behind the panel. Fig.5 shows the required cut-outs. This is shown from outside the case, as you will only be able to mark the case from the outside using the panel. It won’t matter too much if you the mark the case since the panel will cover it. None of the holes need to be cut with any accuracy since the panel PCB will hide any imperfections. Still, it is not hard to cut the round holes accurately, and they can be enlarged if needed. You can see the general layout in our photos. If things don’t quite line up as you are fitting the through-hole parts in the next step, you can adjust the case as long as the panel hasn’t been glued to it yet. Through-hole parts Solder the five tactile switches now, noting that they are on the opposite side of the PCB to the surface-mounting parts. Ensure that they are flat against the PCB so that they point straight up through the holes in the front panel. Fitting MOD1 requires a bit of precision, since it needs to be placed just behind the panel PCB for the best result. To align it, screw the main PCB into the case. The tactile switches should neatly pass through their respective holes without binding. If the header has not been soldered to the OLED module, do that now, keeping it as square as possible and ensuring it does not protrude above the front of the screen. Alternatively, if the header is already fitted, you might find that the pins protrude slightly above the screen. In that case, you can trim them back with some nippers. Slot the OLED module into place but do not solder it yet. Tape the front panel PCB temporarily in its location to allow the OLED module to be positioned correctly. We want to have the OLED sit just behind the panel and flat against it. You should be able to rest the assembly flat on its face and allow the OLED to rest against the back of the panel PCB. Tack one pin with your iron and check that it looks aligned from the front. It should be parallel to and just behind the panel. You can also check siliconchip.com.au Fig.5: the front panel PCB can be used as a template for the round holes. The OLED screen is smaller than the rectangular cutout, but it’s needed to allow the OLED to sit just behind the front panel. The Versatile Battery Checker is a handy tool for checking the condition of all manner of batteries. It can deliver test pulses up to 30A and handle batteries with up to 30V at the terminals. Internal resistance and percentage voltage drop are shown at the conclusion of each test. that it is square by comparing the OLED’s outline against its silkscreen markings on the main PCB. If all is well, solder the remaining leads and detach the PCB from the case. The 100µF capacitor can be fitted now. Bend its leads 90°, paying attention to the polarity markings, solder it to the PCB and trim the leads, keeping the offcuts. There are also two larger pads on the main PCB under the OLED. Thread the offcuts through the holes in the OLED module and solder the lower end to the large pad on the PCB. Then solder the tops of the offcuts to the OLED and trim them to a tidy length. If you are using the plug-and-socket siliconchip.com.au arrangement for CON2 (the 9V battery), these can be installed now too, with the battery snap wires crimped into the socket. Otherwise, thread the wires for the battery snap through the holes in the PCB (to give a degree of strain relief) and then solder them to their respective pads, observing the polarity. That is how we built the prototype. Binding posts You can perform a basic functional test of the Checker by connecting a 9V battery now. Nothing should happen until you press S5, the power button. The OLED should illuminate and show something like Screen 1 and then Screen 2. The UP and DOWN Australia's electronics magazine buttons should change the test current value on the third line. Disconnect the battery before continuing with assembly. Reattach the PCB to the case, then rest the front panel in place. It should locate itself fairly accurately within the boss around the edge of the enclosure. Spread a thin film of neutral-­cure silicone sealant around the lower half of the case and secure the top half of the panel with the binding posts. Make sure to fit the red binding post near CON3 and the black binding post near CON4. Solder the red and black wires to their respective pads on the PCB, then clamp the lower half of the May 2025  31 case to the panel until the silicone has cured. You can also apply some silicone to the 100µF capacitor so its leads don’t flex too much. Fit the 9V battery (if using it), affix it with the double-­ sided tape and screw the back onto the enclosure. Testing and calibration The operation of the Checker is shown in Screens 1-16. You can see that there are some parameters that can be calibrated, but only a few are absolutely necessary. A 1.5V cell such as a fresh alkaline AA type is used as our calibration BUT (a low-voltage battery with limited current capacity is less likely to cause damage if there is a problem). Connect the AA cell to CON3 and CON4 with the correct polarity. Press S5 (POWER) to switch on the Checker. The same button switches it off, although it might not respond right away if it is in the middle of a test or other operation. Hold S5 until “OFF” is shown, then release it. You should see something like Screen 2, but with the second line showing around 1.5V. The top line should be close to 9V. If these values are markedly different, there might be a problem. In that case, power off the Checker and examine the PCB for assembly errors. To calibrate the Checker, hold MODE for a second until the screen blanks, then release MODE. You will see Screen 6. With the AA cell attached to CON3 and CON4, press ENTER to run the calibration. This scans through the DAC settings to find the lowest value that will activate Q1 and sink 1A. You can also trim this manually with the UP and DOWN buttons. If you see a “Scan Failed Check Battery” message, make sure you have a fresh cell. It should be able to deliver 1A without dropping by more than 10%; we wouldn’t trust any modern AA cell that struggles with this! Any other battery that the Checker can test should work for the purposes of this calibration. Press MODE repeatedly until you return to Screen 2 and run a test at 1A by pressing ENTER. After about a second, you should see Screen 4. Scroll through the test results with the up and down buttons; there may only be one or a few. You should see a result 32 Silicon Chip Screen 1: you should see this splash screen when the Checker is powered on before it switches to the main operating screen (Screen 2 or 3). Screen 2: when running from the internal 9V battery, its voltage is shown at upper right. The down and up icons indicate that S1 and S2 can be used to adjust the test current. Screen 5: the no-load and loaded voltages, along with the calculated percentage drop, are shown on the second line. Below are the test current and calculated internal resistance. Screen 6: holding S4 for a second opens the setup menu. The first page shows the zero-current DAC setting level. Briefly pressing S4 again cycles through the remaining menu items. Screen 9: this value sets the nominal target current when the DAC is set to 0V. It is used to calibrate the target current setting during tests. Screen 10: this calibration sets the scaling for current measurements. All calibration and configuration values are saved to EEPROM and used immediately. Screen 13: this is the lowest voltage that will allow the Checker to operate tests; below this, the circuitry cannot guarantee that the Mosfet will be driven hard enough. Screen 14: if there are problems with the calibration and configuration values in EEPROM, they can be reset by pressing S1 and S2 simultaneously on this screen. showing a current around 1A or lower if the voltage has dropped over 10% at a lower current level. This indicates that the Checker is basically functional. You can try the Checker on other batteries if you like, to test the maximum current setting. If possible, run some tests at a higher current like 20A. One AA cell probably can not do this! Perhaps you could use a car battery, or a pack from a remote-controlled vehicle. A current-limited power supply can also be used to run the Checker through its paces. You’ll see that the top line shows the test number (0-9). If the maximum current is well calibrated, and the BUT can supply the test current without sagging more than 10%, then test #9/9 should be very close to the target test current. If not, you can trim the MAX I parameter to adjust this. Reduce it if the measured current is too high and increase if it is too low. Do this in small steps and run a few tests after each adjustment to get a feel for how much the results will vary. Even after making an adjustment, the Checker may overshoot the maximum current slightly, by less than an amp. This is due to the limited DAC resolution. If you prefer to avoid this, Australia's electronics magazine siliconchip.com.au Screen 3: when powered from a battery connected to CON3/CON4, the Checker shows “EXT” at top right. The right arrow icon above S3 starts a test cycle. Screen 4: the test results are shown after about a second, with the first line showing the number of successful tests. UP and DOWN can be used to cycle through the other test results. Screen 7: the timer for internal battery operation is set here with S1 and S2, and enabled or disabled with S3. If the timer is disabled, then the Checker will not automatically power off. Screen 8: the maximum voltage drop is set here, in percent. If the Checker detects a drop higher than this, it will stop the test, even if it hasn’t reached the maximum test current. Screen 11: use a multimeter to trim the calibration factor here so that the displayed value matches the voltage of the battery attached to CON3 and CON4. Screen 12: the VAUX calibration works much the same as the external battery calibration seen in Screen 11. If in doubt, you can use the same calibration factor. more details about the other configuration and calibration settings, but it will work quite well without much setup. Run a few tests with the Checker to try out its operation and you should become familiar with how it works. From the initial page, dial in the maximum desired test current and press ENTER to start the test. Wait for the results and use the UP and DOWN buttons to scroll through them, then press ENTER to return to the initial page. If you will only be using the Checker with 12V batteries or higher, the 9V battery can be left disconnected. The Checker will power up from CON3/ CON4 if it can, so you can simply hook it up to a BUT, run a test and then disconnect the battery. The target test current is saved in EEPROM and reloaded when the Checker starts up. We found normal internal resistance values fairly easy to find for reputable brands of batteries. For example, an alkaline AA cell should measure around 150mW. An 18650 lithium cell should be under 100mW. A 7Ah SLA battery like Jaycar’s SB2486 is specified at 25mW, while a car starting battery should be even lower (under 10mW). Naturally, if a battery or cell reads much higher than specified, it should be considered for replacement. Nulling the wiring resistance Screen 15: one of the error messages that might be seen when there is a problem. This will appear if you try to run a test without a battery connected to CON3 and CON4. Screen 16: the offset applied for the intrinsic resistance of the Checker and its wiring is set here. You can either use the value from the latest test or adjust it up and down manually. you can set the MAX I value even lower to be more conservative. BAT low”. That means it is definitely time to fit a new 9V battery. The “SOA ERROR” message should go away if you reduce the test current and try again. “I too high” probably means that the calibration is off and the Checker could not reach the target current using the settings it has. There is also an option to reload the default configuration from flash memory if they do somehow end up corrupted or unusable. You might see “SETTINGS ERROR” if the Checker thinks there is a problem with the configuration. Error messages You might see a few error messages when running tests. These are generally intuitive, although, for example, a “V too low” message can sometimes be fixed by trying a lower test current. This message means that even the lowest test current of the test set caused an excessive voltage drop. You could also check the calibration. If the 9V battery is getting flat, you will see the voltage dropping on the initial screen. When it drops below 7V, you might see a message reading “AUX/ siliconchip.com.au Usage The captions for the Screens give Australia's electronics magazine Some 12V lead-acid battery chargers estimate battery internal resistance (in mW) using the equation 3000/CCA (cold cranking amps). A reasonably large car battery will typically be rated at 600CCA, implying a 5mW internal resistance. The Checker has a calibration value for the intrinsic resistance of the Checker and its wiring; this is an offset in milliohms that is subtracted from all calculated internal resistance values. The default value is 0mW, so measurements will display unadjusted values unless you change this. Screen 16 shows how this can be edited. It can be manually trimmed up and down, or it can use the value of the most recent test that has occurred. Thus, a simple way to calibrate this value is to run a test on a large, known-good battery such as a car starter battery. After running the test, navigate to this page and press the ENTER button, then trim the value down by 5mW. SC May 2025  33