Step 12: Assembly Step 1: Unpacking the Kit

Below you see the kit as it comes out of the box:
•   Probe cables
•   Enclosure, which holds all the small components
•   FTDI USB cable
Unscrew the two screws on the bottom of the enclosure and carefully lift the bottom – make sure not to drop any components.
We don’t need the probes and the USB cable right now, so put them to the side for the moment.
<p> hai <a href="http://www.instructables.com/member/womai/" rel="nofollow">womai</a> thanks for nice job. but where is the source code of pic</p>
The analog bandwidth would be just about sufficient. You won't see nice square edges (rather rounded ones) but it will be enough to see what data is sent and how the clock edges align to the data. <br> <br>The more important question is whether your signals are (or can be made) repetitive. This is because the single-shot sample rate is limited to 1 MSample/sec, i.e. just a single sample per bit period at 1 MHz. This would NOT be sufficient to capture the waveforms. But if they are repetitive you can use the equivalent time (where the waveform is put together from several acquisitions, each slightly delayed in time) which can go to an (equivalent) sample rate of 20 MSa/sec - so 20 samples per bit interval.
Hi, <br> <br>With 1.3MHz bandwidth limit, can the said device actually capture 1MHz I2C and SPI cos they are square waves with much higher bandwidth. Please do correct me if I am wrong. <br> <br>Thanks
Hello Friends, <br>i have mad this project now i need source cod for PIC30F.. <br>please help me for this at (geraldino250@gmail.com) for my own scope
It would be useful to me if the program was available for Linux.
Are you volunteering to convert it to Linux? :-)<br><br>The original is written in Visual Basic 6, so quite Windows specific - so I'm afraid it would be more a complete re-write rather than a quick conversion. I do get occasional requests for Linux or MacOS versions, but given my limited time for my hobbies I prefer to develop new instruments rather than spend a lot of time to serve a IMHO still niche market... - most people have access to some Windows PC or laptop when needed.<br><br>Over the years I had several people wanting/offering to convert some of my software to other platforms, despite my warnings about the time and effort required. Not surprisingly (to me) after initial enthusiasm (along the lines, &quot;... all I'll have to do is...&quot;, &quot;...and then I'll quickly...&quot;) none of them produced anything in the end, so my enthusiasm in this regard is a bit muted ;-)
can you give me source code of VB6 for this software? <br>thanks before.
Unfortunately the program is a bit more advanced than what I could write, but maybe someone could write a cross platform (possibly java based) version eventually.
Hello Friends,<br>i have mad this project now i need source cod for PIC30F..<br>please help me for this at (shafiq2eng@hotmail.com)<br>
Hi this design is bit complicated for a beginner<br><br>if some body want a easy design then check this link<br>http://microembeded.blogspot.com/2011/07/two-channel-pcbased-oscilloscope-usb.html<br>
One other thing I noticed is that the design you refer to lacks any sort of input protection (series resistor, clamp diodes) in front of the first amplifier. So any overvoltage risks to kill the input stage and worst case make it straight back into the computer. (In comparison, the DPScope has a large input resistor in front of a pair of clamp diodes, protecting the scope and the computer for inputs up to ~ +/-200V static input - 10x the official max input range - and much more for short pulses like electrostatic discharges).
Interesting project! Altough it seems limited to +/-5V input range.<br><br>I am actually working on a much simplified scope myself: about as easy as it can get, it uses just two chips, one PIC (USB capable, but not the 2550) and one op-amp - yet offers USB connectivity (power and data), two channels, variable gain (max. range +/-25V), standard 1 MOhm input impedance, analog bandwidth of ~300 kHz and sample rate up to 2 MSa/sec (for repetitive signals), FFT mode, as well as a 4-channel logic analyzer mode.<br><br>The new design (tentatively called DPScope SE) will not replace the existing one (which has much higher bandwidth and sample rate) but complement it. I already have the hardware (with custom printed circuit board, not just breadboarded) up and running, and the PC software is ~70% complete.<br><br>Stay tuned!
when will be ur AWG?? <br>atleast send circuit diagram<br>
I had to put the AWG on the back burner for the moment. I have the full schematic but still need to breadboard the full circuit in the real world and develop firmware and PC software. I don't want to publish a circuit that hasn't been thoroughly tested first...<br><br>The &quot;no-frills oscilloscope&quot; is well on its way - the prototype is working fine and being tested and the software developed as we speak. Don't expect it to replace the DPScope though.
How do I obtain this kit?
Go to the DPScope webpage http://www.dpscope.com --&gt; &quot;Buy It&quot; tab
There should be flash storage in the scope so that when you plug it in it installs the program.<br>I got a question for someone who knows about osciliscopes, I saw one at a flea market, on the outside it looked good, it is about 30 years old, what are the chances of it working or being fixable?
Most nicely explained project. Could there be another projects ?<br>Best wiches.<br><br>Carlos Ahumada<br>Santiago de Chile
Yes, there will be. Right now I am working on a simple AWG (arbitrary waveform generator) and a very simple, no-frills oscilloscope (much less capable than the DPScope but also even lower cost). The AWG should make a nice complement to the DPScope.<br><br>Both instruments will use the PC for control and display, just like the DPScope. The challenge here is to reduce component cost to absolute minimum. Microchip has a couple low-end, low-cost (a third of the price of a 18F2550 or 18F4550) USB-capable microcontrollers that will be fun to work with. Right now I'm waiting for the development board for them.<br><br>Stay tuned!
Hi there,<br><br>I am working on a PIC project right now with the PIC18F4550. Would it be possible for you to send me your C++ code for the oscillator, ADC, and SPI communication?<br>hesslerk@gmail.com<br><br>Thanks!<br>Kurt
This scope is based on the 16-bit dsPIC30F2020, which has a very different architecture compared to the 8-bit PIC18F series, so that won't help you much.<br><br>For PIC18F series development I use MIkroelektronika's MikroC compiler and development boards. The compiler (2K limited demo download is free) comes with a few examples for the 18F4550 - just use these as a starting point, they should work right out of the box (they did for me). They use an external 8 MHz crystal and run the core at 48 MHz (maximum possible) which is probably what you want to do (USB needs exactly 48 MHz anyway). MikroC has native libraries for ADC and SPI - very easy to use - so there isn't any clever code I could share for that. E.g. adc read is my_var = adc_read(channel)<br><br>If you are interested in USB using the 18F4550, go to the MikroE web forum and search for &quot;USB&quot; and author &quot;womai&quot; - I posted a full example (including VB6 source code for the PC side).
Wow, Im about 4 mos into building electronic projects, and I have yet to see such amazing detailed instructions for a project! You put a lot of thought into this. I will definitely be pick your self assembly up as soon as my Solder skills are better.
Although I cannot but marvel at the quality of your work, I could not bring myself to give you a good rating, or even consider buying your kit.<br><br>I have been a member of Instructables for quite some time and even before that, I would pop in to check on some project or another and trust me it's not the first time I see someone advertising their work. And believe me I am totally fine with that. As a matter of fact, I believe that if one can profit from a great design and/or personal work, it's not bad at all, as long as there are willing customers.<br><br>To be honest, I expected many more reactions in the comments so far, since I've seen people get upset for less obvious advertisement. But in most other cases, as I recall, the 'ibles were enough to complete the project without having to buy something from a specific someone.<br><br>In your case, you repeatedly refused to give the firmware and the circuit layout when asked and sometimes you did not even bother to answer.<br><br>I know that if I were more skilled in electronics and mc programming, I would work something out on my own, as you pointed out (using a proto-board for example).<br><br>Again, I am not giving you fault here, I just expected a little more honesty from your side. You could have stated in the beginning that this is an 'ible to build a very specific kit, as others have done. &quot;Build your own&quot; is a bit misleading don't you think? If I were to follow this 'ible, I would be building *your* USB/PC-Based Oscilloscope, not mine.<br><br>I have no intention of being offensive or anything, so I apologize beforehand if my comment upset you, I just thought I should give my two cents.<br><br>
No offense taken. Two things I'd like to comment on though:<br><br>First, I don't agree with &quot;you did not even bother to answer&quot;. If you read through the list of comments, I make an effort to always comprehensively answer whatever question - technical or otherwise - somebody has. A few - not many - of the comments though were not questions at all, for all can tell these individuals only wished to express their opinion but did not really seek any response or comment from my side. They are of course entitled to their opinion, so I let them stand as-is.<br><br>Second, I do think there is a lot to learn from this project even if you have no intention of getting the board or kit. The whole hardware design - as well as the high-level software design - is documented and explained in detail - so you get a proven, usable analog frontend - a variable gain amplifier chain with ove a MHz of bandwidth - for free (of better design quality than many low-end commercial scopes have as I can assure you), as well as a good idea how a real digital sampling scope works. In fact I personally know about more than one person who copied all or part of the analog portion for his/her own project. I have seen many other instructables where the total amount of usable information was quite a bit less than this alone.<br><br>Finally, I have published a fully open scope design as well - including firmware, board layout and so on, which everybody is free to use if so desired, so overall I do feel I contribute to this community in the way intended:<br><br>http://www.instructables.com/id/LCS-1M-A-Full-Featured-Low-Cost-Hobby-Oscillosc/<br><br>Regards,<br><br>womai<br>
Thank you very much for taking the time to answer. I never said though, you are not contributing to this community, I assure that would be horrible on my part. I do get your point. I might have exaggerated a little and for that I must apologize. <br><br>Thank you for the link to your other project. Again (with my little experience in electronics) I cannot but admire the design. <br><br>I sincerely hope you were not offended or in any other way annoyed by my comment. I just expressed what was in my head at the time of reading. <br><br>
If you like to get a quick and easy start in electronics, have a look at the Picaxe microcontroller (on which my other scope project is based). www.picaxe.co.uk - typical times - for an absolute beginner! - to get up and running and have e.g. an LED blinking is normally measured in minutes, not hours or days (no kidding). That's what go me started with microcontrollers and re-started with electronics a few years back. There is a very beginner friendly support forum for any questions you may have.<br><br>And no, I don't get any kickbacks from them ;-)
Thanks! I was considering the Andruino, but I am sure this one would be much simpler for a beginner like me :)<br><br>Much appreciated!
The Arduino is very nice platform with a large community. But IMHO the Picaxe has a much easier learning curve for an absolute beginner. The basic circuitry is the Picaxe, two resistors for the program download connection to the PC (using a serial cable or a USB-to-serial converter cable), and potentially one 0.1uF capacitor between power and ground. Can't beat that in terms of simplicity! It's also very inexpensive - just a few $ will get you there.<br><br>The good thing is, once you got you feet wet with the Picaxe (and gained some experience with general electronics while working with it), moving over (or up) to any other platform (Arduino, bare PIC or Atmel or any other microcontroller) will be much easier as all the basic concepts stay the same.
I use visual c# to display my scope screen , your screen is 40+ frames/sec , do you feel your screen flicker ? in my code I use timer to update my ADC data and set timer to 4ms interval , I feel my screen flicker very fast :<br><br>private void timer1_Tick(object sender, EventArgs e)<br> {<br> Graphics g = pictureBox1.CreateGraphics(); // pictureBox1 is picture that<br> display grid <br> pictureBox1.Refresh();<br> // function to display adc data;<br> <br> <br> }
No, my software does not suffer screen flicker. The flicker in your case is most likely due to the fact that you initialize the display (copying the grid) and then draw the traces on a control visible to the user. The drawing takes some time (and the display may update each time you draw a line, making it even slower). A better (flicker-free) method is to draw everything on a hidden control (e.g. a second display hidden behind the &quot;real&quot; display object) and then copy over the complete picture. That's what I use. It's faster, too, because the hidden display does not get updated while drawing.
What bandwidth I can see with this oscilloscope? from 1.3 MHz to ...?(60MHz)? Thanks for answer
The analog bandwidth is ~1.3 MHz. The maximum sample rate is 1 MSamples/sec real-time (for single-shot acquisition) and 20 MSa/sec in equivalent time mode (for repetitive signals). The 20 MSamples/sec means you can display signals up to ~2 MHz frequency (at that frequency they will be somewhat attenuated because the analog bandwidth is a bit lower than that, but you can still display them.)
Can you disclose how you do the trigger level function of your scope , as I want to do a project in my college .
For the trigger I use the built-in comparators of the dsPIC. It has an internal DAC (10 bits resolution) to set the compare threshold (note that it only covers 0V to VCC/2, so the scope has a 1:2 voltage divider in front of the comparator inputs). The comparator is set up so it generates an interrupt when the input rises above the threshold (i.e. compare output going from low to high); that calls an interrupt function which then performs the signal capture. You need to put a jump address to this function in the dsPIC's interrupt table at the proper location (see dsPIC data sheet). There is also a bit to invert the compare output so you can easily trigger on rising and falling edges, respectively. The beauty of all this for the scope is that apart from the voltage divider (two 1kOhm resistors) all the trigger circuit hardware resides within the dsPIC. For details about the comparators DACs etc. please refer to the dsPIC30F2020 data sheet - but basically you just write the appropriate value to a specific address in the dsPIC's RAM.
This is not much of a scope, especially when you are doing digital work. It is slow, the software freezes, the screenshots are not that great. Look around before you buy this. For a few more bucks, you can do better than this.
&nbsp;I just built mine, and I'm a bit disappointed. Here's the problems I have so far:<br /> <br /> 1. The microcontroller gets pretty hot. I think hot enough to burn your finger if you leave it there for more than 10-15 seconds.<br /> <br /> 2. The waveforms in the software will be active for about 5 seconds, then freeze for about 5 seconds, then active again, etc.<br /> <br /> 3. After about 1 minute of constant operation, it freezes. The waveforms are frozen, but the software still works (I can move the sliders, etc). So I think it's a hardware/firmware problem and the microcontroller that is freezing. I have to unplug the USB cable and plug it back in to get it going again.<br /> <br /> Is any of this normal? I've been looking, but haven't found any shorts or bridges in my soldering. Has anyone else had these problems?<br />
Hello iEdd,<br /> <br /> the microcontroller becoming hot is not a problem, but a feature :-) But seriously, this is normal, the Microchip dsPIC30F series is known for that, it uses relatively large power which produces heat accordingly. I should probably add a note to the assembly instructions so people don't wonder. I measure about 65degC on my DPScopes, which is indeed uncomfortable to touch but will not affect reliability (the chips are spec'd up to 125 degC operating temperature).<br /> <br /> The software freezing up is not normal though. I have built dozens of DPScopes so far and had them continuous in operation for days and weeks without this happening, on different computers. Also I have not a single other user report about this happening. As a first step, please try to operate the scope on a different computer and see if the problem persists.
Womai, i bought your dpscope also, and mine does the the same thing with the software, where it will work for a little while, but then after measuring, the waveform freezes, sometimes i cant even see the waveform, i have actually put it into a modded removable hard drive case this way i have a place to put a fan that will hopefully keep it cooler, i dont remember if that fixed it or not, i havent used it in a while, but i have another question, is it possible to not use the +5 power supply from the usb? in other words, is it possible to use a wallwart power supply to supply the power to the board, i saw that there were provisions in your schematics to run on external power, but i couldnt get it to to turn it on with the wall adapter, the i put in the 5v regulator, and the capacitor as well, i just made some rough mods, i painted it, but havent finished the whole thing yet, so if anyone likes i can put pics up when i finish it, it may be a while though
Hello Jeffrey, can you tell me what exactly the marking of your dsPIC is? Especially on the second line, does it say -20E or -30E? And the what is the last line (which is the batch code)? I recently encountered a batch of marginal dsPICs that had some issues (they did not freeze but their ADC was working too slowly once it heated up). That said, this only affected about 1% of the dsPICs I have tested. As for the external power supply, yes, all the hooks are there, you only need to add a 7805 regulator and another 100uF capacitor. Please refer to the assembly guide for details. From your description I suspect you simply forgot to move the power supply jumper to the &quot;ext.&quot; position. (been there, done that :-) Wolfgang
20E/SP 0841262 and i do have it on the ext power setting, so i know that shouldnt be an issue, the light wont blink on when the power setting is on ext, so i have no idea why its not turning on.
If the LED blinks when powered from USB, but not when (supposedly) running on external power, then something is not right with the external supply. Things to check: - is jumper set to &quot;ext.&quot; when trying to run on external supply?<p> - is the supply feeding into the &quot;+&quot; and &quot;-&quot; points close to the 7805 regulator? (not the test points close to the CAL connector)?</p><p> - what is the spec of the external supply? - needs to be able to deliver ~500mA current, and have a voltage of ~9V (you need a bit more than 5V because the regulator adds ~2V drop)</p><p> - use a voltmeter to measure the scope supply after the regulator (the &quot;+&quot; and &quot;-&quot; test points close to the CAL connector (not the points close to the regulator)! The measurement result should be close to 5V (+/- maybe 0.2V)</p><p> By the way, I have added a user forum to the DPScope webpage (go to http://www.dpscope.com --&gt; User Forum, or direct link http://dpscope.freeforums.org/). Going forward this is will be the best place to get help as I check it daily. Out of some reason Instructable stopped sending me notification when a comment gets posted so I may not see it for days or weeks. </p>
&nbsp;Thanks for the reply. I've tried it on my Mac through VMWare and by booting into Windows, but it's the same install. I'll have to try it on another windows machine later.<br /> <br /> Also, wrt to software for mac - you mentioned that it would be good if an individual would get it working for mac/linux.<br /> <br /> I can get your DPScope program running on Snow Leopard with Darwine, which is easy. Just install as normal. Problem is, it doesn't recognise the scope. Are there any clever people out there that can get winehelper to emulate the COM port through the mac's USB? I don't think it should be that difficult, I'm just not that experienced with darwine or FTDI drivers.<br />
I have added a user forum to the DPScope webpage (go to http://www.dpscope.com --&gt; User Forum, or direct link http://dpscope.freeforums.org/). Going forward this is will be the best place to get help as I check it daily. Out of some reason Instructables stopped sending me notification when a comment gets posted so I may not see it for days or weeks when you post here (on Instructables).
I found several c# and c++ programs about pc based oscilloscope , they have buffer size range from ten thousands to store data from adc . If you use a rectangle size said 700x500 pixel to display the waveform , a maximium of horizontal 700 pairs of data to display on this rectangle . But the buffer size is ten thousand long , how can this rectangle accommodate this large buffer size ??
That works pretty much the same as scrolling through a text document longer than one page - only one screen of data (e.g. 700 pairs in your example) is displayed, but there is a scrollbar that you can use to look at different section of the long text (or waveform). The only difference is that the scrolling is horizontal, while in a text file you typically scroll vertically. Often there also is a possibility to fit the full waveform on the screen for a quick overview, of course you won't be able to see every little detail that way - like a thumbnail.
where is the firmware? without it this is nothing but instructions for a commercial proprietary kit.
You are right
I have been using your scope for several months now, and I'm generally satisfied; my complaint is largely offset by the extremely low cost and high functionality.<br> <br> My complaint is a design flaw in the offset voltage. It is reflected in the output across the 1 megohm voltage divider, sourcing several microamps of current. It is not a problem with measuring buffered signals, but it gets in the way of reading sensitive circuits. I had been using it on a high-impedance oscillator in-circuit, and the DC bias would affect the operation of the circuit in a noticeable way. I think that if the DC bias were not present, the circuit would behave better. One workaround would be to set the offset voltage to zero although that prevents reading negative voltages.<br> <br> I think the input circuit needs a bit of a redesign. Offhand I can't think of a good way to do it without going to a full-blown differential input internally biased against VCC/2 which of course adds a couple op-amps to an already crowded (and power hungry) device. Simply floating the BNC ground to the offset voltage instead of tying it to system ground would alleviate the problem on isolated circuits, but grand external ground loops would probably thwart that (i.e. watching signals from the audio output of the computer would short the BNC ground to the PC ground which is tied to the USB ground, etc.)
Probably the easiest solution would be to AC-couple the signal. I.e. add a series capacitor between your point of measurement and the scope input. Depending on your frequency, a ceramic capacitor of 10...100nF should be a good choice. That will float your measurement point and avoid and bias issues. Note that due to the offset voltage the scope trace will not be centered around the zero marker, but that should be a very minor issue. The way the offset generation works was a design tradeoff I decided to make, and in 99% of the cases it won't affect usability at all; on the upside it allows the whole scope to work with just a single +5V supply rail. The clean alternative would have been to add a negative supply rail - could be done e.g. with a voltage inverter. The downside of that would be more components, potentially a larger board, and an increase of about $10 in cost. Given that the aim was to create something simple and very affordable for a hobbyist, that wouldn't have been a good choice in my opinion.
&nbsp;Built the scope and it works well. Very nice design.<br /> <br /> <br />

About This Instructable


375 favorites


More by womai: Electronic Heart (Flashing LEDs) - Mother's Day Project DPScope SE - the simplest real oscilloscope/logic analyzer on the planet DPScope - Build Your Own USB/PC-Based Oscilloscope
Add instructable to: