Help wanted: programmer to help combine APM's PPM encoder and Arduino bootloader

In the new Arduino boards, the traditional FTDI USB-to-serial chip has been replaced with an Atmel ATmega8U2 chip, which has built-in USB. We'd like to do the same on the next APM board, and use this chip to do double-duty: replace the FTDI chip that's now on the IMU shield, and replace the PPM encoder chip (now an Atmega328) that's on the APM board.  This will make smaller, simpler, cheaper APM boards for all going forward. And bye-bye FTDI drivers!

 

There should be enough memory in the Atmega8U2 for both the OptiBoot bootloader and the PPM encoder code. But we need some help in combining them in a way that each won't interfere with the other.  We've got a lot of great programmers here at DIY Drones. Who's up for the challenge? (Free boards for any volunteers)

 

Here are some starting links. 

Views: 688


Developer
Comment by Michael Oborne on January 5, 2011 at 7:48pm
The way i see it, if DTR is High, then start in ftdi mode, if its low start in ppm mode.
Comment by robert bouwens on January 6, 2011 at 12:51am

now we come to the point doing real sw :)

 

add a command which switches between ppm and download mode.

in  essence this would be a new protocoll between the members of the diydrones hw boards.

so:

 - source sends application type

 - source sends 'enter bootloader' (target compares the mode of the app type and when ok it switches to

bootloader mode - command is saved in the eeprom. on booting it detects the bootflag and enables the bootloader)

 

it could also be handled that the firmware stays for a couple of ms in bootloader mode when booting.

now the service tool just sends an enter bootloader code and voila...

adding dtr or other pins as bootloader indicator is a waste of pins to me.

 

robert

Comment by Sebastian Gralla on January 6, 2011 at 3:45am

should it be able to go into USB mode when running?

eg plug in your lipo first and then plug in USB, that would be more challanging

Comment by Wyliest on January 6, 2011 at 4:30am

I know its more money for the 16k and 32k chips, but that would leave it open to more features with these chips in the future. Like a parallel data logging system or using it for in the look simulation or even I suppose a fail safe RTL if it had a connection to the SPI or I2C lines. I know this is some what optimistic but I would think it can be done. 

 

WylieSt

Comment by robert bouwens on January 6, 2011 at 4:59am

sebastian,

the usb interface is located on the 'small' chip. to talk with the other mcu you are in a  need having transparent communications because of the 'missing' link provided by the ftdi chip previously.

more challenging, isn't it :)

robert

 

Comment by Sebastian Gralla on January 6, 2011 at 5:11am
yes isn't that the same as I wrote?
Comment by Michael Zaffuto on January 6, 2011 at 6:39am

@Chris, One issue that may need to be resolved is USB Vendor ID.   

It seems that the Arduino folks have purchased their own USB VID.  I do not believe they want 2nd parties using their VID. You may have to buy a USB VID from USB.org if it is worth it (Cost savings of FTDI chip/board amortized over the cost of the VID).  This USB VID hurdle is what will probably impede clones of the UNO 8U2 style boards regarding the FTDI replacement, this is just my take on the whole situation, i'm not an expert, maybe others could shed additional more promising insight into this.

 

From the firmware readme.txt of the repository:

"The production version of the arduino-usbserial firmware uses the Arduino VID.  This is only for use with official Arduino hardware and should not be used on other products."

Comment by Levent Komurcu on January 6, 2011 at 7:48am

FDTI chip on oilpan can communicate while ppm encoder is working. This is a "must" for ArduPilot (for example trasnmitter calibration). Also it can be used in bench testing to view parameters and communications. FDTI chip is not used for only programming Arduino programs to mega1280.

Switching between programming mode and ppm mode seems a bit wrong to me. I think new chip must be able to handle both ppm and usb communications simultaneously.

Comment by bGatti on January 6, 2011 at 8:50am

The USB Cartell really is a DIY barrior of Entry.

That said, I think there are no barriers legal or technical to making up your own VID out of thin air - and it's a meritorious exercise to prove that USB can be Hacked used under terms which are amenable to DIY.

Comment by Sebastian Gralla on January 6, 2011 at 1:06pm

should USB connection work AFTER initial power up?

 

Comment

You need to be a member of DIY Drones to add comments!

Join DIY Drones

Social Networking

Contests

Season Two of the Trust Time Trial (T3) Contest has now begun. The fourth round is an accuracy round for multicopters, which requires contestants to fly a cube. The deadline is April 14th.

A list of all T3 contests is here

Groups

Advertisement

© 2013   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service