!AVerMedia is an application to control an AVerMedia USB FM radio. Unfortunately the Castle and Simtec USB systems present completely different interfaces to the programmer, so I have written two versions. Make sure you use the correct one! Versions with a suffix C are for the Castle stack (Iyonix or Castle podule); versions with a suffix S are for the Simtec stack (USB-enabled UNIpod or Simtec USB podule).

If you install this programme in your Apps folder (and, for the Simtec version, install the !03-00-00U application where described), you should find that it will start automatically whenever an AVerMedia USB FM radio is plugged in. You will also find that it quits automatically whenever the radio is unplugged, so don't be surprised if you try to run it when there isn't a radio and find it doesn't run!

You will need FilerHRun, which can currently be found at http://www.zen22994.zen.co.uk/musus/miscfw.htm Make sure to install !FilerHRun where the author suggests.

!AVerMedia can also be controlled from another application by Wimp messages. Details are in the "ControlAPI" file. The same protocol drives the !DRU-R100 application; the only difference is the message numbers. This means that it is possible to have one DRU-R100 radio and one AVerMedia radio on the same computer and drive them independently. There is an archive of example and test programmes here. The examples will enable you to do simple but potentially useful things like using !Alarm to tune and turn on the radio at particular times. Candidate for the world's most complex and expensive clock radio? :-) Certainly you could record a series of radio programmes from different stations.

!AVerMedia is freeware, and is released under the GPL. This means that you are free, not only to use it, but to alter it if you wish. Please consult the file "gpl" inside the application, which details the terms of the license.

The radio itself is as simple as can be. The audio output is analogue only (there is no audio over USB); it isn't possible to change the level of the audio output; and it doesn't do RDS. All one can do to the radio is tune it, turn it on and off, and ask it whether it's receiving a stereo signal. Even the tuning is only done by a number which doesn't bear any resemblance to the frequency in MHz. The radio knows nothing of station names. Tuning in MHz and by name is entirely the province of the !AVerMedia application. Please bear the simplicity of the radio in mind when you're asking for any enhancements!

Like all radios, this one benefits from being given a good signal. Its own aerial will struggle to produce a good signal, particularly since it's going to be next to at least one computer, generating all sorts of electrical interference. All you can do is move the aerial around to get best results. As far as possible from the computer(s) is a good start. You may find that a USB extension cable will help. On the supplied aerial/audio cable, make sure that the plug that has both the black cable and the wire aerial is plugged into the radio end, not the sound card end. Alternatively, headphones seem to work quite well - but you will probably need headphones with a volume control, otherwise you may well find them too loud!

Iyonix users - IMPORTANT!

You must have updated your ROM to at least version 5.11 (and, realistically, you should be running version 5.18), otherwise this programme WILL NOT WORK. There is one known remaining bug in the USB stack that will leak a handle if the radio is unplugged while the app is still running. In turn, the result will often be a "Device not found" error at shutdown, which stops the shutdown process there and prevents power down until the error box is acknowledged. Remember to shut down !AVerMedia before unplugging the radio.

UNIpod and Simtec USB podule users - IMPORTANT!

At time of writing, there is a problem that prevents operation of the radio if the USB_HIDInput module is running. The radio claims to be an HID (an odd decision, but there you go). USB_HIDInput sees this HID and, although it doesn't claim the radio (it is still free), nevertheless it holds on to the input endpoint, thus making it impossible for my (or any other) application to communicate with the radio. The solution for now is to *unplug usb_hidinput, which clearly you can only do if you aren't using any real USB HIDs (keyboard, mouse, joystick, etc.) The long term proper solution is for us to lobby Simtec to fix their USB stack to stop it holding on to things it doesn't understand.


You can download !AVerMedia for the Castle stack here and for the Simtec stack here.

For support: I'll see you in the comp.sys.acorn.apps newsgroup :-)

Revision history

1.00C/1.00S 2006 February 20 First issue

1.01C/1.01S 2012 August 20 Contact information updated

Page last updated 2012 August 20