Demonstrates the (currently limited) capabilities of the lazlo labs digital storage oscilloscope (lzoDSO) prototype. The test probe of the scope is connected to a timer circuit in mono-stable astable configuration so that it produces a more or less defined test signal. There is also a test signal source inside the scope that we need integrate into the firmare to get it working.
Uses an ATmega644 at 16 MHz and the internal 10-bit A/D converter (only using 8 bits).
Yesterday I finished the assembly of the new front panel controller board, which evolved out of the old display carrier board). The circuit signal lines have already been tested (using continuity testing) and I’m not far away from having the prototype be contained inside its case.
In the new board I basically merged the core board with the display carrier board, since there was enough space available. A slight change I introduced is that I adjusted some pin mappings (namely we moved the LCD control lines from port B to D).
Actually I’m right in the middle of assembling a new circuit board I have created for the oscilloscope prototype. This “new” board is nothing more but the core controller board merged with the display carrier board into one.
A friend of mine lend me a HP 54600A (100 MHz dual channel) and I’m so happy and confident that having such a tool will help me to better understand the some electrical effects that are still mysteries to me.
After watching the rant from Dave Jones (from the EEVblog) in his car expressing his opinion on DIY micro controller-based oscilloscopes one might think there is no merit to building such a device. Well, in my opinion there is! Okay, Dave also made this point clear: it is okay to build one for getting your feet wet in the electronics and embedded systems domain. Which is exactly what I am doing.
To further address the criticism of Dave by saying that those DIY scopes usually do not have any thought put into the analog front-end (AFE) or the trigger section. In general I’d approve his observations.
So why is the lzoDSO not going to be a simple DIY scope? Because we actually want to delve down into the dirty details of constructing an AFE and a trigger section that act just like the ones an electrical engineer would expect from a typical digital storage oscilloscope.
Even though these are two of the paramount parts of an oscilloscope, first we will bring our prototype to a state where it can be helpful in evaluation the design of an AFE and a trigger section.
UPDATE: As Dave suggested I started asking around for someone who might pass me his old oscilloscope. If you have one you want to pass on to someone who will gain from even an old analog or digital device: please contact me (see contact) and maybe I can compensate you in one way or the other. Anyways, don’t think this will stop me from continuing to work on the lzoDSO.
After preparing a somewhat more modest presentation of what is already existing from the projects hardware and software (we now call it the prototype), we have finally taken the old “legacy” (no tests) firmware sources and made them work (without having to change anything) on the ATmega644 micro controller board we use with the prototype setup.
Still, there is so much missing but before adding more functionality to the firmware we will try to replace part by part with code that is developed in a “test first” fashion to give us a stable base to work on. But before that can happen will need to refactor some sections of the sources in order to make them testable.
Recently I have been working on my oscilloscope project. Documenting ideas, digging out requirements and restructuring the whole projects documentation wiki. While doing so I realized that the page was totally confusing to new visitors since it does not say that there is no finished scope yet (even though there is a picture of one). What one can see on the pictures is actually a prototype. Until now we did not explicitly say so. This is NOT the final thing.
To address that issue we added a Status section to the start page of the wiki that clarifies the projects state.
Now the interesting part: We created a new page for the prototype which is linked on the wikis start page and moved existing files related to the components of the prototype from /trunk to /branches/prototype-a.
Next step will be to take the legacy firmware we have and adjusted it to make it run on the prototype hardware. When the firmware is ported (basically adjust pin mappings, enable/disable functionality) we will use is as the starting point to get the code incrementally refactored until we replaced everything with test-driven code.
After quiet a while I have started to put my oscilloscope project online. Work is still in progress but I decided it won’t hurt to have online what has been done so far.