// -- -- -- -- --
A Very Special thanks to the company RFM (the maker of the amazing DNT900 radio) for their support of my project!!!
// -- -- -- -- --
PLEASE RESPOND IF YOU ARE INTERESTED!!! OR HAVE ANY SUGGESTIONS!!!
Project DREAMSHIELD - What is it?
Dreamshield is an Arduino Mega shield that will effectively replace or augment your limited hobby remote control system with a long range (DNT900P based) open source alternative. Your Remote will be augmented with a "basestation" board (attached to your arduino mega #1). If you do not have a nice remote, it will allow a PS3 (or other) controller to act as your remote. The receiver module will also be replaced with a similar "remote" board (attached to your arduino mega #2) that will interface up to 16 servo's and ESC's, up to two camera's, GPS, IMU, flight LED's and has an onboard pressure/temperature sensor.
What sort of vehicles can it be used with?
Any! well, within reason of course! There will be an "on-the-fly" programming button that will allow the user to pick a vehicle mode (0-4). This means that you can toss this in your favorite RC car, (set it to mode 1), drive around a bit... then pull it, place it in your quad-rotor (set it to mode 4) and take an adventurous flight around the neighborhood.
Each of these settings will re designate the servo's/esc's, how they act, and what control sticks do what. It will give a little more versatility to the board, and open up the possibilities of what you can mod it to do! Instructions and video demo on page 5 of this forum.
((there will also be modes for X-Y camera and X-Y antenna tracking - neither, either/or, or both))
Now the more nitty-gritty. BOTH the Base and Remote boards have...
- DNT900P long range telemetry radio which offers up to 40km range with proper antenna's - with a data rate of 115200k! If you are interested in slightly less range, you can crank the baud rate up to a fast 500k!
- RGB status LED(s) for feedback
- External interface connector that allows connection to +5v, GND, Serial TX/RX (3.3v), 2 analog inputs, 2 PWM outputs, 4 digital I/O's, and one transistor/PWM driven LED output. This allows other devices (gps, imu, other sensors) to interface to the board
- Power input connection for easy interface to a BEC to power it ((5V INPUT))
- Programming button to select vehicle type, camera/antenna gimbal, and controller type. Programming instructions are on page 5
The BASE has
- USB port on it will allow for a completely new kind of control! a PS3 controller can now be used to control your long range UAV! The PS3 is a fantastic interface because the 10 buttons on it are all pressure sensitive and will read out a value between 0-255. There are three buttons with boolean output, two triggers with pressure sensitivity, and two thumb joysticks! There is also two adjustable output rumble motors (high/low), and 4 LED's that can be used for feedback (ie. signal strength)
With some more programming, it can also be made to recognize your preferred USB enabled RC transmitter/controller.
The REMOTE has
- 16x Servo/esc connections, each at 12-bit (4096 step) resolution.
- video switching, so up to two camera's can be interfaced with this board, and you can remotely switch which camera is being broadcast by your video system!! typically, I for-see a tilt compensated flight camera, and a camera pointed strait down for observation. Then they can be alternated via the SELECT button on the PS3 controllers!
- Pressure/Temperature monitoring on I2C
- (the external connection ports are for you to interface your own IMU and GPS to the board - everyone has their own preference!) the LED connection is a 2222 transistor driven output that should allow for some bright flight LED's (strobes, or flood lights)
There are two boards per kit - a BASE(command) and a REMOTE(uav). The boards are Identical - but are populated differently based on their desired purpose. This is a (poor) picture showing the board and where the connections are located
DIY - two boards, and all the parts to populate them
Prebuilt - Two boards built up, and ready to go!
(arduino boards not included in either kit)
A ROUGH price estimate will be between $100 ~ 315 (DIY - PreBuilt , respectively).
Things are liable to change - v1.0b is not finalized.
CODE will be open source - some of it is adapted from other open source projects, and credit is given in my code.
please let me know who's interested!
((remnants of my proof of concept))
** I do Not expect this shield to work with the Arduino Mega ADK due to interference of extra USB port, and possible programming shenanigans, but i can not confirm or deny this.
For the time being, Arduino Mega 1280 has been tested and 2560 should work.
I'm mulling over a small board change - and would like people's opinions
Would you prefer 8 extra servo connections (for 16 total)
or would you like the U.FL > SMA connection - aka, standard antenna screws right to board. no adapter cable needed?
(im leaning towards extra servo connections)
RP SMA connector directly on board http://www.rfstreet.com/product_info.php?products_id=675&osCsid...
those dinky u.fl connectors are only good for 3 disconnects, and the small cable with 4 connectors gonna cost you 3dbi loses (more then half your signal disappears in the connectors and cable)
would much prefer to have an i2c interface instead of servo connections...maybe a i2c->16 servo output shield?
I would much prefer the extra servo connections.
The adapter cable I bought fit perfectly, and was ~$6.
Ctech, Currently, im working on integrating the SPI controlled TLS5940 PWM chip. That would be the source of the servo control, not the atmega. Is there a chip you prefer? or a reason you would like i2c ported to a daughterboard instead of servo connections on the mainboard? thanks for your input!
and Flynx, Thanks for the input! and for providing the link to the parts you used in your previous message on page 3.
actually andy_j, i never used SPI and don't know anything about it, i2c came to mind because ArduPilot Mega supports it and have not seen any RC stuff doing anything other the i2c.
PWM servo communication has to go soon, i was thinking do something better and keep it backwards compatible with a daughterboard. i got a feeling that all the rc gears is going to switch to a different bus system in a year or two or four, not to mention the size of a 16x3 pin header
also if you stick with i2c/SPI communication with daughter card for backwards compatibility it would be like LEGOs.
the receiver could be used as telemetry/control for ArduPilote, or as traditional PWM reciver. the sender could go work with a gamepad/joystick or you could use ArduStation instead of a remote...you know like LEGOs
btw awesome work!
First of all, i love Legos! and i like your thinking on that. I want to make it as mod'able as possible. my board is not in an easy position to get SPI out, but I2C is close to the edge, and I could put a little connecter on there for interfacing to the ardupilot/other stuff.
Thanks for the ideas and support! i'll see what I can come up with!
you know you can do ok video with under 256kbps with a video compression shield......
Minor update - Renamed to Dreamshield 16
we now have the TLC5940 chip driving 16 powered servo outputs with up to 4096 steps of resolution (2^12 aka 12-bit) Board has been gone over completely. Added (gnd,+5v, data) connection for GPS, I2C connection (just for you, ctech! hehe), power-on-reset chip for radio, reworked video-switch ground plane, added opto-mosfet to act as switch to turn on power to radio... and i think thats it!
Hooray for resolution! :-D
when are we gonna see it in the store?
Got my first DNT900 connected UART->FTDI->USB so theoretically I have a serial terminal to the radio now. But without the radio software (which was included with the dev kits but not the radio themselves) I'm afraid I'm not sure where to start...
The TLC5940 should be great! and should [theoretically] fix the jitter issue that the arduino PWM servo-libraries caused because of the disabling of the interrupts (for timing)!
The DNT900's are a little daunting at first (at least for a noob like myself), but once you begin to crack the code so-to-speak, it makes sense. Let me know if you want any help with them! or possibly could I interest you in a board maybe?! ;-)