DIY custom 2.4ghz RC radio system for robotics

It looks like 6.0vdc in will be just fine as I suspect the regulator is a 3.3vdc unit. The Spektrum DX6i is powered from only 4 AA cells. The only thing left to figure out is if the PPM pulses are 0 to 5vdc or 5vdc to 0. The testing I’ve done so far is Spektrum native format 5vdc to 0, and is the same as JR, but I think Futaba is 0 to 5vdc.

Ho! cool! 8)

1 = signal = yellow
2 = power = red
3 = ground = black

A servo extender cable almost works. The pins aren’t quite long enough. :frowning:

Hey EddieB did you get your GWS gimbals yet? Was wondering if they will mount onto a panel like the Laser ones do. Let us know about the quality as well. :smiley:

Nice Pic! Looks more like a robot radio :laughing: .

didn’t you say you had an injection molded case being made for the chassis? if so, got any drawings of it?

Now you need to laser cut 2 places for a metal-ring swivel to attach straps to go around your neck. Then you can hold this thing at waist level.

Be like Wednesday night if UPS tracking number is to be believed. Sry, I paid the flat rate shipping charge… :stuck_out_tongue:

actually if it isn’t too big I can probably vacuum form a swoopy back part, although I think Jim actually said he cut the panels to fit in a standard hobby box or something.

Yeah I did say that. lol Well it arrived and it didn’t look much like the image on the website. It’s about 1" too tall. I am looking into better options. This is fine for testing anyway. :slight_smile:

You guys ran over me. I edited my post but I’m to late lol :laughing: .

Mike you snooze you loose, or at least get mocked. :stuck_out_tongue:

Jim I can’t make out the regulator part number but based on the capacitors and what I think I can see from the traces I suspect the black numbers are correctly assigned to the pins. The RF-Detect out is a active low signal from the final output stage of a normal module so they are just hard tying it low, thus that defines pins 3 and 4, and the trace appears to connect to the tab pin of the regulator and both filter caps suggesting it’s GND. You can check the connection of pin 2 to the voltage regulator outboard pin but I think I can see the trace, and the inboard pin of the regulator appears to go down into the guts of the controller and stuff so that’s likely the regulated output. Pin 1 would be a signal trace so that jives. Very funny though that this pinout is backwards to the common notation of pin 1 being the square pad of the connector… sneaky bastidges or someone oopsed perhaps… is Mike free lancing for spektrum these days? :smiling_imp: :stuck_out_tongue: :wink:

Ah ha ha ha…

pin 1 squared pad numbered counter clockwise. Same for through hole square pad indicates pin 1 of polarized components.

did I pass Eddie? did I? :stuck_out_tongue:

Ok I’ve got the signals formatted properly for the Airmod. The reason I know this is part of the binding process tells you to move the servos to their failsafe positions. My previous attempts to bind where without sending the pulses to the transmitter. It would never bind. I used the same positive going pulse as the Spektrum radio used and viola it would bind. Now that it’s bound to the receiver I’m ready to read the joysticks and do some math to get the values correct. Right now I’m getting the following from the A to D’s…

625 621 | | | | 393 ----o----630 393----o----634 | | | | 418 404

Which means I’m only getting 240 points on the horizontal and 210 points on the 210. :’( I’m not sure if this a problem or not, but it looks like a problem to me. Anyway I’m about 10 minutes from making the servos move from the joysticks in real time. :smiley:

Um, ug… Ok, anyone want to help out. I need a formula that will convert these values…

A to D | pulsout -------|-------- min 632 | 3400 ctr 512 | 2200 max 392 | 1000 ---------------- range 240 | 2400

The A to D values are straight from the A to D conversion. The pulsouts are double what they need to be because the pulsout is .5uS, and the values are 800uS less due to the 400uS separation pulses.

Try: X*10 - 2920

where X is your AtoD value…

Works!

I’ll post the code in just a sec…

Thanks a lot! 8)

Here is the code…

[code]cha1 var word
cha2 var word
cha3 var word
cha4 var word
cha5 var word
cha6 var word
cha7 var word
cha8 var word
intest var bit
xx var byte
a_key var bit
b_key var bit
c_key var bit

sound 9, [100\880, 100\988, 100\1046, 100\1175]

