Silicon ChipMake it with Micromite - January 2022 SILICON CHIP
  1. Outer Front Cover
  2. Contents
  3. Subscriptions: PE Subscription
  4. Subscriptions: PicoLog Cloud
  5. Back Issues: PICOLOG
  6. Publisher's Letter
  7. Feature: The Fox Report by Barry Fox
  8. Feature: Communing with nature by Mark Nelson
  9. Feature: Net Work by Alan Winstanley
  10. Project: Vintage Battery Radio Li-ion Power Supply by Ken Kranz and Nicholas Vinen
  11. Project: The MiniHEART by John Clark
  12. Project: Balanced Input and Attenuator for the USB by Phil Prosser
  13. Feature: Flowcode G raph ical Programming by Martin Whitlock
  14. Feature: Max’s Cool Beans by Max the Magnifi cent
  15. Feature: PICn’Mix by Mike Hibbett
  16. Feature: Circuit Surgery by Ian Bell
  17. Feature: AUDIO OUT by Jake Rothman
  18. Feature: Make it with Micromite by Phil Boyce
  19. PCB Order Form
  20. Advertising Index

This is only a preview of the January 2022 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 32: Using iButtons with the Micromite T his month, we are going to look at interfacing the Micromite with a handy little gadget called the ‘iButton’. If you don’t know what an iButton is, then simply consider it as an electronic device that contains a digital identification number (ID), housed in in a robust metal case – see Fig.1. Each iButton is programmed by the manufacturer with a guaranteed unique ID, so iButtons are ideal for use as ‘electronic keys’ to grant the user access to something, somewhere, or simply as a unique identifier when attached to an asset (object or person). iButton overview The iButton’s metal casing comprises a stainless steel ‘can’, about the size of three five-pence coins stacked on top of each other (roughly 6×16mm). It is similar to a medium-sized button that you may find on clothing (hence the name), with the ‘i’ part of the name simply referring to ‘information’. iButtons are designed to be mounted in, or attached to, virtually anything. The most common technique is to mount one in a key-fob holder, which in turn can be attached to a bunch of keys – see Fig.2. Note that iButtons can be used in quite harsh outdoor environments, as well as being used indoors. Fig.1. iButtons: each one is approximately 6×16mm in size. 62 iButton application examples and features Some examples of their application include using them for electronic dooraccess (in buildings such as universities, factories, hospitals and retail stores), or being used by staff to access cash tills (often seen in pubs, restaurants and retail outlets). They can even be used as ignition keys for boats, or any other types of outdoor vehicles. A slightly more unusual application is the example of iButtons being attached to farm animals to identify them! The simplest form of information contained within an iButton is just its own unique ID number. However, different types of iButtons are available, each offering slightly different features, and offering additional information, such as time and date, temperature, humidity, or other ‘user-programmed’ data. iButton communication Information contained in an iButton is accessed and communicated serially over a single data line and is the reason why you will often hear the term ‘1-Wire’ in relation to iButtons. However, this is a little bit misleading because you also need a common ground connection to complete the ‘communication circuit’ – hence two physical wires are required, not just one. The term ‘1-Wire’ simply refers to the protocol used on the single data line, and it is this 1-Wire protocol that the connected device (typically a microcontroller) needs to use to be able to communicate successfully with an iButton. So how are iButtons connected (electrically) to a microcontroller? Simple, you use an iButton reader. This may sound like it involves some kind of complex device, but the reality is that a reader is nothing more than a pair of Fig.2. Key fobs are available in a range of colours and make it easy to attach the iButton to a bunch of keys. Practical Electronics | January | 2022 metal contacts that connect the iButton’s data line (and common ground) through to the microcontroller. In use, all the user needs to do is ‘tap’ the iButton momentarily onto the reader so that the microcontroller can communicate with the iButton (more on this later). Alternatively, if an iButton is attached to an asset, then instead of referring to a ‘reader’, the term ‘probe’ is used. In this month’s article, we will start by explaining some of the basic details regarding iButtons and readers, and will then show you how to use the most common type of iButton (the DS1990) with a Micromite. We will show just how easy it is to use MMBASIC’s builtin 1-Wire commands to write a program that is able to read the iButton’s unique ID number whenever an iButton is detected. Next month, we will continue by looking at how to check that the serial data that is read by the microcontroller is valid, noting that there is often a lot of ‘contact bounce’ present when momentarily touching an iButton onto a reader (or when touching a probe onto an iButton). We will also look at some iButton varieties, specifically one that contains EEPROM, which allows data to be written to it. We will end up by using various elements of these iButton articles in a new mini-project – a modernday version of the classic ‘electronic combination door-lock’. Instead of using a combination keypad, our Micromite-based version will use EEPROM iButtons as the keys, and it will incorporate a touchscreen interface to show not only information about the person who is trying to unlock the door, but also facilitate the control of valid keys. More about iButtons The description above has (hopefully) provided a good introduction to iButtons; however, there are several more points that are worth discussing before we start to use one with the Micromite. So next we’ll expand on these points and provide you with some interesting background information, as well as highlighting some useful terminology. Part numbers iButtons were first manufactured by Dallas Semiconductors in the 1990s, and this is the reason that all iButton part numbers begin with the letters ‘DS’. Dallas Semiconductors were acquired by Maxim in 2001, and they continued to expand the range of available iButtons, adding several memory-type iButtons to the lineup: for example, incorporating EEPROM or static RAM (SRAM) technology. The SRAM-type iButtons can be used as miniature dataloggers that are easily attached to an asset so that data (such as Practical Electronics | January | 2022 temperature) can be recorded at regular time intervals. Even under Maxim, the new iButtons continued to have a part number beginning with ‘DS’, and there are now around 20 different types, each offering slightly different features. We won’t go into the details of the different part numbers, other than to say that we will be focusing this month on the DS1990 (an ID-only iButton), and next month we will use the DS1971 (an ID plus EEPROM iButton). Family code Each different type of iButton has a part number that begins with DS, and is then typically followed by four digits. This part number then makes it easy for us humans to distinguish between the different versions. However, each different DS part number also has a corresponding byte-value known as the ‘family code’. (Note that hexadecimal (hex) values are typically used when talking about iButtons; the reason will become clear shortly.) For the DS1990, the family code is 01 (hex) and for the DS1971 it is 14 (hex). So what is the purpose of the family code? Put simply, the family code is something that can easily be read by the connected microcontroller to determine which type of iButton is currently ‘connected’. This means the microcontroller’s software can check to see if the correct (or expected) type of iButton is present. For example, you might want to do this if the microcontroller is expecting an EEPROMtype iButton (eg, a DS1971) to which it needs to write data. The software will not be able to successfully write the data if the user has tapped an ID-only (eg, a DS1990) type of iButton onto the reader. So, reading the family code allows the software to behave correctly, and hence it is good practice to implement this into the program code. Unique ID number Even though the various iButton types offer slightly different features, the one thing that they all have is a unique ID number. Note that this ID number is factory-programmed (at the time of manufacture) and it cannot be change once programmed. The ID number is always 64-bits long, or put another way, comprises 8-bytes (64 bits / 8 bits per byte = 8 bytes). Consider the example ID number (in hex) 01 00 00 1B C8 C6 D1 DE, then you can see that by writing the 8-bytes as hex values it will always be 16 hex digits long. We will see the relevance of this shortly. These 8-bytes can be broken down into three sections, as follows. The first byte is the family code byte, and in the above example it is ‘01’. If you refer to the previous section, you will see that the family code value of 01 (hex) represents a DS1990 (ID-only) iButton. The next 6-bytes in the ID number is what some people consider to be the actual ID number – each DS1990 (or any other iButton type) has a unique value in these 6-bytes. The last byte is referred to as the ‘CRC’ byte. CRC The cyclic redundancy check, or ‘CRC’ byte allows error checking to be performed on the ID number that is read by the microcontroller. It is quite complex, but in essence, when passing the first 7-bytes of the ID number through a fixed algorithm (defined by the manufacturer), the one byte which results from the algorithm’s calcutions should match the value of the CRC byte. If it does match, then the data read can be regarded as correct – but, if it doesn’t match, then the data read (ie, the attempted read of the ID number) should be discarded. We will discuss this algorithm in a little more detail next month, but for now, the CRC byte should simply be considered as a way to check if the serial data that has been read is valid, or whether contact bounce (between the iButton and the reader/ probe) has corrupted it. Power A point worth stressing here is that an iButton only has two contacts to the outside world: the 1-Wire serial data-line (sometimes referred to as the 1-Wire bus), and a common ground reference. So how exactly is an iButton powered if it does not have a power connection? The answer is known as ‘parasitic power’. Put simply, the 1-Wire data line is pulsed high and low by the connected microcontroller when communication is first initiated, and it is from this pulsing that the iButton can ‘steal’ some energy to charge a capacitor. This is done through a simple dioderesistor-capacitor circuit inside the iButton. It provides just enough power for the iButton to respond with its data. Note that SRAM iButtons also contain a battery, but the battery is there just to preserve the SRAM contents; it is not used for powering the iButton itself. Sizes iButtons come in two sizes, or to be precise, two different thicknesses, referred to as F3 and F5, where the number indicates the thickness in millimetres – ie, 3mm and 5mm (roughly equal to two or three stacked five-pence coins, respectively). For the precise dimensions, refer to Fig.3 (taken from the manufacturer’s datasheet). Note that there is no technical difference between an F3 and an F5 other than its thickness. 63 Fig.3. The thickness dimensions of an iButton, showing the two different versions: F3 and F5. A closer look at the casing would mean it could be anything between 8 and 24 characters in length – messy! Across the bottom you see the manufactured year and week number (important when using an iButton that contains a battery), and also the DS part number along with the F3/F5 size. A closeup image of an actual iButton is shown in Fig.6, from which we can confirm it is an F5-sized DS1990 that was manufactured in the 23rd week of 2019. The family code hex-value is ‘01’, and the CRC hex-value is ‘DE’. The other six ID byte values are: ‘00 00 1B C8 C6 D1’. A very important point to note here is that the family code value ’01’ shown in the photo is indeed the correct value for a DS1990. I am highlighting this because ‘cheap fakes’ can often be easily identified when there is a mismatch between the claimed part number and the correct family code value. 1-wire bus We will not go into the details of the 1-Wire bus here as it can get rather complex. However, in summary, it is a single serial communication line that operates on a ‘master/slave’ concept. What this means is that the connected microcontroller is the single master, and will initiate communication (which in turn provides the parasitic power to charge the iButton’s internal capacitor, as discussed above). By toggling the 1-Wire bus between high and low logic states, the microcontroller can effectively send a command to the iButton. The iButton is the slave, and it decodes the command and responds by sending the required data. The 1-Wire bus allows for many slaves (iButtons) to be connected to the master (microcontroller). Therefore, the master will iButton markings first detect any iButtons that are present on To understand what the various the 1-Wire bus, and then follow up typically manufacturer markings represent, please by sending a command that includes the refer to Fig.5. The important thing to point ID number of the iButton that it wishes to out is that the eight-bytes representing the talk to. Hence, all iButtons connected on unique ID number are stamped onto the the 1-Wire bus will receive the message iButton’s case (as hex values) and are laid sent by the master, but only the one with out in a way that clearly shows the family a matching ID number will respond (all code byte, the CRC byte, and the remaining other iButtons will ignore the message). 6-bytes of the ID. Using hex values allows However, in our application, because we this layout to be consistent in length (ie, 16 will be using a reader to connect the iButton characters) whereas using decimal values with the microcontroller, only one slave can physically be present on the 1-Wire bus at any moment in time – this makes communications (and hence our program code) Lid much simpler. (1-Wire bus) There are other commands Base that the master can send, but I (ground) want to keep the explanation s i m p l e . H o w e v e r, t h e most important concept Fig.4. The iButton casing comprises two contacts. The larger of the two is the base (ground), and the top ‘lid’ is to understand is that the timing of the signal pulses the 1-Wire bus. An iButton’s metal enclosure comprises two parts, the base and the lid. The base includes the slightly larger diameter bottom of the iButton and also the side of the casing, while the lid is just the top face onto which various markings are stamped by the manufacturer to identify (among other things) the part number. These two metallic parts of the case are connected to the internal IC, and thereby provide the two contacts needed for a microcontroller (via a reader or probe) to communicate with the iButton. Referring to Fig.4, you can see that the larger base section is the ground contact, while the top face is the 1-Wire bus contact. 64 Fig.5. This diagram taken from the datasheet shows the layout of the markings for a genuine iButton from Maxim. The critical things to understand are the location of the family code byte (01) and the CRC (89). on the 1-Wire bus is critical in order for the system to operate correctly. Thankfully, the MMBASIC firmware handles all this for us. One example of how timing is important is that all communications starts with pulses from the master that will initialise things so that communication with an iButton can commence from a known starting point. Essentially, this initialisation consists of a reset condition transmitted by the master, followed potentially by presence pulse(s) transmitted by any slave(s) that are connected to the 1-Wire bus. The presence pulse then informs the master that an iButton (one or more) is on the 1-Wire bus. 1-Wire commands As mentioned above, the microcontroller will send a command onto the 1-Wire bus, and any iButton(s) present will receive this command and respond accordingly. The possible commands that the microcontroller can send are referred to as ‘1-Wire commands’ and are represented by a single byte value. When there is just one iButton on the 1-Wire bus (as will be the situation in our case), the most useful command is Fig.6. Here the markings of a DS1990 F5 iButton can be seen highlighting the family code (01), CRC (DE) and the remaining 6-bytes of the ID number across the middle of the lid. Practical Electronics | January | 2022 Fig.7. Various iButton readers are available. Some are weatherproof, and some include one or more LEDs. Despite the visual variety, they are all essentially just two metal contacts that make connection to the iButton’s base and lid. Read Rom. This command is represented by sending the hex value 33 and will result in the iButton sending its 8-byte ID value. The microcontroller, on receiving this data, can check the family code byte value to ensure the expected type of iButton is present, and use the CRC byte value to ensure the data is correct. If it is, then the ID number is known, and by association can identify the user tapping the iButton, or the asset the iButton is attached to. Other 1-Wire commands are available and may be specific to only certain types of iButton, but for the DS1990 (ID only) iButton, the Read Rom command is the one that we will be using for now. Next month, we will introduce more commands as required when using the DS1971 (ID+EEPROM) iButton – commands that allow us to write to and read from the iButton’s EEPROM. Readers An online search will lead you to many different versions of iButton readers – see Fig.7 for some examples. There are three main things that should be considered: 1) Does it need to be waterproof? 2) Does the reader need to retain the iButton (rather than just being tapped with the iButton)? 3) Does it need a built-in status LED? Weatherproof readers are clearly required if being used outdoors and such readers exist for really harsh conditions as may be found on boats. In some situations, it may be a requirement for the iButton to be in contact with the microcontroller for an extended period of time (for example, when reading or writing a large amount of data to memory). In this situation, it is better that the reader ‘retains’ the iButton, which then avoids contact bounce (and hence corrupted data). Practical Electronics | January | 2022 LEDs are typically either single colour, bi-colour, or RGB; and can be mounted as a single led into the reader’s housing, or set behind a diffused ring to help locate the place where the iButton needs to be touched (useful for dark environments). Cost and availability So how much do these iButtons cost? They start at around £2 each for an IDonly type (ie, the DS1990) and an EEPROM version (ie, the DS1971) starts at around £4. These are the iButtons that we will be using in these articles and the Electronic Door Lock mini-project. That said, datalogger iButtons begin at around £10, with the specialist high-capacity data loggers costing anything up to around £150 (yes, you read that correctly!). Reader prices start at around £4 for simple contact-only type, and cost from around double that for ones with a builtin LED. Please note that a reader is not essential for ‘testing’ as you could simply use a pair of wires and momentarily touch them onto the iButton; however, a reader makes everything so much easier to use, plus we will need one for our mini-project – which type of reader you use is not relevant because we will also be including a touchscreen that can provide user-feedback. I like to use the DS9092L reader, which incorporates an LED at the centre point and costs around £10. See Fig.7, top right – it shows this specific reader, along with some others that are available. A Google search will reveal that there are many suppliers of iButton components, including the big global suppliers RS, Farnell, Mouser and DigiKey. However, there is also a very good and reliable small supplier based in the UK that focuses just on iButton parts. This is a company with which I have no affiliation, but they have supplied me many parts in a timely manner and at a sensible cost – this company is HomeChip – see: www.homechip.com MMBASIC 1-Wire Commands Before we start programming the Micromite to communicate with an iButton, I recommend you have access to Appendix C in the Micromite User Manual. This is just a single page, but it does give a useful overview of the three 1-Wire commands that are built into MMBASIC (ONEWIRE. RESET, ONEWIRE.WRITE, and ONEWIRE. READ), along with a system variable that we will be using (MM.ONEWIRE). It is not essential to read Appendix C, just simply have it available for reference should you like to read more about MMBASIC’s built in 1-Wire commands. Demo 1: Detecting an iButton Let’s begin with a program that will simply detect when an iButton is tapped onto the reader. First, we will need to connect the reader (or two wires) to the Micromite plus a 4.7kΩ pull-up resistor, as shown in Fig.8. Any available I/O pin can be used (refer to the User Manual if required). Once this is complete, proceed to type in the following code: 3.3V iButton reader R1 7 I/O iButton 0V Fig.8. The circuit consists of connecting the 1-Wire Bus to any available I/O pin (ensure there is a 4.7kΩ pull-up resistor), and also connecting a common ground. 65 screen (ie, to the TeraTerm screen). This loop is repeated over and over every 10ms. Now SAVE the program and then RUN it. You should see a column of 0s appear down the left side of your Terminal screen. If you now tap and hold an iButton (any type) onto the reader, the column of 0s should change to 1s. Note that you will likely see contact bounce in the form of the occasional 0 or 1 appearing when not expected – this is normal, and is the reason we need to use the CRC byte value to check the validity of any data we read. If everything works as described then move onto Demo 2. However, if something is not working as expected, then you will need to resolve the issue by working through the next Troubleshooting section. iB_pin= 9 DO ONEWIRE RESET iB_pin PRINT MM.ONEWIRE PAUSE 10 LOOP Before you RUN the program, we will explain what each of the six lines does. The first simply defines the I/O pin to which the 1-Wire bus (ie, the iButton ‘lid’) is connected to. This pin number is loaded into the variable that we have called iB_pin (don’t forget to change the value from 9, to the I/O pin number that you’re using if it is different). The second line (and last) create an endless DO/LOOP that contain two 1-Wire references (on lines 3 and 4), and a pause for 10ms (line 5) that slows things down a little. Each time the code in the loop is executed, the ONEWIRE RESET iB_pin (line 3) causes the Micromite to send a RESET pulse to pin 9 (or whatever pin number is loaded into the variable iB_ pin). The specific timings are fully handled by MMBASIC and make things so much easier for us. The end result will be that the MM.ONEWIRE system variable is then loaded with either a 0 (if no iButton responded), or a 1 if an iButton was detected. Line 4 simply prints this value to the Terminal Troubleshooting Demo 1 If an error is generated when you RUN the program then the error reported should highlight what the issue is. The most common mistake (other than typos) is to use an invalid pin number (the error message will show if this is the case). Any syntax error is most likely a typo. If, after checking your code, the program is still not responding to an iButton being tapped on the reader, the likelihood is that either the wrong pin is being connected to (for example the code refers to pin 9, but physically the iButton is being connected to pin 10), or the pull-up resistor is either missing or the wrong value. Don’t forget the common ground connection too. If after checking the software and the hardware it is still not functioning correctly, then send me an email and I will try and assist you. Demo 2: Displaying the ID number This demo can be download from the January 2022 page of the PE website. Again, simply RUN it to see the outcome. We will explain its operation next month, but in the meantime, why not take a quick look at the code and see if you can begin to grasp what is happening. If you struggle, don’t panic, we will cover this at the start of the next article. Next month We will begin next month by explaining Demo 2 in more detail, and then look in greater depth at the CRC algorithm. We will then discuss the DS1971 (256-bit EEPROM) iButton and show how to write to and read data from it. Until then, Have Fun! Questions? Please email Phil at: contactus<at>micromite.org STEWART OF READING Fluke/Philips PM3092 Oscilloscope 2+2 Channel 200MHz Delay TB, Autoset etc – £250 LAMBDA GENESYS LAMBDA GENESYS IFR 2025 IFR 2948B IFR 6843 R&S APN62 Agilent 8712ET HP8903A/B HP8757D HP3325A HP3561A HP6032A HP6622A HP6624A HP6632B HP6644A HP6654A HP8341A HP83630A HP83624A HP8484A HP8560E HP8563A HP8566B HP8662A Marconi 2022E Marconi 2024 Marconi 2030 Marconi 2023A 17A King Street, Mortimer, near Reading, RG7 3RS Telephone: 0118 933 1111 Fax: 0118 933 2375 USED ELECTRONIC TEST EQUIPMENT Check website www.stewart-of-reading.co.uk PSU GEN100-15 100V 15A Boxed As New £400 PSU GEN50-30 50V 30A £400 Signal Generator 9kHz – 2.51GHz Opt 04/11 £900 Communication Service Monitor Opts 03/25 Avionics POA Microwave Systems Analyser 10MHz – 20GHz POA Syn Function Generator 1Hz – 260kHz £295 RF Network Analyser 300kHz – 1300MHz POA Audio Analyser £750 – £950 Scaler Network Analyser POA Synthesised Function Generator £195 Dynamic Signal Analyser £650 PSU 0-60V 0-50A 1000W £750 PSU 0-20V 4A Twice or 0-50V 2A Twice £350 PSU 4 Outputs £400 PSU 0-20V 0-5A £195 PSU 0-60V 3.5A £400 PSU 0-60V 0-9A £500 Synthesised Sweep Generator 10MHz – 20GHz £2,000 Synthesised Sweeper 10MHz – 26.5 GHz POA Synthesised Sweeper 2 – 20GHz POA Power Sensor 0.01-18GHz 3nW-10µ W £75 Spectrum Analyser Synthesised 30Hz – 2.9GHz £1,750 Spectrum Analyser Synthesised 9kHz – 22GHz £2,250 Spectrum Analsyer 100Hz – 22GHz £1,200 RF Generator 10kHz – 1280MHz £750 Synthesised AM/FM Signal Generator 10kHz – 1.01GHz £325 Synthesised Signal Generator 9kHz – 2.4GHz £800 Synthesised Signal Generator 10kHz – 1.35GHz £750 Signal Generator 9kHz – 1.2GHz £700 HP33120A HP53131A HP53131A Audio Precision Datron 4708 Druck DPI 515 Datron 1081 HP/Agilent HP 34401A Digital Multimeter 6½ Digit £325 – £375 66 HP 54600B Oscilloscope Analogue/Digital Dual Trace 100MHz Only £75, with accessories £125 (ALL PRICES PLUS CARRIAGE & VAT) Please check availability before ordering or calling in Keithley 228 Time 9818 Marconi 2305 Marconi 2440 Marconi 2945/A/B Marconi 2955 Marconi 2955A Marconi 2955B Marconi 6200 Marconi 6200A Marconi 6200B Marconi 6960B Tektronix TDS3052B Tektronix TDS3032 Tektronix TDS3012 Tektronix 2430A Tektronix 2465B Farnell AP60/50 Farnell XA35/2T Farnell AP100-90 Farnell LF1 Racal 1991 Racal 2101 Racal 9300 Racal 9300B Solartron 7150/PLUS Solatron 1253 Solartron SI 1255 Tasakago TM035-2 Thurlby PL320QMD Thurlby TG210 Function Generator 100 microHz – 15MHz Universal Counter 3GHz Boxed unused Universal Counter 225MHz SYS2712 Audio Analyser – in original box Autocal Multifunction Standard Pressure Calibrator/Controller Autocal Standards Multimeter o er lifier Voltage/Current Source DC Current & Voltage Calibrator Modulation Meter £250 Counter 20GHz £295 Communications Test Set Various Options POA Radio Communications Test Set £595 Radio Communications Test Set £725 Radio Communications Test Set £800 Microwave Test Set £1,500 Microwave Test Set 10MHz – 20GHz £1,950 Microwave Test Set £2,300 Power Meter with 6910 sensor £295 Oscilloscope 500MHz 2.5GS/s £1,250 Oscilloscope 300MHz 2.5GS/s £995 Oscilloscope 2 Channel 100MHz 1.25GS/s £450 Oscilloscope Dual Trace 150MHz 100MS/s £350 Oscilloscope 4 Channel 400MHz £600 PSU 0-60V 0-50A 1kW Switch Mode £300 PSU 0-35V 0-2A Twice Digital £75 Power Supply 100V 90A £900 Sine/Sq Oscillator 10Hz – 1MHz £45 Counter/Timer 160MHz 9 Digit £150 Counter 20GHz LED £295 True RMS Millivoltmeter 5Hz – 20MHz etc £45 As 9300 £75 6½ Digit DMM True RMS IEEE £65/£75 Gain Phase Analyser 1mHz – 20kHz £600 HF Frequency Response Analyser POA PSU 0-35V 0-2A 2 Meters £30 PSU 0-30V 0-2A Twice £160 – £200 Function Generator 0.002-2MHz TTL etc Kenwood Badged £65 d £350 £600 £350 POA POA £400 POA POA POA Marconi 2955B Radio Communications Test Set – £800 Practical Electronics | January | 2022