Remote Control Boat

Hi all! So i like a challenge and since i’m a mechanical engineer, i can get through all my mechanical items but know nothing about this coding or electronics stuff, so before i dive into research tell me if i can even accomplish this.

I am in the process of building an rc boat and want to control it using an arduino. I could just buy a remote control but thats no fun. So…

  1. Can an arduino run a RC receiver to receive the signal from a remote to transmit to servos? This will be to run servos that will control throttle position and rudder angle.
  2. At the same time as its giving signal for the servos for throttle and rudder, can it use a gyro or accelerometer to sense it angle in the water and send a corresponding signal out to other servos? This would be to sense the anlge of the boat and adjust trim tabs accordingly to level the boat at top speed.
  3. can i sense speed with an arduino? That way i could completley get rid of low speed adjustments for trim tabs or make the slow speed adjustments and high speed adjustments differ.

optional stuff:
4) so here is where i think it will get too complicated but i love a challenge. Can the arduino send a signal back to the person, say to show fuel level or something like that?
5) can it use bluetooth? maybe make an app on my phone i could drive from? this would limit distance greatly though i think.

answers to any part are apprecited.

1- yes 2-yes & no ( nothing is simultaneous with a single peocessor. It all happens sequentially at 16 million clock cycles per second. 3- That depends. GPS can give you speed if you can extract it. Your an engineer. How does a full size sail boat measure speed ? 4- what fuel ? How does a real boat measure fuel ? 5 forget bluetooth unless you want to loose your boat. Bluetooth is for headsets. Forget about using it for anything else. Look into NRF24L01 or 433 Mhz radio. 6- If yiu could afford it you could use a GSM GPS Module to control it but the code would be beyond your level. It will take you weeks to months to get up to speed with all the details you will need for even the simplest uController based remote control boat. Plan on 3 to 6 months . First you have to create your Design Criteria. You know what that is. It covers everything from the radio range to the cost. Just rearching the hardware and choosing your equipment will take a month. Learning to code , another 3 months. I suggdst you get a large display to display all your realtime parameters. Alternately you can get eight addressable I2C 16 x 2 LCDs and mount them on a pznel . You can put GO-PRO Camer on it an recofd 720P at 60 hz. and transmit it realtime using 5.8 Mhz Video the way the Quadcopters do.

1) Can an arduino run a RC receiver to receive the signal from a remote to transmit to servos?

Yes. The Arduino can be connected to a receiver module to receive commands eg servo positions and the Arduino can generated signals that are compatible with servos.

2) At the same time as its giving signal for the servos for throttle and rudder, can it use a gyro or accelerometer to sense it angle in the water and send a corresponding signal out to other servos?

Yes. But you'd need external sensors. You can get sensors that operate as a compass (by sensing the earth's magnetic field), and gyros and accelerometers, in fact there are modules with all 3 sensors on them.

3) can i sense speed with an arduino?

Speed sensing in water isn't that easy. You may be better off using GPS. Basic GPS module are quite cheap e.g. less than $20

4) so here is where i think it will get too complicated but i love a challenge. Can the arduino send a signal back to the person, say to show fuel level or something like that?

Yes. You can get combined receiver and transmitter units. For example the RFM12B or the NRF24L series (the RFM12B is more suitable as it has longer range as it uses a different frequency band)

5) can it use bluetooth? maybe make an app on my phone i could drive from? this would limit distance greatly though i think

Yes. Use a Bluetooth to serial module like the HC04

maybe make an app on my phone

Only works with Android phones. iPhones require BlueTooth Low Energy and only work on iPhone 4S or newer. (Don't even think of writing an iPhone app, the logistics of developing Apps for Apple devices are complex and cost $$)

@raschemmel I was writing my response while you must have been posting yours ;-)

I think we were on the same page... ( except for the idea of using bluetooth for a boat that you will loose if it gets out of range)

Posted this before.

Use a multiWii controller. For example : http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=39478

Its an Arduino mega, so it programs just like any Arduino. BUT it incorporates all your navigation goodies. Gyros, Accel, compass, barometer, GPS. And you can look at the multiWii source code for ides how to work the goodies.

