Monday, July 9, 2012

Video Blog Episode #17 - Programmable Clock Divider

Totally forgot to post this here!

In this episode we take a look at my brand new Arduino Uno controlling a programmable divide-by-N counter 74HC4059.

Friday, May 25, 2012

Tuesday, May 8, 2012

My experience hitting Hack a Day

On May 1, my post "GPIBUSB For Sale" as linked to on Hack a Day. I figured I would take some time to give everyone an idea as to how much traffic that generated.

In the first 24 hours, the blog received approximately 1100 views. This quickly tapered off the next few days (133 -> 90) and has been in the 20 to 50 views a day since.

Blog view statistics for the past 30 days. Note for 'today' it just rolled over.
Those views generated interest from 7 individuals, from which 8 adapters were sold. For not having a webstore, I'd say that's pretty good.

All together so far, I've sold 14 adapters. One of the last remaining assembled adapters is going towards a group at my University. Now to get assembling some more, and maybe send one to eevblog Dave!

Now what about the other aspects? It was generally well received all around. Only a few negative comments overall. Most of them consisted of people trying to give me real criticism but were unable to communicate it in any reasonable manner. The concerns boiled down to a few main points.
  •  Lack of "proper" driver chips. This wont impact most users. The eventual next version will include these.
  • Lack of SRQ (service request) support. The functionality is there in hardware, just has not been implemented in the firmware. This is on the slate for being added. Since the GPIBUSB features the tinybootloader upgrading to new firmware is simple.
I also got some real help when it comes to some of the implementation. I plan on putting into place some of the suggested changes once I get a chance to fiddle around with that. First I want to get the usb isolator up and going.

Tuesday, May 1, 2012

Video Blog Episode #15 - USB Isolator

In this episode I show the KiCAD schematic for my recently started USB Isolator project.

This is something I will eventually have made, so keep an eye out for this project!

Saturday, April 28, 2012

Video Blog Episode #14 - Audio Based Trigger

In this episode I show off my first electronics project I made just over 1 year ago. The concept was to trigger a separate circuit (such as the shutter of a DSLR camera) using audio.

Saturday, April 21, 2012


[UPDATE] You can find this GPIBUSB adapter on my store at !

[UPDATE Jan 11, 2014] Revision 3 is now available for purchase at

Hello everyone! It's been about 3 weeks since my last post, and about 2 weeks since my last video. One may ask, what's the holdup for everything Steven? Well, part of it was me forgetting to post the latest episode here.


What was this video about? Well, my GPIBUSB adapter is for sale! Now, some of you may be visiting my blog for the first time and have no idea what this GPIBUSB thinger is. Fear not, allow me to introduce to project to you!

My GPIBUSB is an open source hardware project that allows the user to connect test and measurement instruments featuring a GPIB (aka HPIB, ieee488) port to a computer's USB port. This allows the user to remotely control their T&M instruments from their computer!

Now, before we go any further, I'm sure some of you would like to see the source files. You can find everything at


The adapter utilizes a PIC18F4520 microcontroller, and a FT232RL to convert from USB->UART. This means that the GPIBUSB presents itself to one's computer as a serial port, giving you the freedom to use a wide variety of operating systems and programming languages with minimal setup.

One could use this adapter for automated tests. For example, you could log power consumption of your device under test by using this adapter to transfer voltage and current measurement from attached DMMs. Another example could include transferring waveform data from one's oscilloscope to your computer to do further analysis.

GPIBUSB in action in the UK!

And of course, the PCB is made in Canada. All assembly is done by myself, also located in Canada.

Now, for those that are interested in ordering one. At the time of writing, I have 8 adapters all assembled and tested, with parts for another 10 on my bench. Cost is $60 CAD plus shipping. If you are from Canada, add 13% for HST. For shipping, options are either FedEx (both ground and express) or Canada Post. An exact number will be given after you contact me and let me know what shipping method you would like.

Payment is through Paypal.

If you are interested, please email me at scasagrande at galvant dot ca.

Thanks everyone for supporting me, my new business (Galvant Industries), and OSHW!

  • Connect your computer to your instruments' GPIB port by USB
  • USB-B connector
  • Cross platform - works on Windows, Linux, and OSX
  • Cross language - works with any programming language able to connect to serial ports
  • Includes pre-written python classes for easy communication with instruments
  • Upgradeable firmware - Useful to add new features and bug fixes easily
  • Both assembled and PCB manufactured in Canada

