Suggestions about Mega-equivalent with built-in Ethernet

swordfishBob:

[quote author=Jonathan Oxer link=topic=67714.msg498419#msg498419 date=1311804407]
@bubulindo:

Why not connecting it with the external memory bus?

I don't understand. What external memory bus? Care to elaborate?

Guessing he means connect the ethernet feature via address/data port A (D22-29) with D39 ALE, D40 Rd, D41 Wr, rather than using the SPI port. I don't know if there's any existing Arduino ethernet kits that do this. Using SPI means compatibility with existing ethernet shields and EtherTen.
Or have I misunderstood what bubulindo was suggesting?
[/quote]

Yes, that was exactly it. Plus an interrupt connection from the W5100 to the ATmega so you wouldn't have to poll the chip to know if someone was connected there. The reason for that is that with a big memory chip like the 1280 or 2560, there is a lot more space to put in a webpage and act as a server and not a client. Although I believe that this is also in the Ethernet shields so should be here too.

Although the current library wouldn't work, I remember seeing the application note from Wiznet and the code they had (which is used in the library) was prepared to handle both interface situations.
This would add bulk to the board as you would need a latch and a lot more vias going around, so you wouldn't have such a compact PCB as you do now.

Also, have a look and see if it's possible to place two connections on the TOSC pins in the chip. That way you could place a 32,768kHz crystal and run a clock in software on the board. Since this is most likely to be used connected to the internet at almost all times, you wouldn't need an external RTC and just have a crystal to keep time and synchronize time from the internet.

Suggest making the proto area 2 pins longer, to accept at least 1 20-pin DIP.

That's going to be hard but I'll see if I can squash in a couple more.

have a look and see if it's possible to place two connections on the TOSC pins in the chip.

Cool idea. I wouldn't populate it by default, but watch crystals are tiny so I should be able to bring out a couple of pads to solder the flying leads onto. I'll give that a go.

are the Pwr and D13 LEDs different colours?

Yes, blue for power and red for D13, same as on the EtherTen.

Jon

why not go for switch mode regulator?

I'd love to do that. Our assembler is currently checking availability and price on a couple of parts, including the EUP3410 and EUP3452A on this page: http://www.eutechmicro.com/PL_9_11_EN.html

If it turns out I can go switchmode for a minimal impact on BOM cost (and it fits!) I'll do it.

Jon

Those 2 are running at around 300 kHz. You reduce the inductor size if it's higher, something like 1-2 MHz. You might want to check on the WizNet chip on any frequency range to avoid.

Yes, I'm halfway (stopped) through designing a board with the external memory bus, and that was one of the things I thought to be able to have time without much fuss with external components.

Having a switched power supply sounds good to me too. At how much would this be selling?

bubulindo:
Yes, that was exactly it. Plus an interrupt connection from the W5100 to the ATmega so you wouldn't have to poll the chip to know if someone was connected there. The reason for that is that with a big memory chip like the 1280 or 2560, there is a lot more space to put in a webpage and act as a server and not a client. Although I believe that this is also in the Ethernet shields so should be here too.
...
This would add bulk to the board as you would need a latch and a lot more vias going around, so you wouldn't have such a compact PCB as you do now. .

I can understand someone wanting this (and so many other add-ons seem to compete for SPI). However, my priorities would be fitting with the Mega dimensions, having the proto area, and compatibility with existing library.

However, my priorities would be fitting with the Mega dimensions, having the proto area, and compatibility with existing library.

That was exactly my thinking. What I wanted was a board that's like a Mega, an Ethernet shield, and a (small) proto shield all squashed into one as a drop-in 100% compatible replacement.

I'm still interested in ideas that deviate from that though, because there could be other specialised versions to follow if there's enough interest.

Jon

If it turns out I can go switchmode for a minimal impact on BOM cost (and it fits!) I'll do it.

I did a similar design with a land pattern that could accommodate either a SOT223 or a TSR-1 switching reg.

The idea was to allow loading of one or the other according to requirements. The TSR series from Traco can handle 1A with no heatsinking. I gather that DPAK is the main regulator, the pinouts may be compatible or this would allow the use of a SOT223 as it would only be used for lower power application. Either that or just use the TSR to make life simpler.

two connections on the TOSC pins in the chip.

I did this as well, however I had solder bridges to isolate those two IO pins ("after" the XTAL) because I figured with shields attached there would be a high capacitance on the traces due to the long runs/headers/etc.

What external memory bus? Care to elaborate?

The 2560 is capable of using external memory chips, you could add say 1Mb of data memory (in 64k pages). This can still be done on a shield though. In my design I added a RAM chip and a few page-select signals plus battery backup. But I didn't lose space to Ethernet so had the real estate.

ALso, do you have a jumper to break the auto reset feature?


Rob

Graynomad:
I did this as well, however I had solder bridges to isolate those two IO pins ("after" the XTAL) because I figured with shields attached there would be a high capacitance on the traces due to the long runs/headers/etc.

Good thinking... :slight_smile:

swordfishBob:
I can understand someone wanting this (and so many other add-ons seem to compete for SPI). However, my priorities would be fitting with the Mega dimensions, having the proto area, and compatibility with existing library.

True... I made a comment just to put the idea out there for someone with the skills and tools to make boards. Like Graynomad said it is also possible to create all this in a shield form factor, although that would create a very big mix-up for newbies that don't understand how the external memory bus works (although it could be minimized with working libraries).

bubulindo:
True... I made a comment just to put the idea out there for someone with the skills and tools to make boards. Like Graynomad said it is also possible to create all this in a shield form factor, although that would create a very big mix-up for newbies that don't understand how the external memory bus works (although it could be minimized with working libraries).

Murphy's law at work...
I now have a project that comprises reading a heap of UDP packets, performing a calculation, and driving a 4-20mA. The data source spits out 2 packets of a certain size every 10ms. The sender can be configured to send only 1 of the two packets, which is all I'm really interested in atm.
Using an EtherTen, I can receive and process a packet in 11ms, but not 10ms. A faster interface would be great.

I do have a workaround of putting the sender into "triggered" mode where I have to send request packets. I'm also itching to get some EtherMega's so don't want to ask for more changes right now :slight_smile:

Yes, it's been a long, long, ... long time coming, but the EtherMega has finally made the leap from bits to atoms:

That pic has been cleaned up a bit in Photoshop and had the "sticker" added to the RJ45 jack, but at least it shows that it's now an actual physical device.

Some things of note:

PCB Colour. The picture above shows a design-validation sample so the PCB colours aren't correct: the production units will be in the usual Freetronics colours with yellow markings.

Power supply. The reason for the big delay between the last update and getting to this point has been swapping out the linear reg for a switchmode supply. You'd think it would be simple, but no, it turned out to have all sorts of side-effects! The supply we've used is rated up to 28V input, which means you can connect it to any handy power supply in the 6-24Vdc range and it'll just work without causing overheating problems. Current model boards with a linear regulator and an Ethernet shield run a tight-rope between getting enough power to run the Ethernet chip (which requires a good, solid 5V) and overheating the reg. Because I tend to mount Arduinos in odd places (inside walls, etc) it's important to me to have a board that runs cold, so I was determined to go with the switchmode supply even though it caused big delays.

Power source selection. Near the upper left of the board you'll see a 3-way male header with a jumper fitted. That's to select the power source between USB and DC IN. Yes, we dropped the power auto-select. Sorry. One of the big complications with the switchmode supply is that the chip can't handle a back-voltage being applied to its output, so with the traditional supply auto-switching circuit the chip gets fried the moment you plug in USB power. Bummer. In the end a simple jumper was the most robust solution. We looked at switches to use instead, and found that tiny switches able to fit on the board just aren't rated to the 300mA+ that would be required. In fact most of the tiny surface-mount switches you see are only rated to about 20 - 30mA! So, a jumper it is.

Soooo close. The first batch of production units will begin any day now.

Jon
Freetronics: www.freetronics.com

Yay!
Looking forward to getting my hands on this.
btw, I fixed my ethernet performance problem with a small change in the SPI and UDP libraries. Now I can receive and process the required packets in a under 10ms.

While we're on a boards thread...

Something that comes up more often than not is people asking about how to interface with encoders and Arduino.

I've been thinking and it would be possible to pick up a small 8 pin Arduino with an I2C interface, or even a 20 pin and create a board that would receive encoder (quadrature or single pulse) signals and update an internal counter accordingly. The count would then be transmitted via I2C, or even SPI depending on existing hardware in the chip and selection pins.

But then again, I'm not quite sure there would be market for this kind of board... maybe in conjunction with a motor control interface chip... where the 20 pin IC, would count encoder pulses and direction and control a PWM power driver for a motor, all with I2C/SPI interface.

What do you guys think?

Jon, Glad that the SM power worked out. Waiting to get one!

BTW there are other recent arduino-Likes with SwitchMode like:
http://iteadstudio.com/store/index.php?main_page=product_info&cPath=50_51&products_id=467

and at 20V it would almost certainly go into thermal shutdown

add some built in heat monitoring, a sensor under the voltage regulator that can be connected to one of the ADC lines?
(or optionally space to insert an LM35 alike)

Doesn't the ATmega2560 have a similar function for temperature like the ATmega328? Where you can read AD7 and that will give you an indication of the temperature of the chip?

Doesn't the ATmega2560 have a similar function for temperature like the ATmega328?

I thought so to but I just checked the data sheet and no. Anyway it would be too far from the regulator to help with that.


Rob

Jon,

Would it be possible to put the SDCard on the bottom of the MEGA? If I have some shield placed on top I cannot swap it as easy as I would like to ...

I want... The USB Host shield to be able to talk to Ethernet and wireless network dongles (~$9 each.) With enough oomph left over for "something" to simulate the existing wiznet APIs. Mayne an FTDI VNC2 could do it? (256k program memory, not counting the arduino.)
How much of the wireless networking WORK on a typical desktop has to be done outside the dongle itself? You can't get much documentation on those dongles. but you can see what linux does to talk to them...