Seeeduino - an unofficial update of Diecimila

Arduino is great, so does the team. While enjoying Aduino , we found there are several inconvenices could be improved. People in Arduino forum has some discussions in improving it. Thanks to open source, freshman like us could take gut to try.

Albert and I have spend some time for a new board in fixing the obvious drawbacks and made some improvements. The new board will base on Diecimila, and 100% compatible to its shields, cases, software? You should have no problem adopting it to your current projects. The changes are:

1. Align the header with 2.54mm grid.

Related discussions: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1206626508

Place an second row of header align to standard grid. So it will be compatible to existing shield and your proto board. Both of the headers will be soldered, or either of them.

2. A jumper to disable auto-reset.

Related discussions: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1213719666

DIP switches.

3. Possibility for USB HID support.

Related discussions: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1172471904 We want to use CP2102 instead of FT232, it's smaller form factor, cheaper and it has a stronger brother F32x & F34x. These USB MCU F32x could be programed to many USB devices easily. Example for HID:http://www.cygnal.org/ubb/Forum9/HTML/001381.html

4. Make it flat

We want place a proto board directly onto Arduino? The B-type USB, power jacks are standing in the way.

Alternatives will be mini-USB, ext power pin plug. Moreover, the reset button is moved to the edge of the board, so that we can reset easily while bearing shields.

5. Two extra Analog - ADC6, ADC7 6. 3.3V and 5V switch 7. Full UART pin out 8. Other trival improvement 9. Reorganize the PCB

The v1.0b PCB and Scheme will be released very soon, under Creative Commons Attribution-ShareAlike 3.0 License. Suggestion sincerely welcomed! It's not an official version, and we would like to call it Seeeduino ^^

Ah…nice.

Good idea with the second header on .1 inch centers, but not throwing away compatibility with old shields. Using this board, people can throw together custom shields with cheap proto donut board.

For USB, maybe place two jumpers that switch the USB D+ and D- lines to an ATTiny45. It would take up almost zero space. Now you can load the USBTiny or AVRUSB code and implement an HID separately from the main Arduino processor. Provide a couple female headers to run communication pins to the Arduino. I have firmware that allows an ATTiny45 to act as an I2C gateway for another controller, to appear as a mouse, joystick, or keyboard on a computer. Or, if you don’t want to include the ATTiny45, at least provide the footprint and USB jumpers so users can populate that part of the PCB if they want to.

We want to use CP2102 instead of FT232

The CP2102 device has poor support under Mac OS X (that driver is the only software ever to crash the mac os x kernel on me). IIRC it lacks a unique identifier, which is very important if you use more than one device at a time.

I have used lots of these things at work, and FTDI is the best solution out there.

-j

Combine from the other duplicate thread:

Melka's reply: Quote: 1. Align the header with 2.54mm grid.

Related discussions: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1206626508

Place an second row of header align to standard grid. So it will be compatible to existing shield and your proto board. Both of the headers will be soldered, or either of them.

Is it possible to do ? What solution do you have ? Headers with a 1.27mm pitchs ?

Quote: 3. Possibility for USB HID support.

Great ! Worth trying, I think.

Maybe you could include the side switch instead of the jumper for selecting between USB and external power. http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1218817652 Maybe the same switch for the auto-reset.

Nice update to the board family, in any case ^^

Oracle's reply:

Quote from melka on Yesterday at 17:27:46:

Is it possible to do ? What solution do you have ? Headers with a 1.27mm pitchs ?

Easily. I suggested this ages ago in the bugs and suggestions forum. Imagine the standard Arduino Diecimila board. Now along the digital IO connectors put a second row of IO connectors 0.1 inches closer to the edge of the board (you may need to make the board 0.1 inches wider). The second row can easily be attached to the first row on the PCB (each pin is just a 0.1 inch jump away), but now on the second row, correct the spacing to 0.2 inches between the two headers.

You can connect a shield to the old connectors or a standard perf board to the new headers.

We want to use CP2102 instead of FT232