Items of note:
  • Currently does not support service request. Will be added at a later date.
  • Contains lead (Pb). Soldering was done using 63/37 solder.
  • All source can be found at
  • Does not include USB cable

Thursday, March 29, 2012

Video Blog Episode #12 - Yihua 8508D Updated Impressions

In this episode I ramble on about various GPIBUSB delays (which have all been solved!) then go on to talk about some updated impressions I have of the Yihua 8508D hot air rework station now that I've used it for a bit.

Sunday, March 25, 2012

Video Blog Episode #11 - GPIBUSB revA vs revB

In this video I show off the revB PCB of my USB-to-GPIB adapter, I compare the board to revA, talk about the reasoning behind some of my decisions, and the mistakes I've encountered.

Tuesday, March 13, 2012

Video Blog Episode #10 - Serial Baud Rate Errors

Woohoo 10 episodes! Thanks for watching and reading so far everyone!

In this episode I talk about how to calculate the crystal frequency that you need for a desired baud rate.

Video Blog Episode #9 - Business and Adapter Updates

In this episode I talk about the business plans that I mentioned in episode #8. I go on about my motivation for starting an OSHW business and the general direction I want it to head in. I also show off all the parts for my usb-gpib adapter that have arrived, with a distinct lack of one important component.

Wednesday, March 7, 2012

Video Blog Episode #8 - Wien Bridge and Pierce Oscillators

In this episode I talk about two types of oscillators: the Wien bridge oscillator and the Pierce oscillator. I go over the schematics a little bit on the whiteboard, and then prototype both on a breadboard, showing the result on my oscilloscope.

Tuesday, February 28, 2012

Video Blog Episode #7 - Yihua 8508D Internals, Operation, and Repair

In this episode I do a semi-teardown and review of my 8508D rework station. Along the way I come across some issues with the unit, and I show the path I take to fixing it.

Friday, February 17, 2012

Video Blog Episode #6 - Yihua 8508D Hot Air Rework Station Unboxing

In this short episode I show the unboxing of my new Yihua 8508D hot air rework station that I purchased from eBay.

In another video I'll show it in action, as well as a quick tear-down.

Monday, February 13, 2012

Video Blog Episode #5 - Decimation and Intrpolation

In this episode I talk about decimation and interpolation (aka down- and up-sampling) of a sampled signal. I go over how you would accomplish this, the effect of these actions in the frequency domain, and what you need to do to correct for the introduced errors.

Saturday, February 4, 2012

Video Blog Episode #4 - Signal Sampling

In this episode I talk about how you do not necessarily need to sample at 2x the maximum signal frequency.

Wednesday, February 1, 2012

Bootloader solved!

Despite the monitor issues I was having, I've managed to a bootloader running on the adapter. I spent a little bit of time today moving around some traces to make space for a reset button for the bootloader.

Everything is looking really good now, so I'm back on track for releasing all the source, and with that, making the adapter available for purchase!

I've also gotten a few more Canadian PCB manufacturing quotes, but I'm still waiting on a few more. We'll have to see what the final decision is going to be...

PS I got a new monitor, so hopefully no more rage-inducing screen flickering for me!

Tuesday, January 31, 2012

USB to GPIB Adapter, OSHW

I've decided to release my USB to GPIB adapter as open source hardware! I'll be releasing everything under the Creative Commons Attribution-Sharealike 3.0 license in the coming days.

I would probably be done packaging up the files if it weren't for my monitor being on the fritz. It makes it hard to work when half of your screen randomly decides to stop working.

I want to get a bootloader in the system too allow for user upgradeable firmware. Assuming that goes well (and I get a new monitor!), we'll have a nice oshw adapter!

With that out of the way, I also want to let everyone know that I'll be selling this adapter when I release all the source. I haven't completely decided how I'm going to go about that, but I'll be sure to keep everyone posted.

Saturday, January 28, 2012

Video Blog Episode #3 - OSHW Function Generator (Part 1)

In this episode I introduce my open source hardware function generator.

In part 1 I show some of the preliminary experimental work I did to get a feel for how to use direct digital synthesis (DDS) chips.

Saturday, January 21, 2012

Video Blog Episode #2 - GPIB Protocol

In this episode I talk about about how the GPIB protocol works and a little bit of the history.

We take a closer look at my USB to GPIB adapter to see how I implemented the protocol, and talk about a few of the things I did wrong in RevA.

Saturday, January 14, 2012

Video Blog Episode #1 - USB to GPIB Adapter

Hey everyone, I just published my first ever Youtube video today! The video quality might be a little poor, but I did the best I could with what I had.

