Tag Archive | "logic"

Review – Iteaduino Lite “nearly 100% Arduino-compatible” board

Introduction

Over the last year there have been a few crowd-funded projects that offered very inexpensive Arduino-compatible boards. Frankly most of them weren’t anything out of the ordinary, however one of them is quite interesting due to the particular design of the board, and is the subject of this review.

An established company Iteadstudio ran a successful Indiegogo campaign last December to fund their Iteaduino Lite – Most inexpensive full-sized Arduino derivative board”. Having a spare US$5 we placed an order and patiently waited for the board. Being such a low price it was guaranteed to raise the funding – but was it worth the money? Or the effort? Possibly.

The board

In typical fashion the board arrived in bare packaging:

Iteaduino Lite arrived

 The Iteaduino Lite isn’t that surprising at first glance:

Iteaduino Lite bare top

To the new observer, it looks like an Arduino board of some sort. Nice to see all those GPIO pins with double breakouts. No surprises underneath:

Iteaduino Lite bottom

The URL on the bottom is incorrect, instead visit http://imall.iteadstudio.com/iteaduino-lite.html. Looking at the board in more detail, there are some interesting points of difference with the usual Arduino Uno and compatibles.

The USB interface is handled with the Silabs CP2102 USB to UART bridge IC:

Iteaduino Lite CP2102 USB

The next difference is the power circuitry – instead of using a linear voltage regulator, Itead have used a contemporary DC-DC converter circuit which can accept between 7 and 24V DC:

Iteaduino lite power supply

Furthermore, the entire board can operate at either 5V or 3.3V, which is selected with the slide switch in the above image. Finally – the microcontroller. Instead of an Atmel product, Itead have chosen the LogicGreen LGT8F88 microcontroller, a domestic Chinese product:

Iteaduino Lite LGT8F88A MCU

And there are only two LEDs on the Iteaduino Lite, for power and D13. The LED on D13 ins’t controlled via a MOSFET like other Arduino-compatibles, instead it’s simply connected to GND via a 1kΩ resistor.

Getting started with the Iteaduino Lite

The stacking header sockets will need to be soldered in – the easiest way is to insert them into the board, use an shield to hold them in and flip the lot upside down:

Iteaduino lite stacking headers

Which should give you neatly-installed headers:

Iteaduino Lite ready to use

Watch out for the corners of the board, they’re quite sharp. Next, you need to install the USB driver for the CP2102. My Windows 7 machine picked it up without any issues, however the drivers can be downloaded if necessary.

Finally a new board profile is required for the Arduino IDE. At the time of writing you’ll need Arduino IDE v1.0.5 r2. Download this zip file, and extract the contents into your ..\Arduino-1.0.5-r2\hardware folder. The option should now be available in the Tools > Board menu in the IDE, for example:

Iteaduino Lite Arduino IDE

From this point you can run the blink example to check all is well. At this point you will realise one of the limitations of the Iteaduino Lite – memory. For example:

Iteaduino Lite Arduino IDE memory

You only have 7168 bytes of memory for your sketches – compared to 32, 256 for an Arduino Uno or compatible. The reason for this is the small capacity of  …

The LogicGreen LGT8F88 microcontroller

This MCU is a Chinese company’s answer to the Atmel ATmega88A. You can find more details here, and Itead also sells them separately. The LGT8F88 offers us 8Kbyte of flash memory of which 0.7KB is used by bootloader, 1 KB of SRAM and 504 bytes (count ’em) of EEPROM. Apparently it can run at speeds of up to 32 MHz, however the LGT8F88 is set to 16 MHz for the Iteaduino Lite.

According to Logic Green, their LGT8F88 “introduce a smart instruction cache, which can fetch more instructions one time, effectively decrease memory accessing operations“. So to see if there’s a speed bump, we uploaded the following sketch – written by Steve Curd from the Arduino forum. It calculates Newton Approximation for pi using an infinite series:

For a baseline comparison, an Arduno Uno R3 completes the calculations in 5563 ms:

Iteaduino Lite Uno speed test

… and the Iteaduino Lite completed it in 5052 ms:

Iteaduino Lite speed test

So that’s around a 10% speed increase. Not bad at all. The LGT8F88 also has the requisite GPIO, SPI, and I2C available as per normal Arduino Uno boards. You can download the data sheet with more technical details from here. Frankly the LGT8F88 is an interesting contender in the marketplace, and if Logic Green can offer a DIP version at a good price, the ATtiny fans will have a field day. Time will tell.

Power Circuit

The DC-DC circuit promises 5V output, with up to 24V DC input – so we cranked the input to 24V,  put a 1A load on the 5V output – and put the DSO over 5V to measure the variations – with a neat result:

Iteaduino lite PSU test

So no surprises there at all, the Iteaduino Lite gives you more flexible power supply options than the usual Arduino board. However an eagle-eyed reader notes that a few of the capacitors are only rated at 25V – especially the two right after the DC socket/Vin. You can see this in the schematic (.pdf). So take that into account, or drop your Vin to something more regular such as below 12V.

Conclusion

The Iteaduino Lite is an interesting experiment in bargain Arduino-compatible boards. However we say “why bother?” and just get a Uno R3-compatible board.

At the end of the day – why bother with this board? For a little extra you can get boards with the ATmega328P or 32U4 which gives you 100% compatibility. Nevertheless, this was an interesting experiment. Full-sized images are available on flickr. And if you enjoyed this article, or want to introduce someone else to the interesting world of Arduino – check out my book (now in a third printing!) “Arduino Workshop”.

visit tronixlabs.com

Have fun and keep checking into tronixstuff.com. Why not follow things on twitterGoogle+, subscribe  for email updates or RSS using the links on the right-hand column, or join our forum – dedicated to the projects and related items on this website. Sign up – it’s free, helpful to each other –  and we can all learn something.

Posted in arduino, iteaduino, LGT8F88, review, tronixstuffComments (0)

Kit review – Altronics Logic Probe Mk II

Introduction

Every month Australian electronics magazine Silicon Chip publishes a few projects, and in this kit review we’ll look at an older but still current example from August 2004 – the 3-state Logic Probe Kit (Mk II). This is an inexpensive piece of test equipment that’s useful when checking digital logic states and as a kit, great for beginners. Avid readers of my kit reviews may remember the SMD version we examined in June… well it wasn’t that much of a success due to the size of the parts. However this through-hole version has been quite successful, so keep reading to find out more

Assembly

The kit is packaged in typical form, without any surprises:

bag

 In typical Altronics fashion, an updated assembly guide is provided along with a general reference to common electronics topics:

bagcontents

 All the required parts are included – except for a 14-pin IC socket and two CR2016 batteries.

parts

 The PCB makes soldering easy with the silk-screen and solder mask:

pcbtop

 However the resistor numbering is a bit out of whack, a few R-numbers are skipped. So before soldering, measure and line up all the resistors in numbered order – doing so will reduce the chance of fitting them in the wrong spot.

