July 24, 2017 AT 10:10 am

From the Forums: Bryon Miller’s Homemade Feather M0 Oscilloscope | #MakerTools

Thanks to Bryon for sending this in! Check out the ‘scope in operation below and the source code is available here on GitHub.

I have built an oscilloscope using a Feather M0 and 3.5 inch tft display (pid:2050). You can see it in operation at https://www.youtube.com/watch?v=s2gPyz4bXjo. I realize I could get a Chinese kit cheaper than even the cost of the display but what fun would that have been.

I’m pretty happy with the way it is right now but I want to take the scope to the next level. The current problem I’m trying to address has to do with showing individual points across the screen. When looking at a relatively slow-moving signal it is satisfactory to put a pixel at each location representing the time value and the voltage value. But if the signal has a high slew rate (relative to the sweep speed) the voltage at “this” point in time can be quite a bit different that the voltage at the previous point in time. This makes for pixels that are quite a distance apart and thus a display that is difficult to see. I believe the solution is to draw a line between the points rather than just lighting up individual points.

Trouble is drawing lines seems really slow. I’m using SPI since I don’t have the pins to use the 8-bit interface. I’m using SW SPI since my early speed testing showed SW to be quicker. But when I went back to look over my speed testing I rediscovered when I draw individual points SW SPI is indeed faster. But if I draw a line, HW SPI is faster (as long as the line is straight). A straight line is one that has either x1==x2 or y1==y2. I understand that the HX8357 library takes advantage of features of the controller chip that allow drawing n consecutive points faster than n individual points. What I don’t understand is why there would be a difference in speed advantage of SW SPI vs HW SPI for lines vs points.

You can find the GitHub repo here.

Featured Adafruit Products!


3.5″ TFT 320×480 + Touchscreen Breakout Board w/MicroSD Socket – HXD8357D: Add some jazz & pizazz to your project with a color touchscreen LCD. This TFT display is big (3.5″ diagonal) bright (6 white-LED backlight) and colorful! 480×320 pixels with individual RGB pixel control, this has way more resolution than a black and white 128×64 display, and double our 2.8″ TFT. As a bonus, this display has a resistive touchscreen attached to it already, so you can detect finger presses anywhere on the screen. Read more.

Check out all the Circuit Playground Episodes! Our new kid’s show and subscribe!

Have an amazing project to share? Join the SHOW-AND-TELL every Wednesday night at 7:30pm ET on Google+ Hangouts.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Learn resistor values with Mho’s Resistance or get the best electronics calculator for engineers “Circuit Playground”Adafruit’s Apps!

Maker Business — Alibaba to invest $15b in tech, set up research labs around the world

Wearables — Hand beading mimicry

Electronics — Trigger happy oscilloscope?

Biohacking — Biohacking: Visioneer – AI Glasses to Assist the Visually Impaired

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !

No Comments

No comments yet.

Sorry, the comment form is closed at this time.