Silicon ChipDigital Panel Meter/USB Display suits a range of projects - November 2019 SILICON CHIP
  1. Outer Front Cover
  2. Contents
  3. Publisher's Letter: Hand-held devices discourage creativity
  4. Feature: A look at SatNav systems: how do they work? by Dr David Maddison
  5. Project: The Super-9: a stereo FM Radio Receiver to build by John Clarke
  6. Feature: Three I-O Expanders to give you more control! by Tim Blythman
  7. Subscriptions
  8. Serviceman's Log: The alarming false alarm system by Dave Thompson
  9. Project: High performance linear power supply – part two by Tim Blythman
  10. Project: Digital Panel Meter/USB Display suits a range of projects by Tim Blythman
  11. PartShop
  12. Feature: Altronics’ battery-powered soldering iron by Nicholas Vinen
  13. Vintage Radio: 1930s “Vogue” radio “restomod” (new electronics for old) by Fred Lever
  14. PCB Order Form
  15. Market Centre
  16. Advertising Index
  17. Notes & Errata: 45V 8A Bench Supply (High Power Linear Bench Supply), October 2019
  18. Outer Back Cover

This is only a preview of the November 2019 issue of Silicon Chip.

You can view 45 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 "The Super-9: a stereo FM Radio Receiver to build":
  • Super-9 Stereo FM Radio PCB set (AUD $25.00)
  • MC1310P FM Stereo Demodulator IC (DIP-14) (Component, AUD $5.00)
  • 75cm telescopic FM antenna (Component, AUD $7.50)
  • BF992 dual-gate depletion-mode Mosfet (SOT-143B) (Component, AUD $4.00)
  • CA3089E FM IF amplifier and demodulator IC (DIP-16) (Component, AUD $3.00)
  • Super-9 FM Radio PCB pattern (PDF download) [06109181] (Free)
  • Super-9 FM Radio case laser cutting artwork (PDF download) (Panel Artwork, Free)
Articles in this series:
  • The Super-9: a stereo FM Radio Receiver to build (November 2019)
  • The Super-9: a stereo FM Radio Receiver to build (November 2019)
  • The Super-9 FM Radio Receiver, Part 2 (December 2019)
  • A simple 10.7MHz IF Alignment Oscillator (December 2019)
  • The Super-9 FM Radio Receiver, Part 2 (December 2019)
  • A simple 10.7MHz IF Alignment Oscillator (December 2019)
Items relevant to "Three I-O Expanders to give you more control!":
  • PCA9685 16-channel 12-bit PWM module (Component, AUD $6.00)
  • Sample code for Three I/O Expander Modules (Software, Free)