pcbbottom

When it comes time to solder the power switch on the end, it’s necessary to clip off two tabs – one at each end of the switch. However this isn’t a problem:

solderswitchon

Soldering in the rest of the components wasn’t any effort at all, they’ve been spaced around the PCB nicely:

gettingthere

 Once they’re in, it’s time to insert the pins that hold the probe (shown on the left below):

pinsforprobe

 A full-sized probe is included with the kit, which you cut down with a hacksaw to allow it to fit on the end of the PCB. Then solder a short wire from the tip’s collar and run it through the body as such:

pinsforprobe2

 At this point, it’s time to break out the butane torch:

blowtorch

… with which you melt down the heatshrink over the tip, then fit it to the PCB and solder the probe wire:

testing

At this point it’s wise to fit the batteries and test that the probe works, as the next stage is to heatshrink the entire circuit to the left of the LEDs:

finished

Use

Using the probe is incredibly simple – however note that it’s designed for working with 5V logic. If you need to use higher voltages the probe can be assembled with slightly different circuit to take care of that eventuality. Moving forward simply clip the lead to GND on the circuit under test, then probe where you want to measure. The LEDs will indicate either HIGH, LOW or the PULSE LED will light when a fault is apparent, or other need for further research into the circuit. Here’s a quick demonstration probing a signal from an Arduino board:

Conclusion

This through-hole version of the logic probe kit was much easier to construct than the SMD version, and worked first time. A logic probe itself is a very useful tool to have and I highly recommend this kit for the beginner who enjoys projects and is growing their stable of test equipment on a budget. You can find the kit at my store – Tronixlabs Australia.

Full-sized images available on flickr.  And if you made it this far – check out my book “Arduino Workshop” from No Starch Press.

Finally, check out tronixlabs.com.au – which along with being Australia’s #1 Adafruit distributor, also offers a growing range and great value for supported hobbyist electronics from Altronics, DFRobot, Freetronics, Jaycar, Pololu and much much more.

visit tronixlabs.com

As always, have fun and keep checking into tronixstuff.com. Why not follow things on twitterGoogle+, subscribe  for email updates or RSS using the links on the right-hand column, or join our forum – dedicated to the projects and related items on this website.

Posted in altronics, K2586, kit, kit review, logic probe, silicon chip, test equipment, tronixstuffComments (2)

Various 1 Hz Oscillator Methods

Introduction

During the fun and enjoyment of experimenting with electronics there will come a time when you need a nice 1 Hz oscillator to generate a square-wave signal to drive something in the circuit. On… off… on… off… for all sorts of things. Perhaps a metronome, to drive a TTL clock, blink some LEDs, or for more nefarious purposes. No matter what you need that magic 1 Hz for – there’s a variety of methods to generate it – some more expensive than others – and some more accurate than others.

A few of you may be thinking “pull out the Arduino” and yes, you could knock out a reasonable 1 Hz – however that’s fine for the bench, but wild overkill for embedding a project as a single purpose. So in this article we’ll run through three oscillator methods that can generate a 1 Hz signal (and other frequencies) using methods that vary in cost, accuracy and difficulty – and don’t rely on mains AC. That will be a topic for another day.

Using a 555 timer IC

You can solve this problem quite well for under a dollar with the 555, however the accuracy is going to heavily rely on having the correct values for the passive components. We’ll use the 555 in astable mode, and from a previous article here’s the circuit:

555 astable 1 Hz circuit

 And with a 5V power supply, here’s the result:

555-1

As you can see the cycle time isn’t the best, which can be attributed to the tolerance of the resistors and capacitor C1. A method to increase the accuracy would be to add small trimpots in series with the resistors (and reduce their value accordingly by the trimpot value) – then measure the output with a frequency counter (etc). whilst adjusting the trimpots. If you’re curious about not using C2, the result of doing so introduces some noise on the rising edge, for example:

555-2noise

So if you’ve no other option, or have the right values for the passives – the 555 can do the job. Or get yourself a 555 and experiment with it, there’s lots of fun to be had with it.

Using a GPS receiver module

A variety of GPS modules have a one pulse per second output (PPS) and this includes my well-worn EM406A module (as used in the Arduino tutorials):

EM406AGPS

With a little work you can turn that PPS output into a usable and incredibly accurate source of 1 Hz. As long as your GPS can receive a signal. In fact, this has been demonstrated in the April 2013 edition of Silicon Chip magazine, in their frequency counter timebase project. But I digress.

If you have an EM406A you most likely have the cable and if not, get one to save your sanity as the connector is quite non-standard. If you’re experimenting a breakout board will also be quite convenient, however you can make your own by just chopping off one end of the cable and soldering the required pins – for example:

EM406Abreakout

You will need access to pins 6, 5, 2 and 1. Looking at the socket on the GPS module, they are numbered 6 to 1 from left to right. Pin 6 is the PPS output, 5 is GND, 2 is for 5V and 1 is GND. Both the GNDs need to be connected together.

Before moving forward you’re probably curious about the pulse, and want to see it. Good idea! However the PPS signal is incredibly quick and has an amplitude of about 2.85 V. If you put a DSO on the PPS and GND output, you can see the pulses as shown below:

GPS-raw-PPS

 To find the length of the pulse, we had to really zoom in to a 2 uS timebase:

GPS-PPS-zoom

 Wow, that’s small. So a little external circuitry is required to convert that minuscule pulse into something more useful and friendly. We’ll increase the pulse length by using a “pulse stretcher”. To do this we make a monostable timer (“one shot”) with a 555. For around a half-second pulse we’ll use 47k0 for R1 and 10uF for C1. However this triggers on a low signal, so we first pass the PPS signal through a 74HC14 Schmitt inverter – a handy part which turns irregular signals into more sharply defined ones – and also inverts it which can then be used to trigger the monostable. Our circuit:

GPSPPS_schem

 and here’s the result – the PPS signal is shown with the matching “stretched” signal on the DSO:

GPS-1-Hz1

So if you’re a stickley for accuracy, or just want something different for portable or battery-powered applications, using the GPS is a relatively simple solution.

Using a Maxim DS1307/DS3232 real-time clock IC

Those of you with a microcontroller bent may have a Maxim DS1307 or DS3232. Apart from being pretty easy to use as a real-time clock, both of them have a programmable square wave output. Connection via your MCU’s I2C bus is quite easy, for example with the DS1307:

squarewave_schem

Using a DS3232 is equally as simple. We use a pre-built module with a similar schematic. Once you have either of them connected, the code is quite simple. For the DS1307 (bus address 0x68), write 0x07 then 0x11 to the I2C bus – or for the DS3232 (bus address is also 0x68) write 0x0E then 0x00. Finally, let’s see the 1 Hz on the DSO:

ds32321hz

Certainly not the cheapest method, however it gives you an excellent level of accuracy without the GPS.

Conclusion

