Maximite and the ESMC receiver

I’ve been playing with the Maximite to control the Rohde and Schwartz ESMC receiver I recovered from flood damage (see Silicon Chip Magazine – June 2011). These receivers are pretty much just grey boxes, some versions have a nice digital front panel, mine don’t – it’s all controlled be software via the RS232 port. Here are some of the shots of my efforts…

This is the interface, just a MAX232 on that little board does the level translations to RS232. The cable goes off to the serial port on the ESMC receiver (19200,8,N,1). The ribbon cable at the top comes from the Maximite to a ‘breakout’ board, which is just a strip of veroboard with a single in line pin header installed. Each of the 20 I/O pins are mapped to the connector. Connections (right to left) are GND, PINs 1-20, 3.3V, 5V, GND. I installed the bargraph LEDs and resistor arrays (those black stripes below the LEDs) as an easy way of showing what was happening on the port.


So far I’ve implemented fixed frequency monitoring (20-650MHz), bandwidth control (500Hz up to 100kHz!), demodulation control (FM, AM, LSB, USB, etc), scanning and a command line control.

This is the shot of the screen with the scanning mode functioning, if the signal breaks through a set level, it’s frequency is recorded on screen. Each printout is cascaded up to ten levels down the screen to reduced clutter. The scale on the left of the screen is not accurate by the way!! The current frequency and signal level are at the bottom of the page. The graphing, spectrum analysis scrolls from the left to the right in a continuous loop.



Scratch Built Maximite


After two weeks on holidays in Tasmania, I was itching to get back to the soldering iron. Here’s my latest Maximite, built on a PCB made from the original Gerber PCB files (thanks Trippyben!) with a 32MX795 chip on board and various support parts. If you build this way, you will need the PicKit3 to initially program the PIC. The Altronics and Dontronics kits are pre-programmed.

Notes on my construction…

Soldering the PIC. If you’re accustomed to soldering it is quite easy, believe it or not. Just allign the PIC with Pin 1 to Pin 1 on the mask, tack a few corners and solder away. Firstly i ran some liquid flux down the row of pins I was a bout to solder, then I ran the iron gently down each line of pins, using a reasonable amount of solder. This produced a few bridges, especially at the end of the row, which i cleaned up with some thin solder wick. Overall, I was happy with the result. Silicon Chip Magazine in March this year gave some instruction on soldering this type of chip.

Programming – be aware that the PicKit3 will not fit over the ICSP pins once the keyboard socket is mounted on the PCB (see photos above). I remedied this with a short jerry-rigged extension lead, which now resides with the PicKit for future use. See the pictures above.

Initially the PIC programmed all right but would not start up. I immediately though my soldering wasn’t up to scratch but it appears that there is a problem with the Core voltage filtering. My build, like a few others, would not kick over with the Vcap 10uF capacitor, C5 – even though it’s measured ESR was at around 0.3 ohm. This has a work around with a 22uF Electrolytic capacitor between the positive lead and the 3.3V supply, this sort of kick starts the Maximite on power up. I will be replacing the 10uF/22uF combination with a ceramic type mounted right next to the chip when I get time and hopefully this will be a better fix.
As far as the ability to program but not to run… this is not unexpected as the clocking regime is different internally for programming as it is for running.

Once it was running, I upgraded from 2.1 to 2.4 using the USB upgrade method.

I used an LM3940-3.3 in place of the LM1117T-3.3 regulator specified, this works but you need to contort the legs into the different holes. The LM1117 goes (L-R) Gnd, Out, In whereas the 3940 is the standard In, Gnd, Out. My regulator looks like it’s part way through a game of Twister. I also screwed a bit of aluminium to the 5V regulator to help it with the thermal load when the supply voltage is 12V.

The SD card socket has to be the original specified (from Altronics) so it fits the footprint on the board. I quite like it with its spring loaded eject. The case is also the original specified from Altronics.

The VGA connector sticks out a fair way from the back, which means that if you want to cut out the rear panel to accommodate it, there is very little plastic left. My case has the rear panel permanently missing!

Oh, and that grey dongle looking thing sitting on the VGA connector is a DB9-15 plug to RCA socket for getting composite video out to my monitor.

