• To anyone looking to acquire commercial radio programming software:

    Please do not make requests for copies of radio programming software which is sold (or was sold) by the manufacturer for any monetary value. All requests will be deleted and a forum infraction issued. Making a request such as this is attempting to engage in software piracy and this forum cannot be involved or associated with this activity. The same goes for any private transaction via Private Message. Even if you attempt to engage in this activity in PM's we will still enforce the forum rules. Your PM's are not private and the administration has the right to read them if there's a hint to criminal activity.

    If you are having trouble legally obtaining software please state so. We do not want any hurt feelings when your vague post is mistaken for a free request. It is YOUR responsibility to properly word your request.

    To obtain Motorola software see the Sticky in the Motorola forum.

    The various other vendors often permit their dealers to sell the software online (i.e., Kenwood). Please use Google or some other search engine to find a dealer that sells the software. Typically each series or individual radio requires its own software package. Often the Kenwood software is less than $100 so don't be a cheapskate; just purchase it.

    For M/A Com/Harris/GE, etc: there are two software packages that program all current and past radios. One package is for conventional programming and the other for trunked programming. The trunked package is in upwards of $2,500. The conventional package is more reasonable though is still several hundred dollars. The benefit is you do not need multiple versions for each radio (unlike Motorola).

    This is a large and very visible forum. We cannot jeopardize the ability to provide the RadioReference services by allowing this activity to occur. Please respect this.

MaxTrac Arduino brain transplant?

Status
Not open for further replies.

GroundLoop

Member
Premium Subscriber
Joined
Apr 17, 2011
Messages
233
I did some searching around, thinking this must have been attempted before.

I would like to take a MaxTrac 800 trunking radio, and replace its microcontroller and software with one of my own design. I really like the RF design of the radio, but programming frequencies requires 'NLA' software, and channel memories & channel steering are somewhat limited.

I imagine there is some identifiable interface in the radio where the software/microprocessor puts out a desired (digital) frequency, a tuning board acts on it, and the RF section follows. Am I oversimplifying?

Imagine a system consisting of:
1) Conventional MaxTrac tuning the control channel for flat (discriminator) audio.
2) UniTrunker processing the CCh Signal
3) Franken-Maxtrac receiving steering over USB/Serial and tuning.

Is the digital section in the MaxTrac complex? Documented? Does it have a significant analog component to the microprocessor output?

Feel free to punt me to the noob forum if this is well-traveled ground, or conversely, absurdly difficult.
 

GroundLoop

Member
Premium Subscriber
Joined
Apr 17, 2011
Messages
233
I'm looking at the Functional Block Diagram (PW-7518-O), and it seems the key is U802 "Microcomputer" and the outputs for Clock & Data to the U804 DAC, where the reference frequency adjust is generated.
These come out to J9 pins 10 & 11, where they also control the display elements on the 5-button front panels when DISPLAY ENABLE is selected (P9-2).

Additionally, they program the U101 Divider, where the main tuning seems to take place.
The serial programming of the R, A, and N dividers is pretty well explained, complete with examples.
The SYNTH LATCH ENABLE is on the P6/J6 header, but the DAC LE is not brough out anywhere I can see.

It's not clear if I have to program both the DAC & Divider, or if the Divider alone is sufficient.

What is the relationship between the "FREQ CONTROL / REF FREQ ADJUST" DAC output and the synthesized frequency? Is it possible that the DAC allows the CPU to adjust for temperature/oscillator-warp by influencing the Reference Oscillator?
 
Last edited:

zz0468

QRT
Banned
Joined
Feb 6, 2007
Messages
6,034
I guess I would have to ask why. The Maxtrac isn't really all that great a receiver. Sure, it's better than a scanner, but then, there are better radios out there than the Maxtrac. Possible? Probably, but I have no specific advice, just a few generic thoughts. It might be a fun project, but there's probably better radios to mess with. Although I haven't done a brain transplant on one, I have hacked Spectras to within an inch of their lives, and have made them do some pretty interesting things.

The Maxtrac uses a 68HC11 processor, so that part is pretty well documented. The black box part of the logic board is the the custom gate array that expands I/O ports of the processor. The manuals have vague descriptions of how it all operates, but advocates board replacement when there's a problem. The board layout and schematic is well documented, so you may be able to determine what the PLA is doing.

You might start by looking at the firmware in the radio that's on EPROM, and see if you can make sense of it. You may be able to get some of the functionality you want in firmware. Also, check out what Piexx has done with the Syntor. There maybe something useful in their approach.
 

GroundLoop

Member
Premium Subscriber
Joined
Apr 17, 2011
Messages
233
It's likely there are better radios to hack than the Maxtrac. I'm still learning my way around Mot's product line. The real answer is "Hey, I have two." :) They're pretty cheap, easy to find, and they're available on 800Mhz. Would a Spectra be a better unit to poke into? Better receiver?