By no means is this list exhaustive, however hopefully it was interesting and useful. If there’s any other methods you’d like to see demonstrated, leave a comment below and we’ll see what’s possible. And if you made it this far – check out my new book “Arduino Workshop” from No Starch Press.

LEDborder

In the meanwhile have fun and keep checking into tronixstuff.com. Why not follow things on twitterGoogle+, subscribe  for email updates or RSS using the links on the right-hand column? And join our friendly Google Group – dedicated to the projects and related items on this website. Sign up – it’s free, helpful to each other –  and we can all learn something.

Posted in 1 hz, clocks, timebase, tronixstuff, TTL, tutorialComments (5)

Kit review – Altronics/SC PIC Logic Probe Kit

Introduction

Every month Australian electronics magazine Silicon Chip publishes a few projects, and in this quick kit review we’ll look at an older but still current example from September 2007 – the 3-state PIC Logic Probe Kit. This is an inexpensive piece of test equipment that’s useful when checking digital logic states and as a kit, a challenging hand-soldering effort.

Assembly

The kit is packaged in typical form, without any surprises:

kitpack

As mentioned earlier this kit is an interesting challenge due to the size of the PCB and the use of surface-mount components. The designer’s goal was to have the entire unit fit inside a biro housing (without the ink!). Thus the entire thing is using SMT parts.

Thankfully the LEDs are packaged individually into labelled bags, as alone they’re identical to the naked eye. Although the kit wasn’t expensive, it would have been nice for one extra component of each type – beginners tend to lose the tiny parts. The cost could perhaps be offset by not including the usual solder which is too thick for use with the kit.

parts

Nevertheless with some care assembly can begin. After cleaning the PCB with some aerosol cleaner, it was tacked it to the desk mat to make life a little easier:

pcb

If you want one of those rulers – click here. Before building the kit it occurred to me that the normal soldering iron tip would be too large, so I ordered a tiny 0.2mm conical tip for the Hakko:

newtip

The tip on your average iron may be too large, so take this into account when trying to hand solder SMT components. The instructions include a guide on SMT hand-soldering for the uninitiated, well worth reading before starting.

Moving forward, soldering the parts was a slow and patient process. (With hindsight one could use the reflow soldering method to take care of the SMT and then carefully fit the links to the PCB). The instructions are quite good and include a short “how to solder SMT” guide, a PCB layout plan:

instructions

… along with an guide that helps identity the components:

instructionssmt

When soldering, make sure you have the time and patience not to rush the job. And don’t sneeze – after doing so I lost the PIC microcontroller for a few moments trying to find where it landed. Once the LEDs have been soldered in and their current-limiting resistors, it’s a good time to quickly test them by applying 5V and GND. I used the diode test feature of the multimeter which generates enough current to light them up.

Due to the PCB being single-sided (!) you also need to solder in some links. It’s best to do these before the button (and before soldering any other parts near the link holes), and run the wires beneath the top surface, for example:

links

… and after doing so, you’ll need more blu-tack to hold it down!

gettingthere

One of the trickiest parts of this kit was soldering the sewing needle at the end of the PCB to act as the probe tip – as you can see in the photo below, solder doesn’t take to them that well – however after a fair amount it does the job:

needle

At this point it’s recommended you solder the wires to the PCB (for power) and then insert the probe into the pen casing. For the life of me I didn’t have a spare pen around here so instead we’re going to cover it in clear heatshrink. Thus leaving the final task as soldering the alligator clips to the power wires:

finished

Operation

What is a logic probe anyway? It shows what the logic level is at the probed point in a circuit. To do this you connect the black and red alligator clips to 0V and a supply voltage up to 18V respectively – then poke the probe tip at the point where you’re curious about the voltage levels. If it’s at a “high” state (on, or “1” or whatever you want to call it) the red LED comes on.

If it’s “low” the green LED comes on. The third (orange) LED has two modes. It can either pulse every 50 mS when the logic state changes – or in “latch mode” it will come on and stay on when the mode changes, ideal for detecting infrequent changes in the logic state of the test point.

The kit uses a Microchip PIC12F20x microcontroller, and also includes the hardware schematic to make a basic RS232 PIC programmer and wiring instructions for reprogramming it if you want to change the code or operation of the probe.

Conclusion

The PIC Logic Probe is a useful piece of equipment if you want a very cheap way to monitor logic levels. It wasn’t the easiest kit to solder, and if Altronics revised it so the PCB was double-sided and changed the parts layout, there would be more space to solder some parts and thus make the whole thing a lot easier.

Nevertheless for under $17 it’s worth it. You can purchase it from Altronics and their resellers, or read more about it in the September 2007 edition of Silicon Chip. Full-sized images available on flickr. This kit was purchased without notifying the supplier. And if you made it this far – check out my new book “Arduino Workshop” from No Starch Press.

LEDborder

In the meanwhile have fun and keep checking into tronixstuff.com. Why not follow things on twitterGoogle+, subscribe  for email updates or RSS using the links on the right-hand column? And join our friendly Google Group – dedicated to the projects and related items on this website. Sign up – it’s free, helpful to each other –  and we can all learn something.

Posted in altronics, K2587, kit review, logic probe, SMT, soldering, test equipment, tronixstuffComments (2)

Review – Freetronics Module Family

Hello

In this article we examine a new range of eleven electronic modules from Freetronics. When experimenting with electronics or working on a prototype of a design, the use of electronic components in module form can make construction easier, and also reduce the time between thoughts and actually making something 🙂 So let’s have a look at each module in more detail…

PoE Power Regulator – 28V

This is a tiny switchmode voltage regulator with two uses – the first being regulation of higher voltage up to 28V carried via an Ethernet cable to a Freetronics Ethernet shield or EtherTen to power the board itself. The PCB is designed to drop into the shield or EtherTen as such:

… and converts the incoming voltage down to 7V which can be regulated by the EtherTen’s inbuilt regulator. The second use of this board is a very handy power supply for breadboarding or other experimentation. By bridging the solder pads on the rear of the board, the output is set to 5V DC, as such:

Note the addition of the header pins, which make insertion into a breadboard very easy – so now you have a 5V 1A DC power supply. For more information visit the product page.

N-MOSFET Driver/Output Module

This module contains an On Semi NTD5867NL MOSFET which allows the switching of a high current and voltage line – 60V at up to 20A – with a simple Arduino or other MCU digital output pin. The package is small and also contains enlarged holes for direct connection of high-current capability wire:

The onboard circuitry includes a pull-down resistor to ensure the MOSFET is off by default. For more information see the product page.

Logic Level Converter Module

This is a very simple and inexpensive method to interface 3.3V sensors to 5V microcontrollers in either direction.The module contains four independent channels, as shown in the image below:

However you can interface any low or higher voltage, as long as you connect the low and high voltages to the correct sides (marked on the PCB’s silk screen). For more information please visit the product page.

RGBLED Module