In this episode, I talk about my USB to GPIB adapter project. It was my first PCB manufacture, surface mount soldering, and microcontroller project!

Hope you guys enjoy the episode.

Monday, January 2, 2012

So, you want to learn electronics?

I get asked this question a lot from my friends. "Steven, how did you learn so much about electronics?". Now before we start, I don't know everything about electronics (far from it) and I acknowledge this. I just know much more than many of my friends.

Let's back up to when I first started. This wasn't that long ago. Summer 2010 in fact. I was working during the summer for Prof Cory in his freshly moved lab at the IQC. I remember the one day he was showing myself and another how to use the Network Analyser. He asked me a few basic questions about electronics and I was completely unable to answer. Sure I knew Kirchoff's circuit laws from class, but anything beyond that was out of my knowledge. At that point he looked at me and said that I need to take a formal electronics course starting the next term.

This takes us to Sept 2011, start of my 4A term. Here I took a second year engineering electronics course. It started off as basic as it gets: Kirchoff's laws. My goodness did that course go quickly. We covered the basics of all sorts of things, including non-ideal operational amplifiers, filters, and DACs. This course was 4 hours a week of lectures, more than any other course I've taken (standard is 3).

This is where I'm going to stop and make a point. This course gave me the solid foundation required to continue on and progressively learn more advanced concepts. The reason I'm bringing this up is because I see people going out and deciding that purchasing an Arduino and associated "project book/kit" is the best way to go about learning the basics of electronics. What I feel ends up happening to most (not all!) of these people is that they simply reproduce the projects found in their project box/book/kit. Most of these "project idea" books aren't going to go into any theory detail to actually teach you about what is going on. They are no match for a quality textbook.

The Arduino is a development platform. Of course its for also for learning, but its not going to give you that solid foundation. You're not going to learn what the rolloff of a Nth-order Butterworth filter is. You're not going to learn about opamp input bias currents. What you will learn is how to flash a few LEDs or drive a motor using a microcontroller. Sure, with that you'll probably learn about charlieplexing and H-bridges, but you're not laying that solid foundation.

I see plenty of posts on the Internet of these people asking "where do I go next to further my knowledge?". The majority of the responses that I see go along the lines of "get a generic microcontroller development platform". Although one would gain more skills from broadening their platform experience, one is not furthering their knowledge of electronics. All you are doing is learning the specifics of some different platform.

Let me remind the reader that I have nothing against the Arduino "ecosystem" at all. I think its a great platform for rapid prototyping and for learning about microcontrollers. I just don't think that it is the best starting point as it does not build that solid foundation of electronics knowledge. If you know the basics, the question of "what do I do next?" never comes up because you're continuously reading and learning about new things.

Alright, back to my classes. After that course I moved onto my 4B term. Here I took another analog electronics course, this time a third year course offered by the physics department. Although it was third year, it was still a "introductory level" course (there are no 1st or 2nd year electronics courses from this department). The reason I took this course is because there was a large focus on transistors, something that was not included in my previous course. There was also a project component. If you've read my previous entries, you know that my project was an audio trigger for a DSLR camera.

I learned so much from that project. I learned about designing an entire project from start to finish. I learned about single supply opamps and their limitations. I learned how a device with high current draw can mess up your opamps if not provided with adequate decoupling capacitors.

Most importantly, I read. I would spend my time at home reading blog posts and wikipedia articles on various electronics topics. I started watching the EEVBlog to learn about a wide variety of topics and issues. If I walked into a room with a bunch of textbooks, I'd look to see if there was one on electronics to flip through. This is why I've been able to help my friends on a wide variety of electronics related issues. I've build that starting foundation and just kept reading, even if the topic wasn't of immediate project relevance.

After this course I went on to take other courses. During the summer I took "Intro to Digital Signal Processing" and just this past term I took "Intro to Radio Frequency and Microwave Design". So I went from next to zero knowledge to taking a graduate level microwave engineering course in 1 year. Now I'm not saying everyone go out and enrol at their closest University, but the point is I was able to do it (while taking other courses!) because I built that foundation.

In summary, getting an Arduino is not a starting point for learning about electronics. Its a great way to learn about microcontrollers and rapid prototyping. Instead, get yourself a good textbook on the subject. An oldie but a goodie is "The Art of Electronics" by Horowitz and Hill. Yes, its a textbook. Yes, there is some math. But it contains so many highly educational sections you will benefit from it.

So, you want to learn electronics? Learn the basics, and afterwards get an Arduino.