Any questions? email me.

Hardwired UB-Mite

Well, I did have a bit of time up my sleeve, and just couldn’t leave it alone.

 The top photo shows the upper side of the UBW32 mounted of a proto-board from Jaycar. The cable on the left is composite video to a monitor, top cable is the PS2 keyboard interface, power and USB connected on the right and you can see the SD card sticking out under the board on the bottom. The two red LEDs on the proto-board are as per the Maximite circuit.

The lower photo shows underneath with the point to point wiring and the SD card socket. The pinout of the SD Socket is, for the most, 0.1” and so it sits nicely on the board.
The SD card socket was salvaged from one of those multi-card readers designed to go in the 3.5” drive bay of a PC.
Maximite uses the UBW32 USB connection (mini USB)

No 26 way I/O socket or audio out yet.

A few notable notes….

All I’m really doing here is breadboarding the Maximite using the UBW32. All the necessary connections are on the 84 pins around the periphery of the UBW32. The UBW was fitted with two 40 pin single row headers, one on each side. I found some sockets for these for the proto-board, but you could just as easily solder the headers straight to the boards. I also found that the Jaycar proto-board holes were a little too small and needed enlarging to fit the pins
The Silicon Chip circuit diagram is incorrect in a few places which made the translation to the 100pin device a little bit harder… Geoffs diagram on his website is pretty much correct although I used SD03,SCK3 and SDI3 (as opposed to SD04,SCK4 and SDI4 on Geoff’s website circuit) for the card reader as per the Silicon Chip circuit.

All wiring was done using wire-wrap wire and a fine soldering iron. The SD-Card socket was fiddly but it worked first time!

The Maximite program switch needs to be in place and you use this to upgrade the Maximite Firmware over USB and ignore the switch(es) physically on the UBW32, except maybe the Reset if you get into a pickle.

Some pin translations to make it easier, this is in the form of Maximite=UBW32. Video out; SD02A=G8, OC3=D2, SS2A=G9. SD-Card; SD03A=F5, SCK3A=F13, SDI3A=F4

Also, also, also – the poor UBW32’s voltage regulators run really quite hot with supply voltages above 9VDC.

… and here is where I really will be leaving the hardware side of this project for two weeks. See you on the forum..

Here’s a picture of “Twinkle.bas” running on my monitor…

Maximite into a UBW32?







Firstly, apologies about the brevity of the following instructions, I’m a little time poor at the moment…

The Maximite (see Geoff Graham’s site here) is a great little Basic driven controller using the Microchip PIC323x processor. After reading the articles in Silicon Chip Magazine I decided to have a play with one.

What, too late, all sold out?! No stock until July or August?

After reading Geoff’s website, and he explaining that the Maximite Firmware (FW) would run in pretty much a standalone processor, I decided to have a look around and noticed the UBW32 from Sparkfun, why couldn’t I feed the Maximite FW into the UBW32?

Ocean Controls here in Australia had two in stock, so I ordered one. Which duly arrived the next day, I had a quick play with it and proved the UBW software was functioning OK. So I thought I’d try to download the Maximite FW via the UBW USB boot loader.

Na. Did not work.

The program loaded OK but would not run. I suspect the USB Bootloader and Application go hand in hand. i.e. you can’t use the UBW32 Bootloader with the Maximite FW. So I’d have to load the bootloader and Maximite FW via the ICSP programming header, to do this you need the Microchip PicKit3 programmer.

In the end it was really quite simple… load up the MPLab programming environment (this comes with the PicKit, but I have the latest from the Microchip website), set the processor to the 32MX795, Import the Maximite combined Bootloader and Maximite 2.1 FW and program it. I had my UBW running on a power supply during programming.

Suddenly I had Windows identifying unknown hardware on the USB port called “Maximite” this had to be a good sign!

The next step was to load the drivers for the Silicon Chip serial over USB link, and yes this is a different driver to the UBW32 one.

…and there it was the Maximite 2.1 Basic prompt in my Tera Term window!!

The next steps in a few weeks time will be to build some of the Maximite support hardware around the UBW, such as video out, SD Card reader, keyboard connection, etc…