Surprisingly this module contains a RGB LED module (red, green and blue LEDs) which is controlled by a WS2801 constant-current LED driver IC. This module is only uses two digital output pins, and can be daisy-chained to control many modules with the same two pins. The connections are shown clearly on the module:

The WS2801 controller IC is on the rear:

There are several ways to control the LEDs. One way is using the sketch from the product home page, which results with the following demonstration output:

Or there is a unique Arduino WS2801 library available for download from here. Using the strandtest example included with the library results with the following:

During operation the module used less than 24 mA of current and therefore can happily run from a standard Arduino-type board without any issues. For more information please visit the product page.

TEMP Temperature Sensor Module

This module allows the simple measurement of temperature using the popular DS18B20 temperature sensor. You can measure temperatures between -55° and 125°C with an accuracy of +/- 0.5°C. Furthermore as the sensor uses the 1-wire bus, you can daisy-chain more than one sensor for multiple readings in the one application. The board is simple to use, and also contains a power-on LED:

Using the demonstation Arduino sketch from the product page results in the following output via the serial monitor:

Using this module is preferable to the popular Analog Devices TMP36, as it has an analogue output which can be interfered with, and requires an analogue input pin for each sensor, whereas this module has a digital output and as mentioned previously can be daisy-chained. For more information please visit the product page.

Humidity and Temperature Sensor Module

For the weather-measuring folk here is a module with temperatures and humidity. Using the popular DHT22 sensor module the temperature range is -4°C to +125°C with an accuracy of +/- 0.5°C, and humidity with an accuracy of between two and five percent. Only one digital input pin is required, and the board is clearly labelled:

There is also a blue power-on LED towards the top-right of the sensor. Using the module is quite simple with Arduino – download and use the example sketch included in the sensor library you can download from here. For the demonstration connect the centre data pin to Arduino digital two. Here is an example of the demonstration output:

Although the update speed is not lightning-fast, this should not be an issue unless you’re measuring real-time external temperature of your jet or rocket. For more information please see the product page.

Shift Register/Expansion Module

This board uses a 74HC595 serial-in parallel-out shift register which enables you to control eight digital outputs with only three digital pins, for example:

You can daisy-chain these modules to increase the number of digital outputs in multiples of eight, all while only using the three digital output pins on your Arduino or other microcontroller. For more information about how to use shift registers with Arduino systems, read our detailed tutorial. Otherwise for more information about the module please visit the product page.

Hall Effect Magnetic and Proximity Sensor Module

This module contains a sensor which changes output from HIGH to LOW when a magnetic presence is detected, for example a magnet. The board also has an LED which indicates the presence of the magnet to aid in troubleshooting:

Using this module and a small magnet would be an easy way to create a speedometer for a bicycle, the module is mounted to the fork, and the magnet on the rim of the front wheel. For more ideas consider the speedometer project in this tutorial. Otherwise for more information about this module please visit the product page.

Microphone Sound Input Module

This module performs two functions – it can return the sound pressure level (SPL) or the amplified audio waveform from the electret microphone. The LED (labelled “DETECT”) on the board visually displays an approximation of the SPL – for example:

… however the value can be returned by using an analogue input pin on an Arduino (etc). to return a numerical value. To do this connect the SPL pin to the analogue input. The MIC pin is used to take the amplified output from the microphone, to be processed by an ADC or used in an audio project. For more information please visit the product page.

Light Sensor Module

This module uses the TEMT6000 light sensor which returns more consistent values than can be possible using a light-dependent resistor. It outputs a voltage from the OUT pin that is proportional to the light level. The module is very small:

Use is simple – just measure the value returned from the OUT pin using an analogue input pin on your Arduino (etc). For more information please visit the product page. And finally, the:

Sound and Buzzer Module

This module contains a piezoelectric element that can be used to generate sounds (in the form of musical buzzes…):

Driving the buzzer is simple, just use pulse-width modulation. Arduino users can find a good demonstration of this here. Furthermore, as piezoelectric elements can also generate a small electrical current when vibrated, they can be used as “shock” detectors by measuring the voltage across the terminals of the element. The procedure to do this is also explained clearly here.

Now for a final demonstration – we use the light sensor to demonstrate making some noise with the buzzer module:

One final note I would like to make is that the design and construction quality of each module is first rate. The PCBs are strong, and the silk-screening is useful and descriptive. If you find the need for some or all of the functions made available in this range, you could do worse by not considering a Freetronics unit. Finally, although this has only been a short introduction to the modules for now, we will make use of them in later projects.

The modules are available directly from Freetronics or through their network of resellers.

Disclaimer – Modules reviewed in this article are a promotional consideration made available by Freetronics

Have fun and keep checking into tronixstuff.com. Why not follow things on twitterGoogle+, subscribe  for email updates or RSS using the links on the right-hand column, or join our Google Group – dedicated to the projects and related items on this website. Sign up – it’s free, helpful to each other –  and we can all learn something.

Posted in arduino, freetronics, learning electronics, microcontrollers, modules, reviewComments (0)

Review – Agilent Infiniivision MSO-X 3024A Mixed Signal Oscilloscope

Hello Readers

In this article we examine the Agilent Technologies Infiniivision MSO-X 3024A Mixed Signal Oscilloscope. Please note that the review unit has the latest version 2.0 firmware (existing owners can upgrade with the free download).

Initial Impressions

Unlike smaller instruments the packaging is plain and non-descript, however the MSO is protected very well for global shipping and arrived in perfect condition. Inclusions will vary depending on the particular model, however all come with a calibration certificate, user guide on CD and a power lead.

image1

Four passive 300MHz probes are included with the MSO-X3024A:

image1a

Due to the constant upgrading of the firmware the lack of a printed user manual is no surprise. You can download the manual as well as the service, programming and  educational lab guides from the documents section of the product web page – which make good reading to get a feel for the unit.

Now for a tour around the unit. Coming from a smaller DSO or an analogue model, the first thing that strikes you is the display. 8.5” diagonal with 800×480 resolution:

image2

Unlike cheaper brands the larger screen is not extrapolating data from a smaller image – each pixel is separately used. The front panel is clean and uncluttered. Each button and knob feels solid and responsive, and if pressed and held down, a small help window appears with information about the item pressed. Note that each analogue channel has independent controls for vertical position and V/div sensitivity (the minimum sensitivity is 1mV/division). This saves a lot of time and possible confusion when working on time-sensitive applications.

Around the back we find the cooling van ventilation on the left, the IEC AC power socket on the bottom-right, manufacturing data and so on. The fan is just audible, however the noise from a desktop computer drowns it out. On the far right near the top are separate USB connections for device and host mode, and the external trigger input and output sockets. Apart from the trigger out signal the socket can also be set to give a 5V pulse on a mask test failure or the optional WaveGen sync pulse.

image3

Below this is a space for a Kensington lock cable, and the optional modules – the VGA/LAN adaptor or the GPIB bus module. On the right is my old faithful GW 20 MHz analogue CRO. Finally, there is a compartment on the top of the unit that can hold two probes comfortably, and four at a pinch:

image4

As the unit is can be considered a small computer, it takes time to boot up – just over thirty seconds. (The operating system is Windows CE version 6.0). The user-interface is quite simple considering the capability of the unit. The six soft-keys below the display are used well, and also can call a separate list of options under each button.

When such a list is presented, you can also use the “Push to select” knob on the right hand side of the display to select an option and lock in by pressing the knob in. Below the soft keys from left to right are: BNC output for the optional function generator, digital inputs for logic analyser, USB socket for saving data to a USB drive, probe points for calibration and demonstration use, and four probe sockets. Connections exist that can interface with optional Agilent active probes.

Specifications

This instrument falls within the range of Agilent’s new Infiniivision 3000-series oscilloscopes. The range begins with the DSO-X3012A with 100MHz bandwidth and two channels, through to the DSO-X3054A with 500 MHz bandwidth and four channels. Furthermore the range is extended with the MSO-X models that include a sixteen channel logic analyser.

Some of you will know there is also the Infiniivision 2000-series, and wonder why one would acquire a 3000-series. There are three excellent reasons for doing so:

  1. Waveform update rate is 50000 per second on a 2000, one million per second on a 3000;
  2. Memory depth on a 2000 is 100 kilopoints; 3000s have 2Mpts standard or 4Mpts optional;
  3. Eight vs. sixteen digital channels when specified as an MSO-X model.

For a full breakdown of specifications please download the Agilent data sheet located here.

Getting Started and general use

The process from cutting open the packaging to measuring a signal is quite simple – just plug it in, connect probes and go – however some probe compensation is required, which is explained quite well in the manual. There are strong tilting bales under the front side which can be used to face the unit upwards. At this point the unit is ready to go – you can start measuring by using the Auto Scale function and let the MSO-X3024A determine the appropriate display settings.

However there is no fun in that – the vertical scale can be manually adjusted between 1 mV and 50V per division, the horizontal between 2 nanoseconds and 50 seconds per division. These values can be selected rapidly or (by pressing the knob in) in a fine method for more precise values. If working with more than one channel, each can be labelled using a pre-set description or select a label from a list. One can also alter the display between X-Y, horizontal and roll modes.

Each channel has separate controls for coupling – DC/AC but no GND, as the earth point is shown on the LCD. Impedance can be 1M or 50 ohm. One can also limit bandwidth to 20MHz to remove high-frequency interference.

Capturing data is very easy, you can save images as .png or .bmp files in grey scale or colour , data in .csv form and so on. You can also assign popular functions to a “Quick Action” button – one press and it is done. For example I use this as a “save bitmap” button to send the screen image to the USB drive. If the optional LAN/VGA module is installed screens can be captured by the host computer via the network. Finally there is a very basic file explorer available to find files on the USB drive as well.

Waveforms can also be stored and used later on as references for other measurements. When reviewed they appear as an orange trace – for example R1:

rrr

The horizontal zoom mode activated using keys to the right of the horizontal control is very useful. Agilent call this “Mega Zoom” and it certainly works. Consider the following screen shot – the 32.768kHz square-wave from a Maxim DS1307 real-time clock is being analysed:

megazoom

The time base is 10uS per division – and using the zoom we can get down to two nanoseconds per division and investigate the ringing on fall of the square-wave. This is great for investigating complex signals over short periods. Awesome.

Capturing infrequent events is made simple by the combination of the one million waveforms per second sampling rate, and the use of infinite display persistence. In the following example a clock with very infrequent glitch is being sampled. By setting persistence to infinite, as soon as the infrequent glitch occurs it can be displayed and held on the screen. For example:

infreq

Triggering

There is a plethora of triggering options available. Standard modes include: edge, edge then edge, pulse-width (customisable), pattern trigger (for logic analyser – you can create your own patter of high, low, or doesn’t matter with comparison operators for duration), hex bus trigger, OR trigger, customisable rise/fall time trigger, nth edge burst trigger which allows  you to nth edge of a burst after an idle time, runt trigger on positive or negative pulse, setup and hold trigger, on video signals (PAL, PAL-M, NTSC, SECAM), and USB packets. Phew. Furthermore, if you have any of the optional decoding and analysis licenses, they include triggering on the matching signal type (see later).

Math modes

Performing math waveforms on analogue channels is done via a seperate Math button, and the operations available are addition, subtraction, multiplication, differentiation, integration, square root and FFT.

Waveform statistics

When the time comes to further analyse your measurement data, there area variety of measurements that can be taken, and they can be displayed individually, such as in the following:

stats1

or all in a summary screen:

allstats

Or you can manually use the cursors to determine information about any part of a wave form, for example:

cursors

Logic Analyser

Everything required is included with the MSO-X3024A for the sixteen channel logic analyser, including a very long dual-head probe cable:

lacables

as well as sixteen grabbers and some extension runs:

lacables2

Setup and use was surprisingly simple, just connect the probe cable head to ground, insert grabbers onto the ends of each channel wire, and connect to the signal pins to analyse. You can have all sixteen channels and the four analogue channels active at once, however when doing so the screen is quite busy. You can adjust the height  for each digital channel. Here we are measuring two analogue and eight digital channels:

msoinaction

As always there are many forms of customisation. Automatic scaling is available the same as analogue measurement. You can set the threshold levels for high and low, and presets exist for TTL, CMOS, ECL and your own custom levels. The cable is very well-built (made in the USA) and the socket on the MSO is a standard, very solid IDC connector. Thanks to the use of the IDC connector you could also make your own probes or extension cable for the analyser. Digital channels can also be combined and displayed as a data bus, with the data values shown in hexadecimal or binary – for example:

hexbus

binbus

Options

Both the 2000- and 3000-series Infiniivision units have a variety of options and upgrades available either at the time of purchase or later on. Agilent have been clever and installed all the software-based options in the unit – when required they are “unlocked” by entering a licence key given after purchase. Trial 14-day licenses are generally available if you want to test an option before purchase. You can also upgrade the bandwidth after purchase – for example if you started with a 100MHz a licence key purchase will upgrade you to 200MHz , or 350 to 500MHz. However if you wish to upgrade a 200MHz to 350/500, this needs to be performed at at Agilent service facility. Surprisingly the logic analyser upgrade that converts a DSO-X to an MSO-X is user-installable. For more information on the upgrade options and procedures please visit here.

Memory Upgrade (DSOX3MEMUP)

A simple yet useful option – it doubles the total memory depth to 4 Mpts interleaved.

LAN/VGA Module (DSOXLAN)

This options really opens up the MSO to the world (and is a lot of fun..) – it is inserted into the port at the rear of the unit:

lanvga1

VGA output is very simple – no setup required. Just plug in your monitor or projector and you’re ready to go -for example, with a 22″ LCD monitor:

monitorview