Cheap too.

-jim lee

What size is the boat?
What sort of water conditions will it operate in?
What sort of speed will it work at?
What s the maximum distance from the transmitter?
What sort of drive system will it have? (Electric or IC or steam or sail?) (Sail is more of a challenge! And model sailboats with keels are generally better at surviving than power boats).

How will you recover it when it stops responding to commands because it capsizes or the batteries run flat?

If you are new to R/C boats it may be a ood idea to be able to control it directly with a simple R/C system so that you experiment with its handling without the “interference” of your computer code. In other words, if things aren’t working you need some way to get information to help you find a fix.

…R

70 ft , ten ton cargo hold. GPS programmable (one way). Completely autonomous. Designed for night operation. XD

The wealth of information so quickly is quite surprising! thank you! So as far as a feasibility stand point, the ardunio can handle all this using some gyros, accelerometers, gps module, transmitter and receiver. sounds good to me just to figure out how it all works now.

bluetooth is thrown out along with the app idea

Robin2: What size is the boat?

About 68" long 14" wide,

What sort of water conditions will it operate in?

Whatever craziness i can find, this will probably require a water tight box for the electronics

What sort of speed will it work at?

speed estimated to about 30mph

What s the maximum distance from the transmitter?

200 ft would be nice, what can i expect to see from the rfm12b that was suggested

What sort of drive system will it have? (Electric or IC or steam or sail?) (Sail is more of a challenge! And model sailboats with keels are generally better at surviving than power boats).

Powered by two weedeater engines, counter rotating,

How will you recover it when it stops responding to commands because it capsizes or the batteries run flat?

boat will be foam filled to stay afloat if disaster strikes, and hopefully the onboard generator can eliminate the problem of low battery power

If you are new to R/C boats it may be a ood idea to be able to control it directly with a simple R/C system so that you experiment with its handling without the "interference" of your computer code. In other words, if things aren't working you need some way to get information to help you find a fix.

Not new to the rc world, my room is an rc graveyard that i've moved transmitters and receviers back and forth to things, thats why i want to take this next step

...R

jimLee: Posted this before.

Use a multiWii controller. For example : http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=39478

Its an Arduino mega, so it programs just like any Arduino. BUT it incorporates all your navigation goodies. Gyros, Accel, compass, barometer, GPS. And you can look at the multiWii source code for ides how to work the goodies.

Cheap too.

-jim lee

What would be the difference between these two? http://www.hobbyking.com/hobbyking/store/uh_viewItem.asp?idProduct=39478 http://www.hobbyking.com/hobbyking/store/__27033__MultiWii_328P_Flight_Controller_w_FTDI_DSM2_Port.html

I recommend you look on the DIY drones site.

There is existing software and hardware designed to do just what you want.

See

http://diydrones.com/profiles/blogs/whats-needed-for-an

If that link doesn't work, just search for Ardupilot boat

This will allow you to control the boat using your existing rc kit and also to program it to be fully autonomous

You can also get a telemetry module which sends back data on position, speed etc etc, which runs on pcs and tablets.

You can get a APM clone board or the real one or a bundle with the telemetry e.g from HobbyKing.com

So I have come to realize that i need to gain some base knowledge, and i figure the best way is to start from the beginning, which starter pack do you think i should get that would work with my end goal of creating a rc boat from this.

Is telemetry the communication between two boards, so in my case the boat board can send a signal to the remote and the remote can send a signal to the board?

Total i think we're looking at x gyro, x accelerometer, y gyro, y accelerometer, two servos for throttle, one servo for rudder, two servos for trim tabs, input for fuel level, and maybe 2 extra inputs and outputs, Total: 7 inputs, 7 outputs

Which arduino board and starter kit should i get?

Take a look at the APM 2.5 board which is open source

http://copter.ardupilot.com/wiki/apm25board_overview/

It has 8 outputs

The telemetry is not back to your RC receiver its to a PC or an Android tablet via serial USB.

I bought a complete kit from HobbyKing (but for aviation not for boats)

