Ultrasonic Transducers – measurements and horn design

Lindsay Wilson writes:

Over the past few years, I keep getting inquiries from people asking about how to measure the resonant frequency of these transducers, how to design horns, tune the length etc. I decided it was time to do a video about the entire process – hopefully I’ve covered everything relevant. If you check the YouTube description, I’ve put time links to each individual section of the video.

Project info at imajeenyus.com.

Websphere MQ – Copy messages between queues

If you administer a Websphere MQ server, it may happen that someone ask you to manage the messages: create a backup, move messages from a queue to another one…

The main administration tool for WMQ, MQ Explorer, doesn’t support those operations; you can only browse the queues or send test messages:


I recently discovered a tool, freely released by IBM, named qload.  This tool allows to move/copy messages between queues or transfer them between a queue and a text file.

qload’s source code is available on Github, in the ibm-messaging repository.

Let’s see some examples of its usage:

  • move all the messages from queue IN.QUEUE to queue OUT.QUEUE, qmanager QM.TEST
  • copy all the messages from queue IN.QUEUE to queue OUT.QUEUE,qmanager QM.TEST
./qload -m QM.TEXT -i IN.QUEUE -o OUT.QUEUE
  • save all the messages in queue IN.QUEUE, qmanager QM.TEST, to the file msgs.txt
./qload -m QM.TEXT -i IN.QUEUE -f msgs.txt
  • load all the messages from file msgs.txt to queue IN.QUEUE,qmanager QM.TEST
./qload -m QM.TEXT -o IN.QUEUE -f msgs.txt

It’s of course possible to filter the messages. For example the parameter -r allows to specify the number of the message or the range of messages to be included in the action:

./qload -m QM.TEXT -i IN.QUEUE -f msgs.txt -r 10..15

saves in the file msgs.txt only messages with index between 10 and 15.

Teardown and analysis of microwave (26.5GHz) electro-mechanical step attenuators

Teardown and analysis of microwave (26.5GHz) electro-mechanical step attenuators from The Signal Path:

In this short episode Shahriar takes a close look at a pair of Hewlett Packard microwave electro-mechanical step attenuators operating up to 26.5GHz. Mechanical attenuators offer excellent repeatability, low insertion loss and nearly limitless linearity. The teardown reveals that the construction of both modules is very similar on the microwave path. In fact, the lower-frequency model still uses the same attenuator components. The newer model employs electronic control circuity while the older generation attenuator uses purely mechanically controlled DC path. Both models use a solenoid style actuators for step attenuation control.

DIY laser scanning microscope


Venkes shared detailed instructions of how to make a DIY Laser Scanning Microscope (LSM):

The reason I was thinking of a DVD pick-up is that it houses a laser and a lens capable of projecting a spot of visible laser light small enough to “see” a bit on a DVD. And those bits are very small (320nm)! Furthermore it houses coils to steere the lens (sideways and up and down) and a detection part. This steering is necessary to be able of following the microscopic narrow tracks on a CD or DVD while spinning (sideways moving of the lens) and follow height differences while spinning (up and douwn movement of the lens). You can imagine that folowing the track must be very precise considdering the turning speed and the bit size! These characteristics are exactly what we need!

Project instructables here.

Check out the video after the break.

BlackMagicProbe SMDprutser style


Sjaak has published a new build:

When you get started on ARM microcontrollers things are very overwhelming at first… After coping with the first few hurdles like installing a toolchain and IDE, the next part should be getting a tool to program the chip. Many vendors have some kind of bootloader burned in the chip, which can’t be altered. Some manufacturers use serial, some use USB (mass-storage, DFU or HID). Unfortunately every vendor has it own implementation and they aren’t compatible with each other and may require special hardware. This can make it hard(er) for you to change between vendors. Another downside is your code can only be debugged by ‘printf” and not ‘realtime’.

More details at smdprutser.nl.


ESP32 (11) Led candle

After having published my previous article, I received some comments asking what was the purpose of a random number generator, like the one included in the esp32 chip.

Random numbers are widely used in cryptography and a good random number generator is very important to assure an high level of security, as well-explained in Cloudflare’s blog post. This is the reason why Expressif decided to include a RNG as an hardware peripheral within the esp32 chip.

Today I’m going to show you a more frivolous use of random numbers: I’ll use them to turn a led on/off, simulating a flame burning with random movement.

I’ve already explained in a different article the functions the framework includes to perform basic I/O, so the source of this example (as usual available on Github) should be easily understandable.

The led can be connected to any I/O pin: via menuconfig you can specify the pin you chose. To limit the current, I connected a 100ohm resistor in series with the led:


The random numbers the chip generates go from 0 to 4294967296 (the register is indeed 32bit wide). I therefore needed to scale the numbers to obtain an on/off interval between 50 and 500ms (4294967296 / 9544371 is about 450):

uint32_t getRandomDelay() {
  uint32_t random = esp_random();
  return 50 + random / 9544371;
Random numbers have an uniform distribution, this means that each number in the interval 0 – 2^32 has the same probability to be generated. The function above is not the best mathematical way to scale an uniform distribution, but for my purpose – light a led – I think it’s ok ;)

Here’s the final effect:


App note: Improve flicker performance of direct AC driven LED fixtures with self valley fill


Application note from ON Semiconductors on LED lighting flicker caused by its own AC supply by adding an improved self valley fill circuit. Link here (PDF)

To provide power to LED loads from AC input, SwitchMode Power Supplies (SMPS) are generally used since LED need to be driven by regulated current. Consequently, LED lighting solution have to inherit the design complexity of a typical SMPS which includes designing the magnetic component, handling of Electromagnetic Interferences (EMI) as well as implementing Power Factor Correction (PFC). Direct-AC Drivers (DACD) for LEDs provides a new way to drive the LED load from an AC input with much simpler system architecture while satisfying EMI and power factor (PF) requirements with minimal effort. However, its drawback is flickering of light output at the zero crossing of AC line voltage due to loss of current to the LED load.

Though flicker is not always obvious, it can still cause headaches for a small percentage of people exposed to flickering lights for long periods. This is a major issue for offices, schools, stores and other brightly lit commercial and industrial spaces where people spend a lot of time.