Design Arduino compatible board for with Wifi and Linux Appliance

Hi,

We are working on a project www.dragino.com which can heavily enhance the performance of MCU , (180M CPU, wifi, ethernet, 8MB flash, 16MB SDRAM etc.). The goal of this project is to solve the connective issue of MCU and provide a offshore product to shorten the development time and cost of MCU products which need powerful feature and internet connection.

The main board is ready in mass production now and we are planing to design a Arduino compatible daughter board. The post is to brainstorm the design concept of this Arduino daugther board. It is appreciate if someone provides ideas here.

cheers,
edwin

Edwin,

This is awesome! I've done something sort of similar a while ago: New project: Arduinoponics
using OpenWRT on a router and communicating to an Arduino over serial. It looks from your wiki that SPI is currently used? Interesting that the board can be programmed as well as just interacted with.
That's an awesome thing for enabling remote firmware upgrades to the MCU if this setup is tucked away somewhere.

But perhaps rather an doughterboard, since this could flash anyway, perhaps an Arduino (well ATMega328 really) could simply be added to the PCB itself, SPI vias etched out on the PCB, and its GPIO exposed externally somehow? I don't know how often you'd really need to replace a daughterboard if this setup could allow you to upgrade firmware via the router itself.

BTW, can your wireless SoC allow for the router to act as a Wifi client and expose a bridged AP at the same time? This is a really great project!

Hi, Nemik,
very nice project that you are doing.

nemik:
It looks from your wiki that SPI is currently used? Interesting that the board can be programmed as well as just interacted with.
That's an awesome thing for enabling remote firmware upgrades to the MCU if this setup is tucked away somewhere.

There is a 2x7 connector in the Dragion. This connector includes: SPI interface, UART/serial interface, 3.3v, 5V.
you can use 3.3v or 5v to power the Arduino and use SPI , UART to communicate with Arduino. The SPI can also be use to remote upgrade the MCUs via avrdude. A pin map of Dragino is here http://www.dragino.com/MS12/architecture.html

nemik:
But perhaps rather an doughterboard, since this could flash anyway, perhaps an Arduino (well ATMega328 really) could simply be added to the PCB itself, SPI vias etched out on the PCB, and its GPIO exposed externally somehow? I don't know how often you'd really need to replace a daughterboard if this setup could allow you to upgrade firmware via the router itself.

Our plan is to develop a plug in Arduino board (like Duemilanove), then provide Dragino and this Arduino plug board as a development kit. i think this will let developers more easy/friendly to use for their development. The post here is get the ideas what feature of such board should have.

nemik:
BTW, can your wireless SoC allow for the router to act as a Wifi client and expose a bridged AP at the same time? This is a really great project!

not quite sure if OpenWrt support this, but i know someone already use the same wifi interface to run Ad-hoc and Wifi client together.

Edwin

The connector sounds great. However about the plugin board...I still think perhaps just making that board part of the Dragino PCB is nicer. That way, there is no external board to mess around with. The MCU might not even need to be soldered to the board, there could just be a DIP adapter there. But it seems to me that if you're going to design an Arduino-based daughter-board for the Dragino, it will be specific to the Dragino anyway, right?
So why not just make it a part of the product from the beginning. Jumpers can set it to 3.3v versus 5v, perhaps even the capacitor could be swappable? But that way the entire product is smaller, in one package, less parts to buy and cheaper to produce than two boards which will plug into each other anyway.

As for the wifi AP and client simultaneously, I managed to pull this off with the Fon 2100 router I was using, but it was a big pain. I'm not sure if you guys plan on modifying OpenWRT slightly for your platform, but if you do; making such configurations very easy would be nice for many people.

Hi, Nemik,

At the beginning our design is put the Arduino inside the PCB. But we finally design to remove it because:
1/ It is hard to do the determine the pin configuration for different applications.
2/ developer may need to change slightly Arduino part hardware to adapter for different enviroment.
3/ Compare with designing a full feature product, the development for the Daughter board is easy and have a short lead time, low cost.
4/ The Dragino will limited to the AVR MCU while use modular design. It can be used for other MCUs like PIC, STC.. etc through a short development time. what to do is design a module as well.

We think modular design is the best way to spread the open source product and will highkly reduce the development cost and time on release a new product. This is very important when you have a new product concept and want to test the market before manufacturing them in volume.

Cheers ,
Edwin

That approach makes sense. I suppose the best Arduino daughterboard then would be one that also allows shields to be stacked on top since many people are used to doing that with Arduino.
I think making the board act and feel as much like an Arduino would probably be the easiest for people to develop for.