Need to shrink and package Arduino Project

Hi,

I am designing a wireless telemetry and control system for a UAV project, and so far have prototyped an interface in Processing which connects to an Arduino I have programmed via an XBee module. I have been using an Arduino UNO, and the sensors connected to it interface via I2C at 3.3V.

Now I need to shrink this project down to save on weight and size, so I ordered an Arduino Nano on eBay (which hasn't arrived yet) but just realised that it may not accept 3.3V voltage signals from the I2C sensors, and that it can only supply 3.3V when connected via USB (obviously the UAV will not be connected via USB). So what options do I have? Do I absolutely need additional circuitry such as a level converter?

Also, to package all these components (Arduino, various I2C sensors, battery (9V?), XBee) up into a neat bundle does anyone have some pointers on how I could do this (PCB fabrication? I don't know anything about PCB fabrication, yet).

Another thing, how can I get airspeed information? I have bought a MPX5700DP (differential pressure sensor), which I believe acts as a pitot tube sensor, but I can't find any information on how to actually implement this?

The Nano probably will read the 3v3 signals but it's on the verge.

How about getting a Teensy 3, that's 3v3.

http://www.pjrc.com/store/teensy3.html


Rob

Will this help?

@Graynomad

It would seem like a bit much moving to a non-Arduino type chip, even though from a quick google search it seems you can program it with the Arduino bootloader. Would it take a lot of fiddling to emulate my current Uno setup?

@groundfungus

Thanks for the link. I realise there is a clear mathematical relationship between differential pressure and airspeed, but I need to know the specifics of the MPX5700DP so I can convert the voltage output to a pressure first. I can't seem to find this information in the fairly short data sheet.

I looked up the DPX5700D and it is a 0 to 101 PSI transducer. Seems that you would would need a much more sensitive transducer for airspeed measurement. That said, to get a transfer function for the transducer the data sheet says that 0Kpa is nominally 0.2 volts. And full scale output is 4.7 volts for 700 Kpa. Span (full scale - zero) is 4.5 volt.
700 Kpa/4.5v volts is 155.556 Kpa/volt.

As I understand it the Teensys work the same as the similar Arduinos but I've not used one. There may be differences, you'd have to ask Paul, he's very active in the Arduino community.


Rob

Ah thanks groundfungus, I didn't read the datasheet carefully enough it seems.

It all depends on how much you want to invest into this. With Time and Money, you can create a single PCB using smaller parts, eliminate unused bits and probably shrink it all down to the size of a board around the size of a single arduino. But that requires a significant amount of time, and a little bit of money to get someone to fab the PCB (See BatchPCB or Seeedstudio). That does however also require additional money towards some form of PCB fab software to do it yourself. It is would not be a simple process. However it is a great learning experience and it probably not be horribly expensive considering you are doing a UAV project. But it would still be a couple hundred dollars US.

You could take a look at this http://www.hobbytronics.co.uk/arduino/arduino-boards/arduino-pro-mini-8mhz-328-3v from the US firm sparkfun.

Mark

I have only recently been working with the Teensy boards at my new job and so far have been software compatible. They have a USB connector on them and run at 16 mhz. They also come with a pinout diagram that shows you which pin number corresponds to the Arduino pinout.

http://www.kickstarter.com/projects/paulstoffregen/teensy-30-32-bit-arm-cortex-m4-usable-in-arduino-a/posts/311849

You can download an app that interfaces with Arduino so you can select the Teensy 3.0 from the list of boards and then you are ready to go.

Yesterday I started a Topic about a very very small "Arduino" board that includes a 2.4Ghz transceiver and a motor bridge Very Small Arduino with 2.4Ghz wireless transceiver and motor bridge - DelTino - Microcontrollers - Arduino Forum

...R

Ok so I received the Arduino Nano (actually Arduino-compatible) from eBay. I hooked it up to a 9V battery on Vin, and to my surprise I was getting 5.0V out from the 5V pin and approximately 3.3V from the 3v3 pin (without the USB cable being attached). I'm not sure why this is since according to the Arduino Nano specs the 3v3 output should only be active when the USB cable is connected. Maybe it has something to do with the fact that the board is Arduino-compatible? My 3.3V I2C sensors and XBee both seem to work fine with this 3v3 voltage source.

Now the question is, what options do I have for packaging this into a small neat bundle? At the moment all the components (except the XBee which has a different header spacing) are on a mini breadboard. I was thinking of designing a PCB but was unsure how the different components would be mounted on it, and I have never designed a PCB before.

The exact components are: Arduino Nano, MPU6050 (accel/gyro), BMP085 (altitude pressure sensor), MAG3110 (magnetometer), XBee Pro Series 2, 2x4700Ohm pullup resistors. I also need to be able to attach servos to the digital pins for controlling flight surfaces on the UAV.

Looking at the Nano schematics I would expect the 3v3 to be present, the 5v powers up the FTDI chip and the 3v3 regulator in that provides 3v3 to the board. That output is only good for about 50mA though.

I would probably make a carrier PCB that holds all the components and has sockets for the Nano and the Xbee. The servos use a 3-pin header each so as many of them as you need.


Rob

This is on the specs page for the Arduino Nano (http://arduino.cc/en/Main/ArduinoBoardNano):

"The FTDI FT232RL chip on the Nano is only powered if the board is being powered over USB. As a result, when running on external (non-USB) power, the 3.3V output (which is supplied by the FTDI chip) is not available and the RX and TX LEDs will flicker if digital pins 0 or 1 are high."

As long as 3.3V works I'm happy, but I am curious why they would say that and then I am still able to get 3.3v from a only a battery connected to Vin.

Could you tell me a little more about carrier PCBs? Maybe a link to a page that explains more about designing PCBs simply for holding a few components with a few interconnections?

Dblade4:
This is on the specs page for the Arduino Nano (http://arduino.cc/en/Main/ArduinoBoardNano):

"The FTDI FT232RL chip on the Nano is only powered if the board is being powered over USB. As a result, when running on external (non-USB) power, the 3.3V output (which is supplied by the FTDI chip) is not available and the RX and TX LEDs will flicker if digital pins 0 or 1 are high."

As long as 3.3V works I'm happy, but I am curious why they would say that and then I am still able to get 3.3v from a only a battery connected to Vin.

Could you tell me a little more about carrier PCBs? Maybe a link to a page that explains more about designing PCBs simply for holding a few components with a few interconnections?

Well believe it or not there are sometimes errors in the arduino product descriptions and this is one example:

The FTDI FT232RL chip on the Nano is only powered if the board is being powered over USB. As a result, when running on external (non-USB) power, the 3.3V output (which is supplied by the FTDI chip) is not available and the RX and TX LEDs will flicker if digital pins 0 or 1 are high.

That is simply a factual error. As long as the Nano board is being powered by any voltage source (USB, Vin, +5vdc) the FTDI chip will also be powered up as it is powered from the same board Vcc bus that the 328P chip is. And as long as the FTDI chip has power then it will generate a 3.3vdc output, but is limited to about 50ma at 3.3vdc. This can be seen in the schematic drawing for the board and verified by what you are actually seeing.

Lefty

The FTDI FT232RL chip on the Nano is only powered if the board is being powered over USB

The schematic and your observations indicate this is not correct.

I am curious why they would say that and then I am still able to get 3.3v from a only a battery connected to Vin.

Simple, either the documentation or the schematic are wrong, not an unusual situation for Arduino and in fact most open hardware products.

Could you tell me a little more about carrier PCBs?

It's just a term I used for a PCB that holds your two modules (Nano and Xbee) and all the other stuff you have.

I'm afraid I wouldn't have a clue where to find "PCB design 101" tutorials, the board you would do sounds pretty simple but I admit probably not for someone who's never done one. I would have to hit Google the same as you but for a different reason, that being I had to learn that stuff a long time ago (before there was a Internet) and have no knowledge as to the location of such things.

I would suggest you download a copy of Eagle or one of the other free programs and start playing. You will have to enter your schematic first, then you feed that to the PCB part of the software and start laying out tracks. If those components have unusual footprints they may not already be in the program so you will have to design the pad layout for them as well.

It's not rocket science but does take some time to learn, be prepared for some very frustrating nights :slight_smile:

Maybe someone else here can point you to some good tutorials, also the Eagle site (http://www.cadsoftusa.com/) may have some.

Once you make a start there are plenty of people here (myself included) who can advice on specific design issues and review the design.

Another option may be to post on the "Gigs and Collaborations" board, there are quite a few members who do design work for people.


Rob

To get airspeed you need the difference in pressure between the atmospheric pressure and the dynamic pressure caused by the motion of air into the Pitot tube. Some applications use one probe with a tube pointing parallel to the center line of the fuselage and one port perpendicular to the first. The first port gets the dynamic pressure and the second gets the static pressure (atmospheric). These ports are connected to the 2 ports of your differential pressure sensor to get the differential pressure.

Hope this helps.