Articles in this series:
  • El Cheapo Modules From Asia - Part 1 (October 2016)
  • El Cheapo Modules From Asia - Part 1 (October 2016)
  • El Cheapo Modules From Asia - Part 2 (December 2016)
  • El Cheapo Modules From Asia - Part 2 (December 2016)
  • El Cheapo Modules From Asia - Part 3 (January 2017)
  • El Cheapo Modules From Asia - Part 3 (January 2017)
  • El Cheapo Modules from Asia - Part 4 (February 2017)
  • El Cheapo Modules from Asia - Part 4 (February 2017)
  • El Cheapo Modules, Part 5: LCD module with I²C (March 2017)
  • El Cheapo Modules, Part 5: LCD module with I²C (March 2017)
  • El Cheapo Modules, Part 6: Direct Digital Synthesiser (April 2017)
  • El Cheapo Modules, Part 6: Direct Digital Synthesiser (April 2017)
  • El Cheapo Modules, Part 7: LED Matrix displays (June 2017)
  • El Cheapo Modules, Part 7: LED Matrix displays (June 2017)
  • El Cheapo Modules: Li-ion & LiPo Chargers (August 2017)
  • El Cheapo Modules: Li-ion & LiPo Chargers (August 2017)
  • El Cheapo modules Part 9: AD9850 DDS module (September 2017)
  • El Cheapo modules Part 9: AD9850 DDS module (September 2017)
  • El Cheapo Modules Part 10: GPS receivers (October 2017)
  • El Cheapo Modules Part 10: GPS receivers (October 2017)
  • El Cheapo Modules 11: Pressure/Temperature Sensors (December 2017)
  • El Cheapo Modules 11: Pressure/Temperature Sensors (December 2017)
  • El Cheapo Modules 12: 2.4GHz Wireless Data Modules (January 2018)
  • El Cheapo Modules 12: 2.4GHz Wireless Data Modules (January 2018)
  • El Cheapo Modules 13: sensing motion and moisture (February 2018)
  • El Cheapo Modules 13: sensing motion and moisture (February 2018)
  • El Cheapo Modules 14: Logarithmic RF Detector (March 2018)
  • El Cheapo Modules 14: Logarithmic RF Detector (March 2018)
  • El Cheapo Modules 16: 35-4400MHz frequency generator (May 2018)
  • El Cheapo Modules 16: 35-4400MHz frequency generator (May 2018)
  • El Cheapo Modules 17: 4GHz digital attenuator (June 2018)
  • El Cheapo Modules 17: 4GHz digital attenuator (June 2018)
  • El Cheapo: 500MHz frequency counter and preamp (July 2018)
  • El Cheapo: 500MHz frequency counter and preamp (July 2018)
  • El Cheapo modules Part 19 – Arduino NFC Shield (September 2018)
  • El Cheapo modules Part 19 – Arduino NFC Shield (September 2018)
  • El cheapo modules, part 20: two tiny compass modules (November 2018)
  • El cheapo modules, part 20: two tiny compass modules (November 2018)
  • El cheapo modules, part 21: stamp-sized audio player (December 2018)
  • El cheapo modules, part 21: stamp-sized audio player (December 2018)
  • El Cheapo Modules 22: Stepper Motor Drivers (February 2019)
  • El Cheapo Modules 22: Stepper Motor Drivers (February 2019)
  • El Cheapo Modules 23: Galvanic Skin Response (March 2019)
  • El Cheapo Modules 23: Galvanic Skin Response (March 2019)
  • El Cheapo Modules: Class D amplifier modules (May 2019)
  • El Cheapo Modules: Class D amplifier modules (May 2019)
  • El Cheapo Modules: Long Range (LoRa) Transceivers (June 2019)
  • El Cheapo Modules: Long Range (LoRa) Transceivers (June 2019)
  • El Cheapo Modules: AD584 Precision Voltage References (July 2019)
  • El Cheapo Modules: AD584 Precision Voltage References (July 2019)
  • Three I-O Expanders to give you more control! (November 2019)
  • Three I-O Expanders to give you more control! (November 2019)
  • El Cheapo modules: “Intelligent” 8x8 RGB LED Matrix (January 2020)
  • El Cheapo modules: “Intelligent” 8x8 RGB LED Matrix (January 2020)
  • El Cheapo modules: 8-channel USB Logic Analyser (February 2020)
  • El Cheapo modules: 8-channel USB Logic Analyser (February 2020)
  • New w-i-d-e-b-a-n-d RTL-SDR modules (May 2020)
  • New w-i-d-e-b-a-n-d RTL-SDR modules (May 2020)
  • New w-i-d-e-b-a-n-d RTL-SDR modules, Part 2 (June 2020)
  • New w-i-d-e-b-a-n-d RTL-SDR modules, Part 2 (June 2020)
  • El Cheapo Modules: Mini Digital Volt/Amp Panel Meters (December 2020)
  • El Cheapo Modules: Mini Digital Volt/Amp Panel Meters (December 2020)
  • El Cheapo Modules: Mini Digital AC Panel Meters (January 2021)
  • El Cheapo Modules: Mini Digital AC Panel Meters (January 2021)
  • El Cheapo Modules: LCR-T4 Digital Multi-Tester (February 2021)
  • El Cheapo Modules: LCR-T4 Digital Multi-Tester (February 2021)
  • El Cheapo Modules: USB-PD chargers (July 2021)
  • El Cheapo Modules: USB-PD chargers (July 2021)
  • El Cheapo Modules: USB-PD Triggers (August 2021)
  • El Cheapo Modules: USB-PD Triggers (August 2021)
  • El Cheapo Modules: 3.8GHz Digital Attenuator (October 2021)
  • El Cheapo Modules: 3.8GHz Digital Attenuator (October 2021)
  • El Cheapo Modules: 6GHz Digital Attenuator (November 2021)
  • El Cheapo Modules: 6GHz Digital Attenuator (November 2021)
  • El Cheapo Modules: 35MHz-4.4GHz Signal Generator (December 2021)
  • El Cheapo Modules: 35MHz-4.4GHz Signal Generator (December 2021)
  • El Cheapo Modules: LTDZ Spectrum Analyser (January 2022)
  • El Cheapo Modules: LTDZ Spectrum Analyser (January 2022)
  • Low-noise HF-UHF Amplifiers (February 2022)
  • Low-noise HF-UHF Amplifiers (February 2022)
  • A Gesture Recognition Module (March 2022)
  • A Gesture Recognition Module (March 2022)
  • Air Quality Sensors (May 2022)
  • Air Quality Sensors (May 2022)
  • MOS Air Quality Sensors (June 2022)
  • MOS Air Quality Sensors (June 2022)
  • PAS CO2 Air Quality Sensor (July 2022)
  • PAS CO2 Air Quality Sensor (July 2022)
  • Particulate Matter (PM) Sensors (November 2022)
  • Particulate Matter (PM) Sensors (November 2022)
  • Heart Rate Sensor Module (February 2023)
  • Heart Rate Sensor Module (February 2023)
  • UVM-30A UV Light Sensor (May 2023)
  • UVM-30A UV Light Sensor (May 2023)
  • VL6180X Rangefinding Module (July 2023)
  • VL6180X Rangefinding Module (July 2023)
  • pH Meter Module (September 2023)
  • pH Meter Module (September 2023)
  • 1.3in Monochrome OLED Display (October 2023)
  • 1.3in Monochrome OLED Display (October 2023)
  • 16-bit precision 4-input ADC (November 2023)
  • 16-bit precision 4-input ADC (November 2023)
  • 1-24V USB Power Supply (October 2024)
  • 1-24V USB Power Supply (October 2024)
  • 14-segment, 4-digit LED Display Modules (November 2024)
  • 0.91-inch OLED Screen (November 2024)
  • 0.91-inch OLED Screen (November 2024)
  • 14-segment, 4-digit LED Display Modules (November 2024)
  • The Quason VL6180X laser rangefinder module (January 2025)
  • TCS230 Colour Sensor (January 2025)
  • The Quason VL6180X laser rangefinder module (January 2025)
  • TCS230 Colour Sensor (January 2025)
  • Using Electronic Modules: 1-24V Adjustable USB Power Supply (February 2025)
  • Using Electronic Modules: 1-24V Adjustable USB Power Supply (February 2025)