low 15

start:

adin 16, cha1
adin 17, cha2
adin 18, cha3
adin 19, cha4

;definetion, (desired pulse -400) x 2.
cha1=((cha110)-2920)
cha2=((cha1
10)-2920)
cha3=((cha110)-2920)
cha4=((cha1
10)-2920)
cha5=2200
cha6=2200
cha7=2200
cha8=2200

;serout S_OUT,i57600,[dec5 cha1\5," “,dec5 cha2\5,” “,dec5 cha3\5,” “,dec5 cha4\5,” ",13]

makepulses:
pulsout 15,800
pauseus cha1
pulsout 15,800
pauseus cha2
pulsout 15,800
pauseus cha3
pulsout 15,800
pauseus cha4
pulsout 15,800
pauseus cha5
pulsout 15,800
pauseus cha6
pulsout 15,800
pauseus cha7
pulsout 15,800
pauseus cha8
pulsout 15,800
pause 20
goto start[/code]

Ok! the prototype is working to the best of it’s ability. I can move 4 joysticks on the remote and 4 servos plugged into the receiver move. 8) Cool eh?

We will need to add some analog electronics (op amps) to massage the limited range of the joystick pots to get the full 0 to 5vdc range into the A to D on the Pro. I’m looking past the low resolution joystick readings for now.

The next step is to get the key pads wired up. Why aren’t they here yet! :smiling_imp:

What’s going on? You have success but no pics or videos?

Great scot Jim! I just don’t have the power to handle any more! :open_mouth:

Ok, no time for video, but if you squint your eyes and hold your breath you may be able to get the numbers on the display to change. hehe

Here’s the code so far…

[code]cha1 var word
cha2 var word
cha3 var word
cha4 var word
cha5 var word
cha6 var word
cha7 var word
cha8 var word
intest var bit
xx var byte
a_key var bit
b_key var bit
c_key var bit

sound 9, [100\880, 100\988, 100\1046, 100\1175]

serout 8,N9600,[12, 14]

low 15

start:

adin 16, cha1
adin 17, cha2
adin 18, cha3
adin 19, cha4

;definetion, (desired pulse -400) x 2.
cha1=((cha110)-2920)
cha2=((cha2
10)-2920)
cha3=((cha310)-2920)
cha4=((cha4
10)-2920)
cha5=2200
cha6=2200
cha7=2200
cha8=2200

serout 8,N9600,[16, 64, dec cha3, 16, 76, dec cha1, 16, 80, dec cha4, 16, 92, dec cha2]
;serout 8,N2400,"hello world “]
;serout S_OUT,i57600,[dec5 cha1\5,” “,dec5 cha2\5,” “,dec5 cha3\5,” “,dec5 cha4\5,” ",13]

makepulses:
pulsout 15,800
pauseus cha1
pulsout 15,800
pauseus cha2
pulsout 15,800
pauseus cha3
pulsout 15,800
pauseus cha4
pulsout 15,800
pauseus cha5
pulsout 15,800
pauseus cha6
pulsout 15,800
pauseus cha7
pulsout 15,800
pauseus cha8
pulsout 15,800
pause 20
goto start[/code]

I could swear I saw the top row of numbers jump from 2200 to 2201 for just a milisecond. Anyway, I wanted to see how you had this hooked up.

Fantastic work. 8)

Thanks! this is fun! 8)

Ah here you go. It’s really that simple. Everything plugged in is powered by 5vdc except the Spektrum module which is powered by the battery direct. I suspect it can be powered by 5vdc, I will verify this. Edit: yes it works great powered from the Bot Board II’s 5vdc output.

The connections to the Spektrum module are extra long header posts. I soldered a normal header post at a 90° angle, then servo extender cable to the Bot Board II.

I cut off the trimmer tabs. So the next revision of the panel will be a lot more clean looking. I also needed to move the power switch. :unamused:

Excellent work Jim!

You have made a TURC (The Ultimate Robot Controller) :laughing:
I hope you get the pads soon.

I just have to try this one day.
Cool! 8)

I love the fact that the BB2 (BotBoard 2) can be custom programmed. It makes this whole thing “Open Sourceable”. Now I cant wait to see what the key pads look like. Hurry UPS!