Thanks for the tip on the Piexx / Syntor. Very interesting stuff, and much the same idea! Use the analog/RF portion of the radio, and a different microcontroller to synthesize the frequencies.

I've done my share of 68HC11 programming years ago, but it seems easier to just drop in a wholly-owned modern microcontroller in there and take over the outputs instead. Slogging through someone else's 68HC11 assembly could take much longer.

From a cursory study of the reference manuals, it sure looks like I could just hijack the 5v serial control/data (and Synth LE) and tune around.
 
Last edited:
K

kb0nly

Guest
Why bother is my answer. The software is readily available if one knows where to look for it, its no secret that its all over the web for these older radios. I have managed to use Maxtrac's for a ton of things, but nothing as complex as you are seeking.

The Piexx isn't really that complicated, its nothing more than an easily writeable EEprom for changing the radios codeplug. The radio is left virtually the same as factory, and they replace the codeplug EEprom with a re-writeable module to make programming easier. The Syntor and Syntor X just have a one shot prom and an EEprom. The Syntor is harder to deal with since the prom's are in short supply, but an adapter has been made to replace it with an EEprom. The Syntor X has a module with an EEprom in it, to program those i just pull the module apart and replace the soldered in EEprom with a DIP socket, then i can pull the chip and put it on my eprom burner and use Sprog to generate the codeplug to put into the chip.

Comparing what your looking to do, a complete brain transplant to the Maxtrac, to the Piexx isn't even close, thats more like a appendectomy. LOL
 

GroundLoop

Member
Premium Subscriber
Joined
Apr 17, 2011
Messages
233
Awesome. Some of my favorite projects have been soundly in the "why bother" catagory. :)

The cool thing about working on 1980's gear is that test tools are better now, and documentation was better back then.

The tuner programming on the MaxTrac is well within reach of any microcontroller..
A tune event looks like this:
maxtrac-tune.png


There are a total of five bytes.. three bytes, a pulse to LE, two bytes, and a final pulse to LE.
The clock period is 16.5 microseconds (microseconds!), data latched on the rising edge.

In tuning around the 850MHz service band, it appears that only the second and third byte change.
 

zz0468

QRT
Banned
Joined
Feb 6, 2007
Messages
6,034
Awesome. Some of my favorite projects have been soundly in the "why bother" catagory.

LOL... I have to agree with you on that.

The cool thing about working on 1980's gear is that test tools are better now, and documentation was better back then.

Yes, a lot of the equipment from that era is quite hackable. I think what you're going to run into here is, no one will have tried it because it's in the "why bother" category.

Have you brought this up on the bat board? You're more likely to find someone who can actually help, over there.
 
K

kb0nly

Guest
I think if you brought it up on the batboard they would look at you like you belong in an asylum. But anyway, more power to you. I just think its a waste of time as i see no real benefit in what your trying to do.

I have 800 Mhz Maxtrac's here i can take any one of them and toss it on the bench and in five mins i can have it set to the control channels of my local ARMER towers and then run Unitrunker on it using a discriminator audio output which is well documented on the RBTIP website.

No offense i love your enthusiasm, but i think your trying to reinvent the wheel.
 
Last edited:

GroundLoop

Member
Premium Subscriber
Joined
Apr 17, 2011
Messages
233
kb0nly, it's the OTHER half of the UniTrunker link I'm trying to accomplish here. I have a Maxtrac (unmodified) with one Conventional channel and perfect discriminator audio on the 16-pin header. The superior reception of the MaxTrac is what makes me want to waste my time hacking up another one to receive VOICE audio as steered by UniTrunker. UniTrunker already has a smörgåsbord of serial output to control radios, and I want to add ArduTrac as one of them. The combination of two MaxTracs, an AVR controller, and UniTrunker would make for a fun (and cheap!) software-controlled SmartZone scanner.

And, from where I'm sitting, this really doesn't look all that difficult compared to the wacky stuff I see hams do. The MaxTrac only sends the PLL programming once when you change to a conventional channel, so overriding it may not even require cutting traces.


Quick question for MaxTrac 800 affectionados: Where can I pick up the final receive frequency on the board? I'd like to hook up a frequency counter and check my work, but I'm not seeing 800MHz anywhere. Is there a test-point for it?
 

mancow

Member
Database Admin
Joined
Feb 19, 2003
Messages
6,879
Location
N.E. Kansas
But, he is directly tuning the radio and not relying on the internal firmware to control it if I read it correctly, so it should not be an issue.
 
K

kb0nly

Guest
One problem you may have with trunk tracking is the Maxtrac isn't rebandable. You would have to set up a new 800mhz table so to speak for the radio to track properly.

Was just going to point that out, but if he uses an external control then he should be able to get around that, but no guarantees as the VCO's are also kinda finicky at the band edges.