Items relevant to "High performance linear power supply – part two ":
  • 45V/8A Linear Bench Supply PCB [18111181] (AUD $10.00)
  • FJA4313OTU 15A NPN transistor (Source component, AUD $10.00)
  • LM317HVT regulator and INA282AIDR shunt monitor IC for 45V 8A Linear Bench Supply (Component, AUD $15.00)
  • 3mm acrylic heatsink spacer for High-power Linear Bench Supply (PCB, AUD $2.50)
  • High Power Linear Bench Supply PCB pattern (PDF download) [18111181] (Free)
  • High Power Linear Bench Supply panel artwork and drilling/cutting diagrams (PDF download) (Free)
Articles in this series:
  • 45V, 8A Bench Power Supply to build (October 2019)
  • 45V, 8A Bench Power Supply to build (October 2019)
  • Digital Panel Meter/USB Display suits a range of projects (November 2019)
  • High performance linear power supply – part two (November 2019)
  • Digital Panel Meter/USB Display suits a range of projects (November 2019)
  • High performance linear power supply – part two (November 2019)
  • High performance linear power supply – part three (December 2019)
  • High performance linear power supply – part three (December 2019)
Items relevant to "Digital Panel Meter/USB Display suits a range of projects":
  • 45V/8A Linear Bench Supply PCB [18111181] (AUD $10.00)
  • FJA4313OTU 15A NPN transistor (Source component, AUD $10.00)
  • LM317HVT regulator and INA282AIDR shunt monitor IC for 45V 8A Linear Bench Supply (Component, AUD $15.00)
  • 3mm acrylic heatsink spacer for High-power Linear Bench Supply (PCB, AUD $2.50)
  • High Power Linear Bench Supply PCB pattern (PDF download) [18111181] (Free)
  • High Power Linear Bench Supply panel artwork and drilling/cutting diagrams (PDF download) (Free)
  • Digital Panel Meter/USB Display PCB [18111182] (AUD $2.50)
  • PIC16F1459-I/P programmed for the Digital Panel Meter/USB Display [18111182A.HEX] (Programmed Microcontroller, AUD $10.00)
  • 3mm acrylic bezel for the Digital Panel Meter (PCB, AUD $2.50)
  • Software for the Digital Panel Meter/USB Display (Free)
  • Digital Panel Meter/USB Display PCB pattern (PDF download) [18111182] (Free)