The CP2102 device has poor support under Mac OS X (that driver is the only software ever to crash the mac os x kernel on me). IIRC it lacks a unique identifier, which is very important if you use more than one device at a time.

I have used lots of these things at work, and FTDI is the best solution out there.

-j

It's a serious problem to consider... I have sent mail to silabs with your comments. We might stick to FT232 if there is no news for CP2102 Mac OS support. Or, is there other USB-UART chips could be a better alternative? Like PL2302 for example. It'll help reduce the final price remarkably.

Thanks ;)

Ah.....nice.

Good idea with the second header on .1 inch centers, but not throwing away compatibility with old shields. Using this board, people can throw together custom shields with cheap proto donut board.

For USB, maybe place two jumpers that switch the USB D+ and D- lines to an ATTiny45. It would take up almost zero space. Now you can load the USBTiny or AVRUSB code and implement an HID separately from the main Arduino processor. Provide a couple female headers to run communication pins to the Arduino. I have firmware that allows an ATTiny45 to act as an I2C gateway for another controller, to appear as a mouse, joystick, or keyboard on a computer. Or, if you don't want to include the ATTiny45, at least provide the footprint and USB jumpers so users can populate that part of the PCB if they want to.

Yes, it's a easy. We would add this feature by 1) Pin out USB D+ and D-, 2) setup a jumper to bypass the onboard USB chip.

Or, is there other USB-UART chips could be a better alternative? Like PL2302 for example.

That one has the same issue with serial number. Not sure if it even has Mac OS X support, but that would be worth checking before making a design decision.

Or, is there other USB-UART chips could be a better alternative?

Not that I've seen, but I've only been doing computer support for 18 years, so I could have missed a few...

It'll help reduce the final price remarkably.

Eh? The FT232 is only $3.99 in single unit quantities at digikey. You can save at most a couple of dollars, and in return you get an (IMO) inferior product that is not compatible with existing Arduinos.

It's your design, though, so of course it's your call.

-j

Im with kg4wsv, the CP2102 is a seriously flawed device and would make your board no longer 100% compatible IMHO.

If size is the problem you can get the ftdi chip in a MLF package which would be great for machine assembly but good luck to you if you want to hand solder your protos. For that mater the same goes for the ATmega168 just look at pololu's mini orangutans.

Finally reconsider your license... there has been these debates on the fora about derivative works and how they should always be distributed with the same license as the original. Last I knew Arduino was under the cc2.5 license.

Best, B

is there other USB-UART chips could be a better alternative?

TI has something, and apparently cypress has (or will have) one of their USB-capable micros re-spun as a USB/RS232 bridge. They all seem to have "issues" with OS support other than windows... I don't think I understand the "reduce the final price considerably" issue; on the sites I've looked at, the FTDI chip currently used and the CP2102 are very close in price.

In the real open-source mindset, perhaps the dedicated USB/Serial bridge should be replaced with a general purpose micro that supports USB. Cypress, Microchip, and even Atmel have relatively small and inexpensive micros that include HW USB support, frequently at per-chip costs lower than an FTDI chip. (AT90USB82 $2.32 in 25s at digikey.) However, the difficulty and cost of supporting yet another bit of firmware and three OS drivers (N versions each) is NOT to be underestimated. FTDI has done a really good job of keeping up with things...

So we would switch back to FTDI, thanks for the suggestions.

Here is feedback from Silabs about the compatible issue, for your reference:

When a CP210x device (and any other USB device as well - no matter who the manufacturer is) is connected to the PC, it is uniquely identified by a combination of three identifiers - Vendor ID (VID), Product ID (PID), and Serial Number. If two or more devices with identical information are connected to the PC simultaneously, the operating system is unable to distinguish between them and only the first device or none of them will work correctly.

But if your application needs two or more CP210x devices connected to the PC simultaneously, there is a very simple solution, the CP210x devices should be programmed with unique serial numbers. The serial numbers can be modified in the CP210x EEPROM using the CP210xSetIDs.exe utility available as part of our application note AN144. AN144 can be found on our web site here: https://www.silabs.com/products/mcu/Pages/ApplicationNotes.aspx

