Welcome to my website!

I am currently working as a software engineer. During my regular work hours, I gather requirements, design systems and of course write a lot of code. In my spare time, I like to work on both software and hardware projects. My blog covers a wide spectrum of topics from software development, computer algorithms to embedded controllers and general electronics.

With a master’s degree in Electrical and Computer Engineering from the University of Wisconsin – Madison, I am interested in software and hardware engineering and system integration.

For more information, you can contact me at kerryw@uwalumni.com (due to the volume of inquires I receive, I may not be able to respond to every single email).

Be Sociable, Share!


  1. Sudhir Gupta says:

    Hello Kerry,

    I am impressed with the clarity of your presentations. You remind me of my favorite student Aaron (originally from China). I will like to keep in touch, if it is OK with you.

    Kind Regards,
    Sudhir Gupta

  2. fixduino says:

    hello Kwong. nice to visit Ur website.according your project in http://www.kerrywong.com/2013/03/15/temperature-and-humidity-logging-over-ethernet-i/, i hope you will help my project…

    how to make arduino to update database on mysql? thx..
    simple example:i can update data analog A0 to table on mysql.thx

    best regards

  3. Mehdi says:


    I start to use your lib and I think I find a BUG. When I use your function SPISendReceive() with Dat Buffer Commad more that 16 bytes (for example 36). I get an Error code (-1) in SPIDataTransferStatusDef and the Number of Byte Received attributs take a big Value incorrect like this:

    I can send to you a gdb trace of it .


  4. Sara says:


    I have a question about PCA9548A in your projrct in
    Did you use any specific breakout board for it?


  5. […] proporvi circuiti che non ho realizzato e testato personalmente e vi rimando quindi al blog di Kerry D. Wong (sempre molto interessante!) dov’é disponibile una buona base di partenza per […]

  6. Israel says:

    Hello Kerry.

    I watched your speed of light experiment and found it very interesting. I would like to perform one in my home. I have an oscilloscope, but not sure I can build the pulse generator and the photomultiplier myself. Is it possible to purchase them from you? I need 2 or 3 sets.


  7. Israel says:


    Do you know if I can use a photodiode only for the speed of light experiment? I understand I need a fast rise time.


    • kwong says:

      Didn’t see your earlier comments. Anyway, you will need to use a PIN photodiode or avalanche photodiode (APD). That said, if your measurement distance is sufficient large (e.g. a round trip distance of 20 meters or longer), then the rise time requirement is not critical as it will not significantly affect the accuracy of the measurement.

  8. Israel says:

    Hi Kerry.

    Thanks so much for your answer.

    I am doing an experiment checking some characteristics of the speed of light. for the experiment I need to check the difference in the arrival time in picoseconds of an electromagnetic signal to 2 receivers from as far as possible source.

    I have a strong laser which I can see the rise time on my scope from 3 kilometers using this photodiode:


    the problem is that when I turn on the laser, the rise time is very slow, even from 1 meter. I did not use a pulse generator.

    my questions are:

    1. Can I do my experiment without the pulse generator? If not, do you know which one I can use?
    2. Is this photodiode good for a fast rise time?
    3. Do you know of any way I can receive a specific signal from a radio station (like the “beep beep beep” BBC transmits every hour) and show it on my scope in a nanoseconds accuracy? I tried to connect to the earphone plug, but the audio pulse is too wide and I cannot pinpoint it behind 10 microseconds.

    Thanks a lot, I hope I do not take too much of your time,


    • kwong says:

      Hi Israel,

      I did a quick check on the photodiode you used (BPX61), and it’s rise time is only rated as 0.02 us (or 20 ns). It is too slow to capture the rising edge of the pulse from the pulse generator (the rise time is sub nano second). To answer your questions:

      1. You will need to use a pulse generator with a very fast rising edge. You can either build your own (like the one I built) or using a commercial unit that is capable of generating pulses with ideally 100 to 200 ps risetime in order to obtain reasonable accuracy.

      2. As mentioned earlier, this photodiode is too slow.

      3. Not sure what you try to do there, but what you could do is to trigger it on a scope and record the waveform and then analyze it afterwards.

      Hope it helps!

  9. Israel says:

    Hi Kerry.

    Thanks like always for your response.

    I have another question: how can I measure the wavelength of a light pulse with a scope? can I do it with a photodiode? Do I need a special one? Is it possible to set the scope to trig for a certain wavelength pulse and in this way to pinpoint the exact arrival time of the pulse?


  10. Richard Mogford says:


    I found your page about the Amrel PPS-2232. I have a very similar unit, the PPS 18-4D. I am having trouble getting the GPIB interface to work. It receives commands OK, but I cannot read data back from the unit.

    Could you please contact me?


  11. Hello sir,

    My name is Vishnu M and I’m from India. I would like to thank you for inspiring me (unknowingly) to create my own project website. This is my favourite personal (hobby) project website on the web. I really love the way you describe your projects and document them with relevant pictures, diagrams and code. The Arduino libraries you created are very helpful and I’m following you on Github. I’m not fond of teardown videos but still I’ve subscribed to your YouTube channel. Also I’ve listed your blog/website in my website’s ‘Favourite Project Websites’ section (hope you don’t mind).

    Thanks. :)

  12. Mark Malkin says:

    Re teardown and information on the HP 5350B microwave counter. Thanks for the excellent information. Is the display brightness adjustable – and how is this done? I cannot find a reference to this in the manuals. The 5350B already has LED’s for illumination but they are not at all bright. is this adjustable in software or hardware? Thank You

  13. Peter says:


    I just wanted to say how much I enjoy your videos. Great content, well organized, and well presented. I appreciate your objective approach to things. There are far too many youtube electronics channels with blatant biases or flat out misinformation, so it was a wonderful surprise when I came across your channel about a year ago.

    It’s funny, I think we have similar taste in test gear- I really like Wavetek gear, too, and I’m very fond of the “brown era” Keithley instruments (though really I like all Keithley stuff- haha). I love being able to read the displays from across the room. I’m in school at the moment, and have assembled a small bench setup in my room with 2 196s, a 175A, a Wavetek 275, Tektronix 2465B, and a Power Designs TW5005T power supply.

    Anyway, just wanted to leave a comment and thank you for taking the time to make your videos. Keep up the great work.


  14. Vahid says:

    Hi Kerry,

    I’d like to thank you for your magnificent videos and all the interesting topics you choose.
    I am a mechanical engineer and have been studying software design and programming on my own. I am new to electronics and hope to learn more and more and never stop.
    I really enjoyed the video on Doppler Microwave Transceiver and it made me think of the the HY-SRF05 ultrasonic distance module which can be used to get distance. I thought it might be interesting to try to change it somehow to use it as a speed sensor!!! could it be done?
    I wish I had your passion and 10% of your equipment.

    best regards

    • kwong says:

      Hi Vahid, technically speaking yes. But because sound travels much slower and the relative low power of ultrasonic transceivers, it would be very difficult to measure object moving faster than your typical waling speed using similar method by bouncing sound wave off the object.

      If the object emits sound (e.g. car engine or plane engine, etc.) you can actually calculate the speed of the object passively using Doppler effect via only the difference between the approaching frequency and the departure frequency.

  15. Avi says:

    i need code of Matrix Multiplication Performance in C++ using Standard Matrix Multiplication (Single Threaded) for some experiments. awaisfarooq700@gmail.com is email id i will b very thankful to you!!!!

  16. PA1CSL says:

    Hi Kerry,

    Thank you for the HP8566B documentation!
    I recently bought a HP8566B with the slow bit-slice processor (HP9845A). Of coarse I like to apply a MC68000 upgrade, so also bought a 85660-60245 CPU board, but not sure if other boards need be upgraded, modified or calibrated as well? Aware that the Memory/HP-IB boards will not be necessary and the Instrument-Bus and HP-IB connectors are separated and need brackets. Could you send me photos of these 2 – flatcable/connector/bracket – constructions?

    There actually exists a HP upgrade kit for this, but was unable to obtain the details. So, do you have information which could support my intentions?


Leave a Reply to Sudhir Gupta