RS92-SGP: trying to change the frequency with an external reference

In a previous post, I talked about the possibility of changing the transmit frequency of a Vaisala RS92-SGP radiosonde by modifying the settings on its EEPROM. The lowest frequency you can achieve using this method is 400MHz and the highest probably depends on the particular unit, but it is somewhat between 410MHz and 423MHz. There are also reports of very low output power on the highest frequencies (I'll explain why below). Clearly, this can't be used to make the radiosonde transmit in 430MHz, inside the 70cm Amateur band. In fact, from what I've read online, the impression is that it's not possible to modify the radiosonde to make it transmit in 430MHz. However, I wanted to try to feed an external reference to see what happened. Short story: it doesn't work either. However, I discovered some interesting information about the RF section of the RS92-SGP along the way.

Continue reading "RS92-SGP: trying to change the frequency with an external reference"

RS92-SGP: Interfacing the EEPROM to a 5V microcontoller

I've started to experiment with the RS92-SGP radiosonde that I recovered some days ago. The radiosonde has a M95256-W 32KB SPI EEPROM where all the code and settings are stored, since the onboard CPU/DSP doesn't have any flash memory. Several parts of the firmware, including some of the settings have being reverse engineered. Thus, it is useful to interface the EEPROM to a microcontroller to rewrite some settings, perhaps to change the transmit frequency or the radiosonde's ID (the serial number which is also printed on the radisonde's box).

Continue reading "RS92-SGP: Interfacing the EEPROM to a 5V microcontoller"

Arduino aquarium controller

Just a quick note that I've finally put the page for my Arduino aquarium controller. This is a project that I built several years ago to control a small aquarium at home. I built it with through-hole parts on a home etched single-side PCB. Now I've redesigned the project to use SMD parts and double-sided PCB.

Aquarium controller board (front)
Aquarium controller board (front)

Update on phase noise of 27MHz references

This is a follow up to a previous post where I investigated the phase noise of 27MHz references to be used for a 10GHz receiver. Dieter DF9NP has being kind enough to send me a 10MHz 0.25ppm TCXO to do some more tests.

I've connected the 10MHz TCXO to the DF9NP 27MHz PLL and used it to receive the beacon of BADR-5, as I did in the previous post. The phase noise of the 10MHz TCXO + 27MHz PLL can be seen in the following figure.

10MHz 0.25ppm TCXO and 27MHz PLL
10MHz 0.25ppm TCXO and 27MHz PLL

For comparison, see below the phase noise with the DF9NP 10MHz GPSDO and 27MHz PLL. There is not much difference between both. This seems to indicate that the culprit of the phase noise is the 27MHz PLL, as the 10MHz TCXO should be quite clean.

10MHz GPSDO and 27MHz PLL
10MHz GPSDO and 27MHz PLL

Phase noise of 27MHz references for a Ku-band LNBF

Today, I've being measuring the phase noise of the different 27MHz references that I have for my Ku-band LNBF. The LNBF is an Avenger PLL321S-2. I've modified it, removing the 27MHz crystal and including a connector for an external 27MHz reference signal. In my lab, I have the following equipment to generate a 27MHz signal:

  • OCXO/Si5351A kit. This kit includes a 27MHz OCXO and a Si5351A frequency synthesizer. The Si5351A can act as a buffer and output the OCXO signal directly or generate a 27MHz clock.
  • A DF9NP 27MHz PLL and a DF9NP GPSDO. The GPSDO generates a 10MHz signal which is locked to GPS. The PLL generates a 27MHz from the 10MHz signal.

I've used linrad to receive the beacon of BADR-5 at 11966.2MHz using different references for the 27MHz signal. The AFC in linrad tries to compensate for any drift in the reference or the satellite beacon. By averaging, one can get good plots of the sideband noise of the beacon. This is far from a proper lab test, but it gives a good idea of the performance of the references.

Continue reading "Phase noise of 27MHz references for a Ku-band LNBF"

Outputting the crystal oscillator directly in the Si5351

I'm using a OCXO/Si5351A kit as an external 27MHz reference for my LNBF-based 10GHz receiver. At first, I intended to use a buffer amplifier to take out directly the 27MHz cyrstal oscillator in the kit. However, I finally configured the Si5351A to generate 27MHz, as that was simpler.

Taking a look today at the documentation for the Si5351, I've realised that it is possible to configure the Si5351 to connect some of its outputs directly to the crystal oscillator input, acting as a buffer and bypassing all the frequency synthesis stages. To do this, XO_FANOUT_EN, which is bit 6 in register 187 "Fanout enable", must be set to 1. The selector CLKn_SRC, which is bits 3 and 2 of clock control register (registers 16-23), is set to 00 (XTAL source) on reset, so this is already set correctly. It is probably a good idea to set CLKn_IDRV to 11 to get the highest drive strength on the output pin.

Arduino LED driver: prototype finished

Today I've finished my prototype of the Arduino LED driver. I had already soldered and tested all the components quite a while ago, but I ran out of connectors for the LED strings, so I had to wait for more to arrive from China.

This project uses an Arduino-compatible ATmega328P and is able to drive up to 18 regular LED strings using the BCR420UW6 linear driver and 4 high-power LED strings using the AL8808 switching driver. The intended application is programmable lightning, such as Christmas or party lights.

PCB front
PCB front

Continue reading "Arduino LED driver: prototype finished"

Calibrating the S-meter in Linrad

In a previous post, I talked about the GALI-39 amplifier kit from Minikits. Here I will describe the procedure to calibrate the S-meter in Linrad (or another SDR) using this amplifier or any other amplifier with a known NF and an uncalibrated signal source. Leif Åsbrink has a youtube video where he speaks about the calibration of the S-meter in Linrad. However, he doesn't use an amplifier, so I will be following a slightly different procedure.

Continue reading "Calibrating the S-meter in Linrad"

Arduino LED driver: PCBs shipped

This is a quick introduction to my Arduino LED driver project, since the PCBs for the prototype have being shipped from ShenZhen2U a couple of days ago. This project is fairly simple. The idea is to have an Arduino-compatible ATmega328P drive many LED strings, composed of one of the following two types of LEDs: regular or high-efficiency LEDs taking about 30mA, and high-power LEDs modules taking between 700mA and 1A. The applications I have in mind for this project are several lightning projects where a bunch of LEDs have to be controlled, perhaps in a complex way, but without needing much input (or none at all) from the outside world. Christmas and party lightning are good examples.

A total of 4 AL8808 switching mode LED drivers can be installed on the PCB to drive strings of high-power LEDs requiring up to 1A of current. To drive strings of regular LEDs, the BCR420UW6 linear mode LED driver is used. A total of 18 of these can be installed on the PCB. This is as much as you can control with the ATmega328P, as all of the output pins get used.

No USB is included in this project, since the idea is to program it via ISP. In case some interaction with the outside world is needed, the ISP header could be used to interface with SPI hardware. Everything runs off 12VDC which has to be provided by an external switching mode power supply.

PCB images
The PCB images provided by the manufacturer look quite nice

This is going to be open source hardware, so when I have actually built and tested the project I will post the schematics and PCB layouts to Github. Stay tuned for more information.