It is also strongly recommended that you use a unique VID / PID combination for your product to prevent conflicts with another manufacturer's products, more details about this can be found in our Knowledge Base article # 87271: http://portal.knowledgebase.net/article.asp?article=87271&p=4120

Finally reconsider your license... there has been these debates on the fora about derivative works and how they should always be distributed with the same license as the original. Last I knew Arduino was under the cc2.5 license.

Best, B

It will be our first time releasing designs under cc lincenses. We read about the guideline, but not sure if we are doing in the right way. Thanks for the reminder!

Seeeduino, will be compatible with Arduino's CC2.5 share alike license. We see a explanation in http://creativecommons.org/licenses/by-sa/2.5/: A new version of this license is available. You should use it for new works, and you may want to relicense existing works under it. No works are automatically put under the new license, however. So we adopt cc3.0 share-alike licenses.

Please help correct us if wrong. Appreciated :)

I just thought of it : you might want to add this little hack (if you use the FTDI chip) http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1217113409/

Brrrrravo~~~ Thanks again Melka! > :)

Xie Xie ^^

Check this out ;D

Larger file http://www.seeedstudio.com/depot/images/product/seeeduinoPCB.png Scheme: http://www.seeedstudio.com/depot/datasheet/seeeduino.sch

The xbee shield plugs onto the ICSP connector. Perhaps some other shields also make use of the ICSP header. Since you have moved the ICSP header those shields won’t work.

It seems to me that you have a whole lot of headers that weren't on the original arduinos so, correct me if I'm wrong, maybe it can be interesting to find a solution for bypassing the FT232 and replacing it with an ATtiny running AVRUSB for those who want it. I was thinking a small switch of some sort (or jumper) on the VCC/VCCIO of the FT232, and a header allowing easy access to the D+/D- pins of the USB socket. I might be saying crap ^^

Just a warning...

Experimenting with different processors it has become clear that we can't guarantee that SPI will always be on 13,12,11,10 so the most reliable way to pick up SPI is through the ICSP connector like the XBEE does..

it's becoming a forest of connectors :)

My bet is that this board is going to be one of the best for those who want to hack the arduino itself... ^^ Speaking of headers and connectors, wouldn't it be neat to have a socket for the ATmega? This way, it will be easier for a lot of us to program the chip and move it to a standalone design. Ok, you can do it via ICSP, but this way you would not have to bother implementig ICSP on you target board. And it will be easier for the people who burn their megas (seems to be a lot lately ^^)

Thank you guys for these valuable suggestion!

  • ICSP will be back...: )

... it's becoming a forest of connectors :)

  • Some headers may be left unsoldered by default[ch12290] ::)

It seems to me that you have a whole lot of headers that weren't on the original arduinos so, correct me if I'm wrong, maybe it can be interesting to find a solution for bypassing the FT232 and replacing it with an ATtiny running AVRUSB for those who want it. I was thinking a small switch of some sort (or jumper) on the VCC/VCCIO of the FT232, and a header allowing easy access to the D+/D- pins of the USB socket. I might be saying crap ^^

  • We were seriously considering about the way to bypass USB chip. It would increase complexity further about the board, Maybe it would be more conveniet if people equip another USB jack with ATtiny or else? Please correct me if I have ignored some important factor.

My bet is that this board is going to be one of the best for those who want to hack the arduino itself... ^^ Speaking of headers and connectors, wouldn't it be neat to have a socket for the ATmega? This way, it will be easier for a lot of us to program the chip and move it to a standalone design. Ok, you can do it via ICSP, but this way you would not have to bother implementig ICSP on you target board. And it will be easier for the people who burn their megas (seems to be a lot lately ^^)

  • Thank you for the comment, it's always encouraging! ^^ I will source for the suitable socket first, it's too expensive to use test sockets. If it's making things more complicated - a later Giganic Super Powerful one might include this... :P