The educational benefits of the LAN/VGA module are immediately apparent – instead of having twenty classmates huddle around one MSO while the instructor demonstrates the unit, the display can be show on the classroom projector or a large monitor. The MSO display is still fully active while VGA output is used.

LAN connection via Ethernet was also very simple. The MSO can automatically connect to the network if you have a router with DHCP server. Otherwise you can use the Utility>I/O>LAN Settings function to enter various TCP/IP settings and view the MSO’s MAC address.

Once connected you can have complete control of the MSO over your network. Apart from saving screen shots:

remotesaveimage

There is a “simple” remote control interface that contains all the controls in a standard menu-driven environment:

simpleremotepanel

Or you can have a realistic reproduction of the entire MSO on your screen:

fullremotepanel

The full remote panel is completely identical – it’s “just like being there”. The ability to monitor your MSO from other areas could be very useful. For example using the mask testing in a QC area and watching the results in an office; or an educator monitoring students’ use of the MSO.

Furthermore you can view various data about the MSO, such as calibration date and temperature drift since calibration, installed options, serial number, etc. remotely via the web interface.

GPIB Module (DSOXGPIB)

This allows you to connect your MSO to an IEEE-488 communications bus for connection to less contemporary equipment.

Segmented Memory Option (DSOX3SGM)

This options allows you to capture infrequent multiple events over time. For example, you want to locate some 15 mS pulses that occur a few times over the space of an hour. All you need to do is set the triggering to pulse-width, specify the minimum/maximum pulse width to trigger from, then hit Acquire>Segmented, the number of segments to use and you’re off. When the pulses have been captured, you can return and analyse each one as normal. The unit records the start time and elapsed time for each segment, and you can still use zoom, etc., to examine the pulse. For example:

segment

Embedded Serial Triggering and Analysis (DSOX3EMBD)

Debugging I2C and SPI buses are no longer a chore with this option. For example with I2C just probe you SDA and SCK lines, adjust the thresholds in the menu option and you’re set. Apart from displaying the bytes of data below the actual waveform, there is a “Lister” which allows you to scroll back and forth along the captured data along with correlating times. In the following example a Maxim DS1307 RTC IC has been polled:

i2c_lister

The Lister details all – in the example we sent a zero to address 0x68, which caused the DS1307 to return the seven bytes of time and date data. This is an extremely useful option and is very useful when working with a range of sensors and other parts that use the I2C bus. The SPI bus analysis operates in exactly the same manner. Adding this option also allows triggering on I2C data as well.

FlexRay Triggering and Analysis (DSOX3FLEX)

The optional FlexRay measurement applications offer integrated FlexRay serial bus triggering, hardware-based decoding and analysis. The FlexRay measurement tools help you more efficiently debug and characterize your FlexRay physical layer network by having the ability to trigger on and time-correlate FlexRay communication with your physical layer signals. So if you are working on the ECU of your Rolls-Royce or new BMW 7-series, you can use an MSO that matches the quality of the vehicle under examination. Here is an example of the FlexRay being monitored in the lister:

flexray

RS232/UART Serial Decode and Trigger (COMP/MSOX3000-232)

This option allows RS232, 422, 485 and UART decoding and triggering, as well as the use of the Lister to analyse the data. For example:

uartdecode

Advanced Math (DSOX3ADVMATH)

This option adds more math functions to enhance your waveform analysis, including: divide, base-10 logarithm, natural logarithm and exponential.

CAN/LIN Triggering and Serial Decode (DSOX3AUTO)

Again, allows decoding of automotive CAN and LIN bus signals, and the use of the Lister. For example:

can_decode

lin_decode

Military Standard 1553 and ARINC429 Standards Serial Triggering and Decoding (DSOX3AERO)

The option exists for decoding and triggering of the above bus types. According to Agilent the Mil-STD 1553 serial bus is primarily used to interconnect avionics equipment in military aircraft and spacecraft(!). This bus is based on tri-level signaling (high, low, & idle) and requires dual-threshold triggering, which the 3000X supports. This bus is also implemented as a redundant multi-lane bus (dual-bus analysis), which is also supported by the 3000X.

The ARINC 429 serial bus is used to interconnect avionics equipment in civilian aircraft (Boeing & Airbus). This bus is also based on tri-level signaling (high, low, & null) and requires dual-threshold triggering, which the 3000X supports. Since ARINC 429 is a point-to-point bus, multi-lane analysis is also required to capture both send and receive data. So if you need this capability – Agilent has you covered.

milbus

Video Triggering and Analysis Application (DSOX3VID)

The DSOX3VIDEO option provides triggering on an array of HDTV standards, including:

  • 480p/60, 567p/50, 720p/50, 720p/60
  • 1080i/50, 1080i/60
  • 1080p/24, 1080p/25, 1080p/30, 1080p/50, 1080p/60
  • Generic (custom bi-level and tri-level sync video standards)

The 3000X Series oscilloscope already comes standard with NTSC, PAL, PAL-M, and SECAM support. Example of video analysis:

dsox3vid

Audio Serial Triggering and Analysis (DSOX3AUDIO)

And not surprisingly this is an option to allow decoding of and triggering from I2S digital audio data. For example:

i2s_decode

Mask Limit Testing (DSOX3MASK)

This is another interesting and useful option, idea for quality testing, benchmarking and so on. First you create a mask by measuring the ideal waveform, and then feed in the signal to be compared with the ideal mask. Mask limit testing can operate at up to 280000 comparisons per second. You can view pass/fail statistics, minimum sigma and so on, for example – a perfect test:

mask1

… then a change of frequency for a few cycles:

mask2

Furthermore you can specify the number of tests, change source channel, specify action upon errors, etc. Finally you can create and save to USB your own mask file for use later on – which can also be modified on a PC using any text editor software. Or for other monitoring options the external trigger socket on the read of the MSO can be configured to give a 5V pulse on a mask test failure.

If you have the LAN/VGA module you could place the MSO on in a lab or factory situation and monitor the testing over the network using a PC – very handy for QC managers or those who need to move about the workplace and still monitor testing in real time.

20MHz Function Generator/Arbitrary Waveform Generator (DSOX3WAVEGEN)

The “WaveGen” function is a versatile option that offers a highly controllable 20 MHz function generator and arbitrary waveform generator. It offers eleven different types of waveform: sine, square, ramp, pulse, DC, noise, sine cardinal, exponential rise and fall, cardiac and gaussian pulse.

The frequency can be adjusted between 100mHz to 20 MHz in 100 mHz steps; period from 50ns to 10s; full offset, amplitude and symmetry control; as well as logic level preset outputs (such as TTL, CMOS 5V, 3.3V etc.) Finally the WaveGen can be operated independently to normal measurement tasks, which is useful for ideal vs. actual comparisons and so on. Output is from the BNC socket at the bottom-left of the front pane and sync is also availble from the rear BNC socket. The arbitrary waveform generator is very simple to use  – and copied waveforms can be edited or have noise added to them to replicate real-world waveforms.