Articles in this series:
  • 45V, 8A Bench Power Supply to build (October 2019)
  • 45V, 8A Bench Power Supply to build (October 2019)
  • Digital Panel Meter/USB Display suits a range of projects (November 2019)
  • High performance linear power supply – part two (November 2019)
  • Digital Panel Meter/USB Display suits a range of projects (November 2019)
  • High performance linear power supply – part two (November 2019)
  • High performance linear power supply – part three (December 2019)
  • High performance linear power supply – part three (December 2019)

Purchase a printed copy of this issue for $10.00.

FIVE-WAY by Tim Blythman LCD PANEL METER AND USB DISPLAY      This simple and cheap          device displays five different readings on an         LCD screen: two voltage readings, two current readings        and a temperature reading. It has many uses, but it’s mainly      intended to replace multiple panel meters. It can also be used      as a small additional text screen for a PC, Raspberry Pi     or any other computer with USB. W e came up with this idea while working on the highcurrent linear power supply design that we started describing last month (part 2 starts on page 68 of this issue). We needed a way to show several different voltage and current readings, along with heatsink temperature, and it just didn’t make sense to use several panel meters for that job. It’s difficult enough to cut a single neat rectangle in the front panel of the instrument case to fit one screen, let alone three or even five. And there would be a lot of extra wiring if we used separate panel meters, plus increased current draw and it could end up pretty expensive. This one low-cost device using a micro, an LCD screen and not much else 90 Silicon Chip makes the whole thing so much easier. There are two ways to use this board. In the Bench Supply, we’re feeding in five analog voltages with a common ground. These voltages are a fraction of the actual measured voltages (ie, the outputs of voltage dividers). The onboard micro samples these voltages and converts the values back to the original scales, then displays on them on the screen. In the case of the fifth input, which is used for temperature sensing via an NTC thermistor, it also performs the required calculations to deal with the non-linear behaviour of the NTC. In the other mode, the micro detects when it is plugged into a USB interface and then behaves differently. You send it text over a virtual serial link, which is shown on the display. So you can Australia’s electronics magazine easily show whatever you want on the 16x2 or larger 20x4 character backlit LCD screen. More details Our 45V 8A Linear Bench Supply, mentioned above, has five main parameters to monitor. Those are the desired voltage and current, the actual output voltage and current (which may be lower than the desired values in some cases), plus the heatsink temperature. It will automatically switch on fans if the heatsink gets hot, and throttle back its output in the worst case if that doesn’t help. But it’s still handy to have a way to tell how close to the wind you’re sailing! We settled on using a PIC16F1459 microcontroller to monitor and display these voltages. It’s a low-cost siliconchip.com.au CON4 4 1 2 1 ABL 9 10 11 12 13 14 15 16 KBL 8 D6 7 D7 6 D4 D1 D2 5 D5 D0 4 D3 EN 3 RS 2 R/W 1 Vdd 100nF 10k CNTR 10 F GND +5V +5V 20x4 character LCD MODULE CON1 Vdd 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 RA3 /MCLR +5V 3 GND 4 PGD 5 5 PGC 2 VR1 10k RC5 RA5/CK1 ICSP AN8/RC6 CON3 2 1 +5V 4 3 ADC1 ADC1 3 6 5 ADC2 ADC2 16 8 7 ADC3 ADC3 15 10 9 ADC4 ADC4 7 12 11 ADC5 ADC5 CON2 1 SC 20 1 9 2 GND ADC1 4 ADC2 5 ADC3 6 ADC4 7 ADC5 BRIGHTNESS 8 9 IC1 AN9/RC7 10 PIC1 6F1 459 RB7 AN3/RA4/CKO RB6 AN 4/PGD/RC0 RB5/AN11 AN5/PGC/RC1 AN10/RB4 AN7/RC3 RC4 14 AN 6/RC 2 PGC/RA1/D– +5V 3 VR2 1k CONTRAST PGD/RA0/D+ Vss 20 VUSB 11 12 13 6 USB CON5 +5V 18 19 D+ 17 D– VCC GND 1 2 3 ID 4 100nF 5-WAY LCD PANEL METER & USB DISPLAY Fig.1: the circuit is quite simple. Microcontroller IC1 uses its internal analog-to-digital converter and 4.096V reference to measure the voltages at the ADC1-ADC5 inputs. It then scales the readings from ADC1-ADC4 and converts the reading from ADC5 to a temperature before updating the LCD connected via CON1. In USB Display mode, it instead receives text from a PC via CON5 and updates the display. micro with some nice features. It’s similar to the PIC16F1455, but it has more I/O pins, which makes it easier for us to interface with an LCD panel. Both the 16F1455 and 16F1459 have USB interfaces, making it easy for us to implement the USB mode as a ‘bonus’ feature. In this bonus mode, it is effectively a character LCD that can be controlled from your computer. If you want some extra information displayed 24/7 without needing to have a full-size monitor switched on and drawing power the whole time, it’s an ideal solution. It’s even small enough to be mounted in a desktop computer’s drive bay. You could use it to display things like CPU load, memory usage, disk space usage, network activity, instant messages, unread e-mails... the list is virtually endless. You just need to figure out how to get that information and send it to a serial port, and the display does the rest. Circuit description The circuit of the Display is shown in siliconchip.com.au Fig.1. The aforementioned PIC16F1459 microcontroller is shown as IC1. Its 5V power supply comes from either pin headers CON2/CON3, when used in the panel meter role, or CON5, the USB socket. The data pins from the USB socket are connected directly to pins 18 and 19, the dedicated USB data pins of IC1. In the panel meter role, the five voltages are fed into either SIL header CON2 or DIL header CON3, whichever is more convenient. CON3 has the advantage that an IDC header on a 12-way ribbon cable can plug straight in, and each signal wire will have a ground wire on either side, minimising noise pickup The five signal lines go straight to analog inputs AN3, AN4, AN5, AN7 and AN6 of IC1 (pins 3, 16, 15, 7 & 14). IC1’s internal 10-bit analog-todigital converter is used to read these 0-4.096V signals and convert them to digital values, with a resolution of 4mV (4.096V ÷ 210) The 4.096V reference is within IC1, and we’re using this rather than the 5V rail so that variations in the 5V Australia’s electronics magazine supply do not affect these readings. That means we don’t need to be concerned about how well regulated the 5V rail is. These are scaled in software to the values shown in the spec panel, which are designed to suit our power supply, but these values will be useful for a range of low-voltage DC monitoring tasks. You simply need to arrange for shunts to monitor currents, and dividers with approximately the right ratios (around 15:1 for voltages) plus trimpots for calibration, to feed the right voltage ranges to the panel. An HD44780-based character LCD screen is connected via 16-way header CON1. It is driven in four-bit mode, with the RB6, RB5, RB4 and RC4 digital outputs of IC1 (pins 11, 12, 13 & 6) driving LCD data pins DB4-DB7. We only need four data pins as these LCDs can operate in a four-bit mode, with the D0-D3 I/Os left floating or tied to ground. Digital outputs RC6, RC7 and RB7 (pins 8-10) of IC1 drive the RS, R/W and EN pins of the LCD, controlling November 2019  91 CON1 C1 + 5-WAY LCD PANEL METER Contrast 10k IC1 PIC16F1459 500 VR2 CON2 10k ICSP R1 VR1 100nF 5V GND ADC1 ADC2 ADC3 ADC4 ADC5 C 2019 10 F 2 8 1 1 118111182 181 Brightness CON4 100nF C3 CON5 1 Install LCD other side C2 18111182 RevC GROUND CON3 1 5V A1 A2 A3 A4 A5 Fig.2: use this PCB overlay diagram and the same-size photo at right as a guide to help build the Panel Meter/USB Display board. The only polarised components are IC1 and the electrolytic capacitor. You can use a socket for IC1 if you want to. CON5 is not required for the panel meter version, while CON2CON3 are not required for the USB Display version and CON4 is only needed if you plan to program IC1 in-circuit. when the data is clocked and whether the LCD should treat it as an internal command or send it to the display. Trimpot VR1 adjusts the LCD contrast voltage, while VR2 is wired as a variable resistor in series with the backlight LED, allowing its brightness to be set. The power supply is simple. There is a 10µF bulk bypass capacitor for the 5V rail, which is the maximum value allowed to meet the USB inrush current specification. IC1 has its own high-frequency 100nF local bypass capacitor. A 10kΩ resistor pulls up the micro’s MCLR pin to 5V to prevent spurious resets, while a 100nF capacitor between pin 17 (VUSB) and ground stabilise its internal USB 3.3V regulator. The ICSP header, CON4, is provided to allow the PIC to be programmed without having to be removed. Using it as a panel meter On power-up, if no USB connection is detected, it will initialise the LCD and show a splash screen. The analog pins are set as inputs, and the analogto-digital converter (ADC) voltage reference is set to the internal 4.096V fixed reference. After a second, it begins sampling the analog pins around five times per second. The update interval gives a quick update time, but not so fast that the numbers would blur into each other while changing. The current and voltage values are converted using fixed internal scaling factors, with the idea being that they have been fine-tuned using external trimpots. The reading from the thermistor is used to find the temperature in a look-up table stored in flash. The header on CON3 matches the pinout of CON6 on the Bench Supply to allow a direct connection. If the input assignments, scaling ratios etc do not suit your particular application, you can download the source code from our website and change it to better suit your needs. It is written in the C language. Microchip’s MPLAB X IDE software is a free download, and there is a free version of the XC8 compiler (plus a trial mode for the full compiler). Once you have installed that software, you can open up the project, make some changes to the code and then ‘Build’ the project to produce a new .hex file for IC1. We used MPLAB X IDE Version 5.05 and XC8 Version 2.00 and our compiled HEX file was very close to that 8kB limit. We suggest using the same version to avoid going over this limit. Using it as a USB display When connected as a USB display, neither CON2 or CON3 are needed as the analog pins are not sampled. On power-up, IC1 enumerates on the connected USB port as a USB-serial device and appears as a serial port to the host. For example, this would be a COM port on Windows or a TTY device on Linux. The LCD is initialised and blanked and a default set of character graphics are loaded into code points 0-7. When data is received from the host, (for example, if you were typing into a serial terminal program), it is processed by IC1 and used to update the display. ASCII characters are passed straight on to the LCD, while control characters such as CR (carriage return, ASCII code 13) and LF (line feed, ASCII code 10) move the printing location as expected. TAB moves to the next screen position which is a multiple of five characters, while FF (form feed, ASCII code 12) moves the cursor to the home position. Backspace (ASCII code 8) moves back one position, but does not erase anything. A true erasing backspace can be simulated by a backspace, space, backspace sequence consisting of ASCII codes 8, 32 and 8. Finally, Escape (ASCII code 27) clears the screen, but does not move where the display will print next. Thus a sequence of ESC and FF returns the display to the same state as it is when it first starts up. The entire display is held in a RAM buffer and sent to the LCD one character at a time, to ensure that the USB peripheral is not left waiting too long for the display to update. This could otherwise happen if the display needs to be cleared and many characters need to change at the same time. While this might sound slow, the display can still fully update around 10 times per second. The RAM buffer consists of four rows of 20 characters, as this is the largest display size that the HD44780 controller can manage. Text wraps around at the end of a line and back to the top at the end of the last line. If a smaller display is fitted, it will appear the same as the top, leftmost corner as a larger display would appear. Features & specifications * Shows two voltages, two currents and one temperature reading on a 16x2 LCD * In alternative USB mode, ASCII text from virtual serial port is written directly to 20x4 LCD * Panel meter input range: 5 x 0-4.096V * Panel meter scaling: 2 x 0-4.096V -> 0-60V, 2 x 0-4.096V -> 0-9A, 1 x 0-3V -> 0-100°C * Panel meter resolution: 58.6mV for voltages, 8.79mA for currents * Panel meter update rate: 5Hz 92 Silicon Chip Australia’s electronics magazine siliconchip.com.au Thus the display operates fairly intuitively and can be easily controlled by any software that can write to a serial port. No data is sent by the USB display back to the host, so the receiving program should not expect to deal with this. The PCB sits neatly within the footprint of the 16 x 2 LCD panel, leaving the mounting holes clear. Using a female header on the PCB means it can be removed if necessary. Construction The Panel Meter/USB Display is built on a double-sided PCB coded 18111182, which measures 56 x 36mm. The PCB overlay diagram, Fig.2, shows where to fit the components. As noted above, some parts can be left out for some applications. We will describe the installation of all parts, which will allow the unit to be used as either a panel meter or USB display. The only surface-mounted part is the USB socket, and it should be fitted first. A soldering iron with a fine tip will make this easier. We recommend that you have flux and solder wick (braid) on hand for this step. A pair of tweezers can be helpful too. Apply flux to the four pads on the PCB for the USB data and power signals. These are the four parallel pads to the right of the socket. Place the socket on the PCB; it should lock into place due to the two small posts on its underside. Carefully apply solder to the pads and pins, ensuring all four are well attached. If there is any bridging, apply more flux and use the solder braid to remove it. Then apply flux paste to the four larger mechanical pads and solder them to their respective pads too. They are larger and will need more heat. Next, mount the single resistor, followed by the two non-polarised 100nF capacitors. Follow with the electrolytic capacitor, which is polarised. It must be installed with its longer positive lead to the pad marked “+” on the PCB. Now fit trimpots VR1 (10kΩ, “Contrast”) and VR2 (500Ω , “Brightness”). Push them down, and they should both snap into place, after which you can solder their pins. If you are using a socket for IC1, install this next, ensuring the notch goes to the end closest to the USB socket. If you have fitted the socket, gently straighten IC1’s pins so that it will slot into the socket, then plug it in. If soldering IC1 directly to the PCB, start with two diagonally opposite pins. Once you are happy that the IC is flat against the PCB and oriented correctly, solder the remaining pins. siliconchip.com.au You can now mount CON2 and CON3. For CON2, you could use either a header or socket, while CON3 is designed to be fitted with a double-row male header to allow an IDC socket (plug) and cable to be attached. If fitting CON4, do so next. You can use a straight or right-angle header; we prefer the right-angled variety in this role as it allows the programmer to sit flat when connected. CON1 should be fitted last, as it also needs to be attached to the LCD. You may choose to solder it directly, or use a female header socket on the panel meter PCB to allow the LCD to be removed. We recommend attaching the male header to the LCD first by soldering one pin and ensuring it is straight and flush with the LCD’s PCB. Then solder the remaining pins. Before soldering the LCD to the main board, check that its pinout matches that shown in our design. Most LCDs with a SIL header should have a pinout that matches ours, but checking this now can save much troubleshooting later if you somehow have one that’s different (see Fig.1). If there is a pin mismatch, you can solder only the matching pins and then use insulated wire to make the remaining connections. You may like to slip a piece of card between the two to maintain spacing while soldering. Check that your boards are orientated the same way as in our photos. If you are using a header socket to attach the LCD, plug in the male header before soldering. This will allow you to check that all the clearances are correct. Programming IC1 This step is not necessary if you purchased a pre-programmed PIC. You can use a PICkit 3, PICkit 4 or SNAP programmer to flash IC1 on the board via the ICSP header (CON4). As we wrote in our SNAP review (May 2019; siliconchip.com.au/Article/11628), the SNAP programmer Parts List – Five-way LCD Panel Meter/Display 1 double-sided PCB coded 18111182, 56mm x 36mm# 1 16x2 character LCD with backlight (for Panel Meter, eg, Jaycar QP5521) OR 1 20x4 character LCD with backlight (for USB Display, eg, Jaycar QP5522) 1 16-pin male header (CON1) 1 16-pin header socket (optional, to allow LCD to be unplugged) 1 7-pin header or header socket (CON2; optional) 1 2x6-way pin header (CON3; not needed for USB Display) 1 6-way right-angle header (CON4; optional) 1 SMD mini-USB socket (CON5; not needed for Panel Meter) Semiconductors 1 PIC16F1459-I/P microcontroller programmed with 1811118A.HEX# Capacitors 1 10µF 10V electrolytic 2 100nF MKT or multi-layer ceramic Resistors 1 10kW 1/4W 5%    #Programmed micros and 1 10kW mini horizontal trimpot (VR1)   PCBs are available from the 1 500W mini horizontal trimpot (VR2)   SILICON CHIP ONLINE SHOP Australia’s electronics magazine November 2019  93 0.015 0-60V +5V 10k 6 V+ VR1 100 10k 8 1 +IN –IN INA282 680 OUT REF2 REF1 GND 3 7 2 0.015 0-60V 0-9A +5V 6 5 VR2 10k VR4 100 680 +5V 0-9A V+ 8 1 +IN –IN INA282 OUT REF2 REF1 GND 3 7 2 5 VR4 10k +5V TO CON3 6.2k 10k NTC SC 20 1 9 1 2 ADC1 3 4 ADC2 5 6 ADC3 7 8 ADC4 9 10 ADC5 11 12  Fig.3: how to interface the Panel Meter to your own circuitry. If you’re using low-side shunts to monitor current, you could use op amps to amplify the voltage across them to a suitable level for feeding to the Panel Meter. You could also use lower value shunts in combination with a higher-gain shunt monitor for less heating and power loss. cannot provide power to the micro and only supports low-voltage programming. So if you are using the SNAP programmer, you need to provide power via another source, such as the USB socket, and ensure that the low-voltage programming option is selected in the software. Regardless, you will need Microchip’s IPE (integrated programming environment), which can be downloaded as part of the MPLAB X IDE from: www. microchip.com/mplab/mplab-x-ide In the IPE, select “16F1459” in the device drop-down menu and your programmer from the tool menu, if it isn’t already selected. Connect the programmer to CON4 on the PCB, lining up the two pin 1 indicator triangles. Then click the “Connect” button in the IPE and ensure that the connection is successful, according to the display in the lower output window. Then you just need to open the HEX file and click the “Program” button to upload it to the chip. Connecting the panel meter Details for connecting the panel meter to the Bench Supply are included in that article. If you wish to use it for another purpose, then connect the 5V and ground pins to a 5V supply and the five analog pins to sources of appropriate analog voltages. The ADC1 and ADC2 inputs are 94 Silicon Chip scaled to display 0-60V for an input of 0-4.096V, while ADC3 and ADC4 are scaled to 0-9A for 0-4.096V. You will need to use a 10kΩ NTC thermistor wired as a divider with a 6.2kΩ resistor across a 5V supply to feed the ADC5 input if you are to get meaningful readings. Fig.3 shows our suggested circuitry for interfacing with the Panel Meter. If you’re using a different shunt value, you will need to use a different shunt monitor IC, or provide some gain at its output, to get at least 4.096V for a current of 9A, giving the correct scaling. That’s regardless of whether your circuit will reach 9A. Once the Panel Meter is connected to such a circuit, it simply converts the analog inputs and displays the measured values, and no other action is required. You may need to adjust the contrast and brightness, as described below. Using it as a USB display To use the unit as a USB display, simply plug it into a computer with a mini type-B to type-A USB cable. You may need to install a driver, in which case the same driver is used as for the Microbridge. This is because the Microbridge uses the similar 16F1455 microcontroller in a similar role. This should not be necessary for Windows 10, Linux or Mac users. If needed, the driver can be downloaded from: www.microchip.com/wwwproducts/ en/MCP2200 Once the driver is installed and the USB device enumerated on your system, it can be tested by using a serial terminal program such as PuTTY, TeraTerm or even the Arduino Serial Monitor. Open a connection to the appropriate port and type characters into the terminal. You should see them appear on the LCD. If not, you may need to adjust your LCD’s contrast and brightness. The baud rate is not critical as the virtual serial port enumerated by IC1 does not use this information (as it might if it were connected to a downstream hardware UART). Contrast and brightness No matter what the brightness setting, the backlight LED should be on. If you cannot see anything on the display, the contrast probably needs to be adjusted. Turn VR1 until characters can be seen clearly against the background. Once the characters are clear, you can then tweak the brightness. On the unit we have built, we had good contrast with around 1.8V on pin 3 of CON1, although this may vary depending on the specific display module used in your LCD. If you have built the USB display and cannot see any characters, make sure you have sent some data to the terminal. If it is still not working, there may be a problem with the construction, probably to do with the LCD if the USB side is enumerating correctly. Conclusion While this was originally designed to replace multiple panel meters for our Bench Supply project, we’ve also turned it into a handy accessory for a computer. It goes to show just how versatile the PIC16F1459 is. SC When configured as a Panel Meter, the display should look like this, with voltage, current and temperature readings. If using it as a USB Display, the screen will be blank until it receives data from the PC via its USB serial port. Australia’s electronics magazine siliconchip.com.au