When I teach the Electronics Measurements class at the TechShop in Austin, I take a lot of pride in showing off the Mixed-Signal Oscilloscope. We have a Rigol DS1102D as well as a standard DSO. To help illustrate the power of the combined digital and analog channels, I created a Mixed Signal Oscilloscope Demo Board, based on a counter, that has an issue that could be turned on or off. This board is also my first time making use of OSH Park’s PCB service.
Now that my boards are back, I had to make a few hardware corrections and add a few features to the software. The github project has all of the files you need if you want to create your own.
Fixed EAGLE Mistakes
There were two major mistakes on the PCB.
- AVCC was tied to ground. This caused a seeming short at power up. What was really strange was the board would draw up to 800mA and then drop down to 200mA. I forgot about the PTC. Looks like it was working.
- TX and RX were not correct for the FTDI header. I had to swap TX and RX to communicate with the board.
Other than those two faults, the board works as expected.
The code now supports the 3 on-board push buttons. Mode toggles the “stuck bit” error while fast / slow change the rate which the clock runs. Also added a random PWM when mode is enabled. Right now it is only turned on when the bit is stuck. May change that behavior.
All changes are committed to the github project.
Firmware Operating Instructions
There are three buttons to modify the output from the board. The fast and slow buttons speed up and slow down the clock. There is an upper limit and lower limit to the speed and holding the buttons have no effect. The “mode” button, currently, turns on a stuck-bit error.
The standard output is an 8-bit counter. In this screen shot bit 1 is displayed both digitally and in analog.
Speeding up to the max speed gives a clock rate of about 400Hz, meaning bit 0’s clock rate is about 200Hz. This show also shows the stuck bit on D1. Additionally a random PWM is output on Arduino Pin 11 (MOSI).