Power Measurement (DSOX3PWR)

This is a power measurement and analysis option that is integrated into the unit and provides a quick and easy way of analysing the reliability and efficiency of switching power supplies. It also includes a user license for U1881A-003 PC-based power measurement and analysis software that provides even more powerful insight into power supply measurement. With this option you can:

  • Measure switching loss and conduction loss at the switching device (to help improve efficiency)
  • Analyse dI/dt and dV/dt slew rate (for reliable operation)
  • Automate oscilloscope set-up for ripple measurements (to eliminate tedious manual oscilloscope set up)
  • Perform pre- compliance testing to IEC 61000- 3- 2 standards (to reduce compliance testing time)
  • Analyse line power with total harmonic distortion, true power, apparent power, power factor, and crest factor tests (to quickly provide power quality information)
  • Measure output noise (ripple)
  • Analyse modulation using the on- time and off- time information of a Pulse Width Modulation (PWM) signal (to help characterize the active power factor)
  • Measure how well a circuit rejects ripple coming from the input power supply at various frequencies with the Power Supply Rejection Ratio (PSRR) measurement.
For more indepth explanation of this option download and read the well written manual.

Etch-a-sketch

Well not a feature as such, but it exists if you know where to find it:

msoxes

Initial Conclusions

There is no doubt that the Infiniivision 3000-series are a great line of instruments. The waveform sample rate, memory size and bandwidth options are very competitive, and the ability to add various options is convenient and also helps lower the final cost for purchasing departments. (Start with the base model then hit them up for the options over time)

However there are a few things that could use improvement. Although the display is excellent – the right-hand column with “Agilent” at the top is always displayed. This is a waste of LCD space and there should be an option to turn it off, allowing waveforms to be displayed across the entire screen. If a $400 Rigol can do this, so should a $5000+ Agilent. The build unit of the unit is good, no problems are evident however it could be a little more “solid”; and the option of a clear shield for the LCD would be a great idea to protect against forceful and dirty fingers.

Furthermore the ground demonstration terminal suffers from metal fatigue very quickly, it already is somewhat chipped and may need replacing if you used it quite often. Finally, it would have been nice to see Agilent include the a carry bag – already people have asked to borrow the unit and to wander around with it in the box is somewhat awkward.

For those who rely on their test equipment will have the peace of mind that Chinese discount suppliers cannot give you – Agilent support exists and will not ignore you once a sale has been made. It doesn’t take long to find a tale of woe on an Internet forum from someone who imported their own “high-spec” DSO via eBay or direct east-Asian sellers only to find there are no firmware updates, competent English-speaking support or warranty of any kind. Furthermore, the ability to combine many functions in the one piece of equipment saves space, time and reduces your support channel back to one supplier. There is also an iPhone “app” that may be of interest – however as an Android user I haven’t tried it.

The saying “Quality is remembered long after price is forgotten” certainly holds true – and at the end of the day combined with the mix of standard and optional features at various price points – the Agilent Infiniivision MSO-X 3024A rises to the top echelon of test equipment.

 The Agilent Technologies Infiniivision MSO-X 3024A Mixed Signal Oscilloscope used in this review is a promotional consideration received from Agilent and element-14 via their Road Test program.

Agilent Test and Measurement equipment is available from your local element-14Farnell or Newark distributor.

Australian readers please note:  Trio Smartcal are the exclusive Australian Agilent distributors for all states except WA and NT – telephone 1300 853 407.

Measurement Innovation for WA and NT – telephone 08 9437 2550

High-resolution images are available on flickr.

Once again thanks for reading, have fun and keep checking into tronixstuff.com. Why not follow things on twitterGoogle+, subscribe  for email updates or RSS using the links on the right-hand column, or join our Google Group – dedicated to the projects and related items on this website. Sign up – it’s free, helpful to each other –  and we can all learn something.

Posted in agilent, DSO, MSOX3024A, oscilloscope, review, test equipment, tutorial

July 2011 Competition

Competition over!

Posted in competitionComments (0)

The world’s smallest oscilloscope??

Hello readers

Today we examine a tiny and fascinating piece of test equipment from Gabotronics – their XMEGA Xprotolab. Sure, that sounds like a lot – and it is. Yet the functionality of the Xprotolab is inversely proportional to its physical size. Try to imagine having an oscilloscope, arbitrary waveform generator, logic analyser and a spectrum analyser – including a display – in a package no larger than 25.4 x 40.6 mm (1″ x 1.6″) in size. Well imagine no more as here it is:

1ss

As described above, this tiny marvel of engineering has the following functions:

  • Two analogue oscilloscope channels with a maximum sampling rate of 2 million samples per second;
  • Analogue bandwidth of 320 kHz at 8-bits resolution;
  • Buffer size of 256 samples;
  • Fast fourier-transform;
  • Analog and external digital triggering;
  • Maximum input voltage of +/- 10V;
  • Automatic average and peak-to-peak measurements;
  • Logic analyser with eight channel maximum simultaneous monitoring;
  • Firmware is user upgradable;
  • Can also be used as a development board for the XMEGA microcontroller (extra items required);
  • When powered from a USB cable, the board can supply +/-5V and +3.3V into a solderless breadboard.

The OLED screen is very clear and precise, which considering the size of 0.96″ – very easy to read. One can also set the display mode to invert which changes the display to black on white, bringing back memories of the original Apple Macintosh:

invertedss

Using the Xprotolab took a little getting used to, however after pressing menu buttons for a few minutes I had it worked out. The more sensible among you will no doubt read the instructions and menu map listed at the website. Having the dual voltmeter function is quite useful, it saved me having to mess about with a couple of multimeters when trying to debug some analogue circuits I’m currently working with.

The display can be as complex or as simple as you choose, for example when working with the oscilloscope you can disable one channel and shift the waveform so it occupies the centre of the screen. Or when working with the logic analyser, you can choose to only select the channels being monitored, instead of filling the screen with unused logic lines.

There are a couple of things to take care with. When inserting the Xprotolab into your breadboard, be careful not to put pressure on the OLED display when pushing down; when removing it from the breadboard, try and do so evenly with the help of an DIP IC puller.

Generally in my reviews there is a video clip of something happening. Unfortunately my camera just isn’t that good, so below is the demonstration clip from the manufacturer:

As you can see the Xprotolab would be quite useful for monitoring various signals whilst prototyping, as you can just drop it into a breadboard. Furthermore, if your required range is measurable the Xprotolab saves you having to look back-and-forth between a prototype and the display from a regular oscilloscope as well.

As the purchase price is relatively cheap compared against the time and effort of trying to make an OLED display board yourself, one could also plan to build an Xprotolab into a final design – considering a lot of measurement and display work is already done for you it could be a real time-saver. The Xprotolab can run from a 5V supply and only draws a maximum of 60 milliamps. Product support is quite extensive, including source code, schematics, videos, a user forum and more available from the product page.

