Transitioning to a blog

I’ve been contemplating changing the format of my website to a blog for quite some time. It’s taken some self-motivation on my behalf, but I’ve finally taken the plunge. There are a number of features that I’ve wanted, but haven’t included until now, including:

  • Comments
  • Uniform style
  • Efficient categorization
  • Ease of content creation
  • RSS

This format is new and different for me (I’ve been hand-coding all of my pages up until this point), so please excuse any formatting and stylistic issues. I’m going to redirect all of my older pages to the new posts, so hopefully there won’t be any issues with broken links. As always, I appreciate any and all feedback, so please free to let me know if the website looks horrendous or if there are any typos that pop-up.

PIC18F2550 KS0108 Graphical LCD Oscilloscope

Using the PIC18F2550 GLCD Text Test as a basis for further experimentation, I put together a simple and accurate graphical oscilloscope using a PIC18F2550 microcontroller and a AGM1264F graphical LCD. The oscilloscope measures the average voltage, the maximum voltage, the minimum voltage, the peak-to-peak voltage, and the zero-crossing frequency for a DC signal over 100 samples. The oscilloscope has a built in edge trigger function that can be set to capture on rise or fall (or disabled altogether). The time scale for the display is variable and can be easily redefined using the changeTimeDivision function. Likewise, the voltage range can be change to 0-5V, 0-2.5V, and 0-1.25V. The main limitations of this oscilloscope include relatively slow acquisition time and sampling rate (~60kHz) and the fact that the inputs are limited by the constraints of the internal ADC. However, it is a very nice display and I highly suggest you view the videos to see it in action. Read More

PIC18F2550 MAX114 4-Channel ADC

I have experimented with MAX1241s and MAX144s in the past, hoping to find an external analog to digital converter (ADC) that will allow for multi-channel high-speed data acquisition. The MAX114 is an 8-bit four-channel ADC that allows for up to 1Msps (1,000,000 samples per second) with a parallel 8-bit microcontroller interface. This project investigated the viability of developing a high-speed multi-channel oscilloscope using the MAX114 and the PIC18F2550. Read More

PIC18F2550 MAX144 2-Channel ADC

As discussed in my MAX1241 project, there are a number of advantages for utilizing external analog to digital converters (ADCs) in a project’s design. The MAX144 is a 12-bit two-channel ADC that has a “7.4µs successive-approximation ADC, automatic power-down, fast wake-up (2.5µs), an on-chip clock, and a high-speed, 3-wire serial interface.” All of these contribute to a wonderful, fast, two-channel analog-to-digital converter, which can be utilized in a number of situations where high-speed (108ksps) data acquisition is necessary. Read More

PIC18F2550 MAX1241 1-Channel ADC

There are a number of advantages for utilizing an external analog to digital converter (ADC) in a project’s design. The internal ADC of the PIC18F series is limited to 10-bit resolution, while much higher resolution ADCs are available. In addition, high-speed multi-channel conversion is possible utilizing multiple external ADCs and multi-channel ADCs. The MAX1241 is a 12-bit single-channel ADC that has a “7.5µs successive-approximation ADC, a fast track/hold (1.5µs), an on-chip clock, and a high-speed, 3-wire serial interface.” All of these contribute to a great compact analog-to-digital converter, which can be utilized in a number of situations where high-speed sampling (73ksps) is required. Read More

PIC18F2550 USB HID IO

After completing the PIC18F2550 USB HID Oscilloscope, I decided to expand upon the project and firmware to include multiple analog inputs and digital i/o. The base firmware for this project is the same as the PIC18F2550 USB HID Oscilloscope‘s; however, more features have been added that allow the user to access the PIC18F2550’s Port B for digital i/o. In addition, the firmware now allows the user to access the AN0-AN4 analog pins for monitoring and data acquisition. Read More