I haven't done much on the 800Mhz rf boards so i can't point you to test points that would help.

I know a few that cut open the VCO to get it retuned for 900Mhz receivers and such, thats a lot of work replacing the ceramic filters and such so its a whole other subject i will refer those that want to know to RBTIP and the articles we have there.

Motorola MaxTrac / Radius / GM300 Index Page
 

GroundLoop

Member
Premium Subscriber
Joined
Apr 17, 2011
Messages
233
The ~20 frequencies I'm interested in tuning (as directed by UniTrunker) are all within the existing receive range of the radio. Indeed, I can program each of them as Conventional channels today. Oddball splinter frequencies are also within reach, since the PLL (dividers) has more fine resolution than is used. Assuming the NFM bandwidth is the same, and it's within VCO tuning range, it should be able to tune just about anything.

I'm NOT looking to change the fundamental RF range of the radio -- just the tuning directive. I'm an RF klutz.. once the signals go analog, it's all voodoo to me. But digital signals, hell yes.

It's only three 5v digital signals. I believe you could do it with a $30 BusPirate once I figure out what bytes to send.
 
Last edited:

mancow

Member
Database Admin
Joined
Feb 19, 2003
Messages
6,879
Location
N.E. Kansas
Not to change the topic but a pseudo random table with the clock gps slaved would make a neat frequency hopping setup too.
 

radioman2001

Member
Joined
Mar 6, 2008
Messages
2,974
Location
New York North Carolina and all points in between
That was my point, you will have to set up a table vs frequencies in you new brain. The one in the radio is useless now, for most systems at least. I would love to see such a table to try and export it into a Spectra. Would be worth the effort to look through the whole hc6811 memory locations to find the old table and replace it.
 

GroundLoop

Member
Premium Subscriber
Joined
Apr 17, 2011
Messages
233
I don't think a table is needed. There is direct math to convert a desired frequency into R, N, and A dividers. There's some of it in the service manual, and the rest can be learned by programming frequencies with RSS and observing the Five Bytes that result. This isn't crypto. :)

A frequency-hopping pair of hacked Rx/Tx radios would be interesting, but I suspect that requires digital encoding to gloss fill the gap while the PLL/VCO is tuning. It's not that fast.
 

GroundLoop

Member
Premium Subscriber
Joined
Apr 17, 2011
Messages
233
Okay, I couldn't get math that worked, so I whimped out and just logged the 20 channels of interest being tuned.

Code:
856.025 01FED0 0901   
856.050 01FED4 0901   
856.075 01FED8 0901   
857.000 01FF6E 0901    
857.025 01FF72 0901   
857.050 01FF76 0901   
858.000 020010 0901       
858.025 020014 0901   
858.050 020018 0901    
859.000 0200B0 0901    
859.025 0200B4 0901   
859.050 0200B8 0901   
860.000 020152 0901   
860.025 020156 0901   
860.050 02015A 0901   
862.050 02029C 0901   
862.100 0202A4 0901   
863.050 02033E 0901   
864.050 0203DE 0901   
865.050 020480 0901

For each frequency, there are three bytes sent over the Clk/Data lines, then a pulse to LE, then two bytes, then a second pulse to LE. The rest of the activity (not shown) is to set the segments of the front-panel display.
 

GroundLoop

Member
Premium Subscriber
Joined
Apr 17, 2011
Messages
233
IT WORKS!

For a why-bother project, this totally rocks.
I'm still filling in my Priority fields in UniTrunker, but this is damn close to a perfect scanner.

UniTrunker thinks it's a BC246T attached via COM10. My Arduino code receives and parses the tuning commands from UniTrunker, looks up the frequency and sends the MaxTrac serial bits to tune the PLL to the desired frequency. (If I can figure out the A/R/N divider math, I can do away with the entire table of bits, but for now it's working.) So effectively, I have a dumb MaxTrac with a USB port in the back.

Unlike any other scanner, it can detect a Higher Priority call starting WHILE also listening to another call. It's also extraordinarily fast. The Uniden often misses the start of a call, while this setup is right on it. And the RF is superb for my weak-station receiving.

For a pair of $10 800MHz MaxTracs and an Arduino (and a PC), this setup is a better (analog) TRS scanner than the Uniden.
 
Last edited:

GroundLoop

Member
Premium Subscriber
Joined
Apr 17, 2011
Messages
233
The other cool thing is that the voice radio can be pretty much any 800MHz MaxTrac.. 5-pin, 16-pin, Trunking, etc. Firmware and code plug just don't matter. If the radio has no Conventional or TA channels (tune once), then I'd probably have to snip the J6 the serial lines from the radio to keep it from re-tuning and searching.

I don't know about PrivacyPlus radios, but I'd love to try. Do they have standard voice receivers? (ie, only unique Firmware for tuning?)

I need to find more surplus stores. :)
 
Status
Not open for further replies.
Top