In conclusion the Xprotolab is genuinely useful, inexpensive and ready to use out of the box. It would make a useful piece of test equipment for a beginner or seasoned professional, and also integrates well into custom projects when required.

Remember, if you have any questions about the Xprotolab,  please contact Gabotronics via their website.

[Note – the Xprotolab reviewed in this article was received from Gabotronics for review purposes]

Posted in gabotronics, oscilloscope, part review, review, xmega, xprotolabComments (8)

Review – Ikalogic SCANALOGIC2 Logic Analyser/Signal Generator

Hello Readers

Today we will take a first look at the Ikalogic “Scanalogic2” PC-based logic analyser and signal generator. This is a tiny and useful piece of test equipment that should be useful for beginners and experienced engineers alike. It has been developed by two guys in Europe that are dedicated to the craft, and I wish them well. First of all, let’s pull it out of the box and see what we have:

contentssss

Upon opening the box, one finds a USB cable, the connector leads and the unit itself. It really is small, around 60 x 35 x 20mm. The USB cable is just under 900mm long. Finally a small instruction and welcome postcard which details a quick overview of the software and the unit’s specifications. Ikalogic are to be congratulated for the minimal level of packaging – finally a company that realises one can download the required items instead of printing books, burning DVDs and causing an increase in shipping weight.

The first thing you will need to do is download the latest software. It needs a Windows-based PC with .net framework. Installing took about two minutes, then the ubiquitous system restart. Finally the last preparation is to check for the latest firmware and update it. This is a simple procedure – download a .zip file, extract the .hexe file, then just file>update device firmware in the software. The desktop software checks for new versions before every startup, so you can be sure of having the latest version.

Here are the specifications of the unit from their web page:

specs

Certainly there is a lot there to take advantage of. Personally I consider the logic analyser functions to be of great interest, and will now demonstrate those to see how they can be useful in debugging and generally figuring out what my designs are up to.

One can capture data in two ways, either by using a live sampling mode, or capture mode where you set the device to sample data into its memory, and then reviewing the data using the software. If you are using the live mode, the quality of the sampling will be affected by your PC resources. For example, consider this first demonstration. A very simple Arduino is setting a pin high and low:

demo1ss

In live mode you can still use the horizontal scroll feature to move backwards and forwards through the captured data. One can also expand the data display to the full width of the window. When using the live mode, I found that there was still some variation in the logic levels that was not programmed for. My PC is fairly up to date, consisting of an AMD PhenonII dual-core 3.1 GHz CPU, 2GB RAM at 1066 MHz, running Windows 7 x64. Perhaps I could use some more RAM? A better video chipset? Who knows… Unfortunately I don’t have a more powerful PC to test. Therefore I will stick to the normal capture mode. Doing so is also quite easy – here is the basic setup tab:

It is pretty self-explanatory. If you have a fair idea of your sampling rate, you can drop it down to increase the available sampling time. Here I have selected the lowest sampling rate, as I will just capture the pulses as shown in the earlier demonstration. Once your sample has been collected, you can scroll through it at your leisure, and also save the sample to disk.

In being able to save the data for later retrieval, there are three things that can be done with the data:

  1. As anyone can download the software, you can share your samples by emailing or sharing the files with colleagues – they can playback the sample without owning a Scanalogic themselves, by just using the software;
  2. You can keep the sample for later analysis
  3. You can blast out the captured data using the function generator feature. Neat! Let’s do that now…

Earlier on I captured the following from an Arduino board:

demo3ss

And now I can just right-click on the data (channel one) and select run data generator for this channel then click start on the left. Which results in the following output:

Very good (except for my old CRO). Also notice the log area at the bottom of the application screen – it relays unit status, error messages and so on. Now let’s capture and look at some more interesting sample data. The following example is an example of captured data from an Arduino serial-out pin, which was programmed to send the letter “A” out at 2400 bps using serial.write();

uartdemoss

Once you have captured the sample, you can select the parameters of the data stream and decode the sample. As you can see in the image above, the decoder shows the data stream in hexadecimal and the ASCII equivalent.

Next on the test is I2C. This is a common two wire data bus from Philips/NXP, used in many systems. More about I2C with Arduino is here. A very popular example of an I2C IC is the Maxim DS1307 real-time clock. We can use our Scanalogic to eavesdrop on the SCA and SCL data lines to see what is being said between the microcontroller and the DS1307:

i2cone

So in the example above, the value 0x68 (binary 1101000) is sent down the bus. This is the unique identifier (slave address) for a DS1307 IC. So the Arduino is saying “Hey – DS1307 – wake up”. This is then followed by a 0x00 or directional bit. The DS1307 then replies by sending the time data back to the bus. The first piece of data in the reply is 0x68, which identifies to the I2C bus (recall that 0x68 is the DS1307 identifier) that the data is from the DS1307. Following this is the time and data data in hexadecimal, which is converted to binary-coded decimal in the microcontroller software.

When working with I2C, it really pays to have the data sheet for your IC with you. Then you can decipher the data, direction and timing with the sample data on one side and the timing diagrams on the other. For example, page twelve of the DS1307 data sheet. In doing so, it reminds me how much I dislike I2C 🙂

Moving along. Next we will have a look at some data from the SPI (serial peripheral interface) lines. Again, this is quite simple, you just connect the four hooks into the clock, MOSI, MISO and CS lines, and capture away. The software allows you to select which hook is connected to which line, so you can connect up quickly. At this point I will note that the IC hooks are somewhat inexpensive, and the designers could have spent a few more Euro on including some decent ones. Anyhow, here is the screen dump:

spidemo

At this point one can realise all sorts of monitoring possibilities. I wish I had one of these years ago when learning digital electronics – you could just monitor the highs and lows over four channels and debug things very quickly. Will keep this in mind when I get around to making a TTL clock.

Anyhow – the Scanalogic2 has a lot going for it in terms of data capturing ability, the price is right, you can update the software and firmware very easily, and the desktop software is freely available in order to share samples with others. There are a few cons though – the IC hooks could be better (I couldn’t connect four in a row onto an IC for the life of me); the unit could use some documentation in terms of a “Getting Started” guide or webpage – so due to this the learning curve is quite high. There is their version here, but I feel it could be expanded upon. Many beginners and amateurs will be attracted to this unit due to the price. However there is a support forum and so on, but answers can vary in quality and time. However, don’t let the cons put you off – this thing is cheap, the software is very good – and it works. Two thumbs up!

To purchase a Scanalogic2, visit the Ikalogic home page. If you need to analyse some data, and don’t want to spend a bucket of money – this is for you.

Posted in ikalogic, product review, review, Scanalogic, test equipmentComments (4)


Subscribe via email

Receive notifications of new posts by email.

The Arduino Book

Arduino Workshop

Für unsere deutschen Freunde

Dla naszych polskich przyjaciół ...

Australian Electronics!

Buy and support Silicon Chip - Australia's only Electronics Magazine.

Use of our content…

%d bloggers like this: