Silicon ChipMake it with Micromite - January 2023 SILICON CHIP
  1. Outer Front Cover
  2. Contents
  3. Subscriptions: PE Subscription
  4. Subscriptions
  5. Back Issues: Hare & Forbes Machineryhouse
  6. Publisher's Letter: SMD tips and tricks
  7. Feature: Raudive Voices Revisited by Mark Nelson
  8. Feature: Net Work by Alan Winstanley
  9. Project: Classic LED Metronomemes by Randy Keenan
  10. Project: Geekcreit’s 35MHz-4.4GHz Signal Generator by Jim Rowe
  11. Project: REMOTE CONTROL RANGE EXTENDER by John Clarke
  12. Project: Multi-Channel Speaker Protector by Phil Prosser
  13. Feature: AUDIO OUT by Jake Rothman
  14. Feature: Make it with Micromite by Phil Boyce
  15. Feature: Circuit Surgery by Ian Bell
  16. Feature: Max’s Cool Beans by Max the Magnificent
  17. PCB Order Form
  18. Advertising Index

This is only a preview of the January 2023 issue of Practical Electronics.

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

Articles in this series:
  • (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)
Make it with Micromite Phil Boyce – hands on with the mighty PIC-powered, BASIC microcontroller Part 43: Connecting more than one display to a PicoMite O K, so this month’s title is probably not what you were expecting, especially if you had started building Part 1 of the Fingerprint Reader. Now for a confession, I seem to have somehow destroyed a second fingerprint module, and hence I’ve had to purchase yet another replacement. This is all rather ironic bearing in mind the first unit I received for free (since my supplier had sent it in error in place of a GPS module that I’d ordered – but said I could keep it). So, while I await delivery of what will be the third fingerprint module, this month we’ll be discussing an alternative topic, one that I hope you’ll find useful: how to use multiple displays with a PicoMite (or MicroMite). Why is this of interest? Remember, by design, MMBASIC’s firmware is only capable of driving a single external display (the specific type being configured with OPTION LCDPANEL). So, how can we connect more than one display to a PicoMite? Examples of use First, let’s acknowledge that there are some restrictions as to what is achievable when driving more than one display – but, once these limitations are understood, it will be possible to achieve some very creative multi-display projects. For example, how about adapting a project that uses multiple 7-segment LED modules and replacing each one with a small LCD display module. This would allow each ‘digit’ to offer endless options in terms of colour and font. Or how about building a data logger that has multiple sensors, and providing each sensor with a dedicated mini-display to show relevant data. Another idea would be to modify the Micromite Robot’s animated eyes (that originally used two 8x8 LED matrix modules) and replace them with two coloured LCD displays; this would allow much more detailed eye effects to be animated. 52 Concept n  Connect all display modules (effectively The thought process when exploring this topic was as follows. If MMBASIC can send data to successfully drive a single display, then what is preventing a second identical display (connected to the exact same PicoMite pins) from displaying the exact same ‘image’? Providing the displays are just receiving data from the PicoMite (and not sending data back to the PicoMite), then in theory you could connect multiple identical display modules to the PicoMite and they will all display the exact same image when the data is simultaneously received by them. The reason we don’t want to concern ourselves with data sent from a display module back to the PicoMite is because it makes the overall design much easier (and also eliminates any potential shorts that could occur between conflicting logic levels). Now for an important point: the image on a display is only updated by MMBASIC graphical commands, such as TEXT, BOX, CIRCLE, PIXEL, LINE, CLS, RBOX, POLYGON and so on. Once the MMBASIC firmware has processed a graphical command and the PicoMite has sent the relevant data to the display(s), the updated image on the display(s) will remain in place until the next graphical command is sent (or until power is removed from the display modules). Put another way, there is no need to continually write data to the display(s) to maintain the image. Having the same image on all displays isn’t very useful since ideally we will want to control each display separately. However, if each display also has some form of ‘enable’ pin, then in theory, only the displays that are enabled would process the data sent out by the PicoMite. So, theoretically, all we need to do for multiple display control is the following in terms of hardware: in parallel) to the PicoMite in the usual manner apart from the ‘enable’ pin of each display n  Connect each ‘enable’ pin from each display to a dedicated PicoMite I/O pin. Then, before using any graphical command, enable only the display module(s) that we want to receive that command by setting the relevant I/O pins to the correct state. Now that the concept has been covered, we next need to understand any restrictions when choosing and using multiple displays with a PicoMite. Restrictions 1. The first restriction is that all displays used in a multi-display project must be exactly the same type. This is because the MMBASIC firmware can only be set to a single type of display via the OPTION LCDPANEL command. 2. The second restriction is the type of interface that the identical displays use. Referring to the PicoMite User Manual (available for download from the January 2023 page of the PE website: https:// bit.ly/pe-downloads), you will see that MMBASIC supports various LCD and OLED displays that use either a serial SPI, a serial I2C or a parallel interface. However, the way that serial I2C and parallel interfaces work means that the data line(s) are used for both writing to and reading from the display modules, and hence there will likely be contradictory logic levels present on the ‘common’ data lines when connecting displays together to the same pins. Only the SPI interface has a dedicated signal for writing data to the display. Thus, the second restriction is that only displays that use a serial SPI interface will work with the technique we’re using here. To see this, think about the serial SPI interface as having three connections: SPI-Clk, SPI-Out and Practical Electronics | January | 2023 Fig.1. Frequency counters typically uses multiple 7-segment LED displays. This one has 11 digits, resulting in a display that is conveniently wide, but not too tall. SPI-In. The PicoMite acts as the master and generates the SPI-Clk signal while transmitting any data that needs to be sent to the displays via the PicoMite’s SPI-Out pin (to the display’s SDA pin). The PicoMite’s SPI-Out pin only sends data to the display(s) and there is no risk of any logic-level shorting. Note that the SPI-Out pin has nothing to do with any data that a display might want to send to the PicoMite. Because we want to avoid any potential logic-level shorts in our application, we will not be receiving data from the display modules, and hence we will not be connecting anything to the PicoMite’s SPI-In pin. If we were to connect more than one display to the single SPI-In pin, and if more than one display module were to be enabled, then logic-level shorting would likely occur. Hence, we won’t read data from any display. 3. Since we can’t read data from any of the displays, certain graphical commands (that require data to be read from the display) will not work. For example, the BLIT command that is used to copy one area of the display to another is unavailable; likewise, transparent text. Understanding the above restrictions means we can now experiment with the concept; but first, let’s choose a multiscreen application. Simple counter number of digits to be displayed across the screen. However, the proportions of the screen would make it larger in height than we really need; so instead, let’s consider using multiple small LCD displays for each digit. We are not going to build a frequency counter as such, but let’s take the idea of building a simple 4-digit counter comprising four displays; each one displaying a single digit and all driven by a single PicoMite. Four identical subdisplays means we can create an overall display that is wide enough, but not excessively high. Ideally. we want digits that are about 25mm (1 inch) high, which will be easy to read from a distance. Now we know what we are trying to achieve, let’s choose a suitable display. ST7735S module The ST7735S (see Fig.2) is one of our favourite mini displays that is compatible with the PicoMite, plus it meets all our requirements: n  SPI interface n  ‘Enable’ pin in the form of a ‘ChipSelect’ (CS) pin n Compact size: 0.96-inch Furthermore, it is an IPS display, which means it provides a nice clear and bright image that is viewable from most angles (much better than an ordinary LCD display). It is reasonably cheap – some well-known online sites offer it at under £1.50 per unit, although around £5 each is more common from UK suppliers. So, this is the screen we will use for our counter demo. Fig.2 shows the ST7735S has just eight connections, as follows: 1. BLK (Backlight) – connect this to any I/O pin (defined as a parameter in the OPTION LCDPANEL command) which will then control the brightness of the display via the BACKLIGHT command. 2. CS (ChipSelect) – the ‘Enable’ pin. When low, the display is enabled. Defined as a parameter in the OPTION LCDPANEL command. Fig.2. The ST7735S module is an 0.96inch IPS display module with a pixel resolution of 160x80. 3. DC (Data/Command) – connect to any available I/O pin. Defined as a parameter in the OPTION LCDPANEL command. 4. RES (Reset) – when low, the display is reset. Connected to any available I/O pin and defined as a parameter in the OPTION LCDPANEL command. 5. SDA (SPI Data In) – connect to the PicoMite’s SPI-Out pin (defined as a parameter in the OPTION SYSTEM SPI command). 6. SCL (SPI Clock) – connect to the PicoMite’s SPI-Clk pin (defined as a parameter in the OPTION SYSTEM SPI command). 7. VCC (3-5V) – connected to 3.3V in our application (can also be connected to 5V to give a brighter display image) 8. GND – connect to PicoMite’s GND pin. A point to make here is that the MMBASIC firmware drives pins 1-6 (once two OPTIONs have been configured). The remaining two pins simply provide power to the display. Demo 1 We will begin by connecting multiple screens in parallel to check that we can write to all displays simultaneously so that they display the exact same image. The easiest way to assemble this circuit is to use a small piece of stripboard Traditionally, multiple red 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 7-segment LED displays would A A B B be used to build a counter display C C D D since the displays are cheap and E E are bright enough to read clearly, F F G G especially when mounted behind H H a red filter. Six, eight or even 10 I BLK GP11 J CS GP28 digits is not uncommon when used K DC GP26 in something like a professional L RES GP27 M SDA GP19 frequency counter (see Fig.1). N SCL GP18 If we wanted to build a frequency O VCC 3V3 P GND GND counter based on a PicoMite (a Q Q great idea for a future article), we R R 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 could simply choose to implement a single large LCD screen. If the large 8-way pin header 8-way sockets screen is used in landscape mode, then it would allow for a sufficient Fig.3. Four ST7735S modules are mounted in parallel on a piece of stripboard. Practical Electronics | January | 2023 I J K L M N O P 53 n  O PTION LCDPANEL ST7735S, orientation, DC, RESET, CS, Backlight by using: OPTION LCDPANEL ST7735S, P, GP26, GP27, GP28, GP11 I/O GPx 10kΩ GP28 CS To display CS From PicoMite Fig.4. When the I/O pin is set high, the display is disabled (because CS is high). However, when the I/O pin is floating (SETPIN GPx, OFF), then the CS signal from the PicoMite can control the display’s CS line. The 10kΩ resistor prevents device damage when the I/O pin is set high and CS is driven low by the PicoMite. Once this is done, type any graphical command to check that all displays behave in the same way. For example, type CLS RGB(GREEN) and observe what happens. If all screens turn green, then you have successfully completed the first step. However, if things don’t work as expected, visually check the eight connections to the PicoMite, and also check the two OPTIONs have been configured correctly by typing OPTION LIST. If either OPTION is incorrect, type OPTION RESET and carefully re-enter both OPTIONs again. Also check that there are no shorts between adjacent tracks on the stripboard. Once you see the correct response to any graphical command, check that you can adjust the brightness by typing BACKLIGHT 25. This should noticeably dim the display. Type BACKLIGHT 100 to return to full brightness. If the display’s brightness is unaffected by the BACKLIGHT command then check the connection between pin GP11 and the BLK pins on the displays. Also check the last parameter in OPTION LCDPANEL is indeed set to GP11. since all we need to do is mount four 8-way sockets so that all displays are connected to each other in parallel. Refer to Fig.3 for how we prepared our stripboard. The 8-way pin header on the left is used with eight female-tofemale DuPont leads to connect it to the PicoMite. Once everything is connected and you have correctly inserted multiple ST7735S display modules, connect the PicoMite to your computer so that you can configure MMBASIC to work with the ST7735S. To do this, you just need to set two OPTIONs as follows: n  OPTION SYSTEM SPI CLKpin, MOSIpin, MISOpin by using: OPTION SYSTEM SPI GP18, GP19, GP16 DIGIT1_DISABLE GP0 1 40 VBUS DIGIT2_DISABLE GP1 2 39 VSYS GND 3 38 GND DIGIT3_DISABLE GP2 4 37 3V3EN DIGIT4_DISABLE GP3 5 36 3V3 GP4 6 35 ADC REF LCD_BACKLIGHT GP3 GP11 BLK GP2 10kΩ GP28 Digit 4 GP26 DC GP27 RES GP19 SDA GP18 SCL GP28 33 GND GP6 9 32 GP27 LCD_RES GP7 10 31 GP26 LCD_DC GP8 11 30 RUN GP9 12 29 GP22 GND 13 28 GND GP10 14 27 GP21 GP11 15 26 GP20 GP12 16 25 GP19 SPI_DATA GP13 17 24 GP18 SPI_CLOCK GND 18 23 GND GP14 19 22 GP17 GP15 20 21 GP16 GP26 DC GP27 RES GP19 SDA GP18 SCL 3V3 VCC 3V3 GND GND GND GP28 Digit 3 LCD_CS 34 8 GP1 GP11 CS 10kΩ 3.3V 7 BLK BLK GP0 GP11 GP26 DC GP27 RES GP19 SDA GP18 SCL VCC 3V3 VCC GND GND GND GP26 DC GP27 RES GP19 SDA GP18 SCL VCC 3V3 GND GND GP28 Digit 2 BLK CS CS 10kΩ Currently, the CS pin from the PicoMite drives each CS pin simultaneously on all four displays (and that is the reason they all display the same image). We need a way of holding any display’s CS pin high whenever we want to ‘disable’ those displays from responding to the data that is being sent from the PicoMite (from the PicoMite’s SPI-Out pin simultaneously to all the SDA pins). By using a dedicated I/O pin, we can hold an individual display’s CS pin high, and then that particular display won’t respond to any SPI data that it receives. But we also need a way of ‘releasing’ the logic-high from the display’s CS pin whenever we want the display to respond to the SPI data. Refer to Fig.4 to see how we can achieve this with a single I/O pin (GP0), and a single 10kΩ resistor to control one display. This circuit is repeated four times, one for each display’s CS pin – in other words, we will need four I/O pins, and four 10kΩ resistors for our four-digit counter. GND GP5 GP11 Modifying the CS signal Display operation GND CS The next step is to modify the stripboard so that we only control displays that are ‘enabled’. Before we do this, let’s first explore how to modify the CS pin so that we can use a dedicated I/O pin (one per display) to effectively enable (or disable) the display. 10kΩ GP28 Digit 1 Fig.5. Circuit diagram showing how the four ST7735S displays are connected to a single PicoMite. 54 With the I/O pin (eg, GP0) in a floating state (SETPIN GP0,OFF), the display’s CS pin is controlled by the CS output from the PicoMite. In other words, the display behaves normally. Note that the 10kΩ resistor has no impact on the logic level received on the display’s CS pin. However, if we now set GP0 to a high logic level (with SETPIN GP0,DOUT and PIN(GP0)=1) then the CS pin for that display is held high and hence the display is disabled and will ignore any data received on its SDA pin. In this scenario, the 10kΩ resistor ensures that the CS signal BLK from the PicoMite is not CS shorted by the logic high DC from the GP0. RES In summary, with GP0 SDA floating, the display is SCL enabled (and will respond VCC to data), but with GP0 set GND high, the display will be disabled (and ignore any data) – it’s that simple! Fig.5 shows an overview Practical Electronics | January | 2023 5-way pin header enabled/disabled at any one time, producing a flexible solution for driving multiple displays from a single PicoMite. 1) R1-R4 are 10kΩ 2) Four track breaks on row J at column 4, 14, 24, 34 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 A B A B C D E F G GP1 GP0 DIGIT1 DIGIT2 DIGIT3 DIGIT4 CS GP2 C D E F G Challenge Having seen how easy it is to write to each individual display I module, how about challenging BLK I GP11 CS J J yourself to see if you can adapt the K DC K GP26 L L RES GP27 Demo2 counter into displaying a M SDA M GP19 simple clock (hours and minutes N SCL N GP18 O VCC O 3V3 from the inbuilt TIME$ string P GND P GND variable). Alternatively, connect Q Q R R four temperature sensors to the 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 PicoMite, and then map each sensor to its own display. And if 8-way pin header 8-way sockets you’re feeling ambitious, why not Fig.6. The modifications to the stripboard for individual control of each ST7735S display. have a go at creating some kind of game. Whatever your creative juices come up with, do send us an email if you end up of all the required pin connections that we’ll be using in building something interesting. our simple counter. GP3 GP28 H R 4 R 3 R 2 H R 1 Modifications to stripboard Next time See Fig.6 for the changes that are required for the stripboard, comprising the following: n  Make four track cuts n  Add a five-way pin header n  Insert four wire links n  Add four 10kΩ resistors. Fingers crossed – the replacement fingerprint module will arrive soon to complete Part 2 of the Fingerprint Reader project. Until then, stay safe, and have FUN! Once the CS signal modifications have been made on the stripboard, and everything has been connected, you should test that everything works correctly by running the Demo2.txt program (available for download from January 2023 page of the PE website). Install the program into your PicoMite and observe what happens when you RUN the program. If all is working, you will see a counter like that shown in Fig.7. Do makes sure that you look at the code to see exactly how the DISABLE and ENABLE subroutines control the CS line, as outlined in Fig.4 (and described above in the section Modifying the CS signal). In essence, before issuing any graphics command, ensure you enable each display that you want to respond, and disable all the others. Note that one, some or all can be Fig.7. Our simple 4-digit counter comprises four ST7735S display modules assembled on stripboard – all controlled by a single PicoMite. Practical Electronics | January | 2023 Practical Electronics BACK ISSUES – ONLY £6.49 Practical Electronics Practical Electronics Practical Electronics Practical Electronics – N NEW E EW PE D NA – ES M IG E N ! Demo 2 BACK ISSUES – N NEW E EW PE D NA – ES M IG E N ! Before modifying the stripboard, remove all the displays to avoid accidental damage. Once the changes have been made, perform a visual check to ensure there are no track shorts and the four track cuts are made correctly. Once all looks good, re-insert the displays, and connect the PicoMite to the two headers, as shown in Fig.6 (left-hand side). Questions? Please email Phil at: contactus<at>micromite.org Practical Electronics The UK’s premier electronics and computing maker magazine The UK’s premier electronics and computing maker magazine The UK’s premier electronics and computing maker magazine The UK’s premier electronics and computing maker magazine The UK’s premier electronics and computing maker magazine Circuit Surgery Circuit Surgery Circuit Surgery Flowerpot speakers! Make it with Micromite Timing and metastability in synchronous circuits Audio Out Make it with Micromite Build an RGB display project using a Micromite Plus Timing and metastability in synchronous circuits Construct a transistor radio Frequency Reference Mastering Signal Distributor RFID tags for your projects WIN! Microchip Curiosity HPC Development Board Make it with Micromite Fun display project using a Micromite Plus Nutube Guitar Overdrive and Distortion Pedal WIN! <at>practicalelec Superb PE PIC Development Board Transformers and LTspice Audio Out Make it with Micromite Accessing Internet data with your MKC Superb microphone preamplifier Touchscreen Wide-range RCL Box WIN! Microchip PIC24F LCD and USB Curiosity Development Board Programmable Thermal Regulator WIN! Microchip MCP19114 Flyback Standalone Evaluation Board Apr 2021 £4.99 04 9 772632 573016 practicalelectronics PLUS! Techno Talk – No blame, no shame? Cool Beans – Round-up of NeoPixel effects Net Work – Videoconference cameras www.electronpublishing.com <at>practicalelec Mar 2021 £4.99 03 9 772632 573016 practicalelectronics PLUS! PIC n’ Mix Software tools for the PIC18F Ultrabrite LED bike light WIN! Microchip Explorer 16/32 Development Kit WIN! Circuit Surgery Understanding Differential amplifiers Analogue inputs and using servomotors Don’t miss our Super Summer Sale! Random Number Generator Meet the Micromite Explore-28 Robot Buggy Ultrasound sensing! Fabulous low-cost Concrete speakers! Techno Talk – Bad science and good Cool Beans – Smoothing LED colour transitions Net Work – Lockdown technology and how we now work www.electronpublishing.com A low-cost route to high-quality Hi-Fi Mastering stepper motor drivers Roadies’ Test Signal Generator Tunable HF Preamplifier Techno Talk – Tin whiskers scourge Cool Beans – Bouncing around the Maxiverse Net Work – Hydrogen: a viable alternative to batteries? www.electronpublishing.com How to make a transistor radio Meet the Cricket: making IoT designs super easy! Programmable Thermal Regulator Make your own PCBs with our precision Solder Reflow Oven PLUS! Audio Out <at>practicalelec Jun 2021 £4.99 06 9 772632 573016 practicalelectronics Constructing the PE Theremin amplifier Circuit Surgery Micro-Cap 12 simulator review WIN! Microchip MPLAB Starter Kit for Serial Memory Products WIN! Clever Controller for dumb chargers Hi-Fi amp on the cheap! Completing the High-power 45V/8A Variable Linear Supply Building the Low-noise theremin PSU PLUS! Cool Beans – Even cooler ping-pong ball lights! Net Work – IP security cameras Techno Talk – The perils of an enquiring mind... www.electronpublishing.com Audio Out <at>practicalelec Sep 2020 £4.99 09 9 772632 573016 practicalelectronics Making a splash with NeoPixels! Fun LED Christmas Tree offer! PLUS! Techno Talk – Triumph or travesty? Cool Beans – Mastering NeoPixel programming Net Work – The (electric) car’s the star! www.electronpublishing.com <at>practicalelec Dec 2020 £4.99 12 9 772632 573016 practicalelectronics We can supply back issues of PE/EPE by post. We stock magazines back to 2006, except for the following: 2006 Jan, Feb, Mar, Apr, May, Jul 2007 Jun, Jul, Aug 2008 Aug, Nov, Dec 2009 Jan, Mar, Apr 2010 May, Jun, Jul, Aug, Oct, Nov 2011 Jan 2014 Jan 2018 Jan, Nov, Dec 2019 Jan, Feb, Apr, May, Jun Issues from Jan 1999 are available on CD-ROM / DVD-ROM If we do not have a a paper version of a particular issue, then a PDF can be supplied – your email address must be included on your order. Please make sure all components are still available before commencing any project from a back-dated issue. 55