http://www.hobbyking.com/hobbyking/store/_52389__HKPilot_Mega_2_5_2_Master_Set_With_OSD_LEA_6H_GPS_Power_module_Telemetry_Radio_433Mhz_XT_60.html

However you will need to get some firmware that operates for boats rather than aviation.

As far as I know the standard firmware for the ArduPilot stuff operates for Aircraft, fixed wing and rotary and multirotor. as well as a ground based “rover” e.g. car.

But I’m not sure how well the firmware is developed for boats.

There are other “flight controller” aka Flight Management units e.g.

But I’m not sure how many of them have the number of outputs you need.

i.e the MultiWii only has 6 outputs

Also, one thing to note, the APM 2.5 aka HKPilot etc doesn’t support Futaba SBus single data input, you’d need to use an existing receiver and take the individual server outputs and feed them into the inputs on the APM (it has 8 inputs) or just connect some channels directly to the relevant servo

Also. The ArduPilot firmware code needs a special version of the Arduino IDE (its freely available but its been modified a bit by the DIY drones guys - I don’t know why)

I suspect that the DIY drone APM route is probably the best one, as there will probably be more support for the APM etc than for other FMU’s
Especially on the DIY Drones site.

There is a newer FMU from DIYDrones called the PixHawk which uses a newer faster CPU, but it only came out less than 1 year ago and has been fairly experimental for the first 6 months

So I personally took the decision to go with the tried and tested APM 2.5 for a while on my quadcopter (heavily modified DJI Phantom 2)

As for telemetry (boat reporting back to shore), may I suggest you consider putting a WiFi module on board, assuming your smartphone supports ad-hoc (no Access Point) WiFi connections. The Arduino can act as a web server and you can use the browser on your smartphone to display a status page with a META refresh tag that automatically reloads every 1-10 seconds. The advantage of this is you don't need to lug around a laptop or a bunch of adapter cables and hardware as with other RF transceivers.

200ft is a stretch for WiFi when going through walls and such, but I think it will make it that far over open water, especially if you set your WiFi module to the lowest speed possible and mount the module/antenna up high. And it's not like you'll lose control of your vessel if WiFi contact is broken; your R/C transmitter and receiver should have much more range than that. If you really want to get fancy, you can have your Arduino steer the boat for home (based on GPS coordinates) if it loses all contact.

is there any way for it to send a signal back to the remote though, so i could light up an led on the remote corresponding to a condition on the boat

The R/C hardware I’m familiar with is all uni-directional from the hand-held transmitter to the receiver in the vehicle. There is no way to get any data back via that hardware that I am aware of. Hence, the recommendation of using another technology (RF modules or WiFi) to get telemetry back to shore.

There may be some fancy schmancy high-end $$$ R/C systems that can do telemetry… you’d have to research.

It might be easier to discuss this if you list all the features you plan to have (and where) .

so i could light up an led on the remote corresponding to a condition on the boat

As in what ? (floating or sunk ?) (moving or stopped) (executing commands or "locked up" ?)

It would be easier to correlate all the telemetry features if you made a list.

Re: Telemetry: I agree. All R/C is from Tx to Rx. (unidirectional) If you want telemetry you have to create (or buy ) a telemetry module. I have seen modules that report back altitude and ascending or falling . Before you can choose your telemetry method you need to identify all the data you want to receive.

thanks so much for the info.

i am planning on getting this kit to kick this off so i can learn about this new endeavor of mine. opinions?

http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=181021640547&fromMakeTrack=true&ssPageName=VIP:watchlink:top:en

I was thinking like a low fuel warning light or something simple like that

That does appear to contain a 433 MHz transmitter and receiver. That will work but you will need to build a separate telemetry station (such as an Arduino with an LCD display, for example) and carry it around with you on shore.

ya i knew it didnt have all the parts required but i need to get a base knowledge before i can dive into this as i realized i have no idea what is going on. so i’m going to get a kit i can follow and see how it works

http://www.instructables.com/id/Wireless-communication-Arduino-RF/

FYI, I have built this circuit and it work great.