GATOR : New Board


The GATOR is a 20 MHz Arduino-compatible board based on a ATmega324P processor. All 28 I/O lines are protected against overvoltage, reverse voltage, overcurrent, and ESD. Perfect for those who make an occasional mistake :wink:

A plastic enclosure further protects the board from mechanical damage and from short circuits due to metal contact.

The board is USB-powered or battery-powered. A 5V power output can power external circuitry.

For sale at http://www.ruggedcircuits.com

looks good for schools and stuff :slight_smile:

Well the interesting thing is that they have it running at 20mhz and have configured the Arduino version 15 IDE to run it. It will be interesting to see if their move to 20mhz dealt with all the issues and questions about running at that speed that have been asked lately, delays, bootloader, and other software library conflicts. I suspect it might be a work in progress for them to get all those issues worked out?

Lefty

I like the idea of packaging up some specialised firmwares and matching GUI control apps for the PC (Windows only though for the GUIs). Should make it easier for beginners to make stuff happen with the board without the hurdle of programming ("where do those semi-colons go?").

Andrew

Very nice board. It would be ideal for industrial control applications it certainly looks the part.

I do really like that thing although i have to admit that the price is somewhat too high to make it really THE Arduino substitute for me.. but that thing looks just like what i could need... hmm....
By the way - why is there a 324 mounted and not a 328? Is it totally compatible?

The 324P has a couple of extra I/O pins, but most important, a second serial port so it can be used as a standalone USB-to-serial converter.

very good concept, have not seen such a good arduino board for schools/industrial learning. think the physical and electrical protection is worth the little higher price.

I continue to wonder why arduino still does not support 20 mhz on the 168 and now 328. It seems a lot of variants got with 20 mhz, and people do indeed want the extra speed.

I realize there are some changes to make to the ide, but the arduino team has made so many enhancements; I wonder why this one never seems to bubble up on the list.

This has to be one of the finest Arduino compatible boards I have ever bought! It is a cross between the 328P and the Mega using the 324P. By having 2 hardware serial ports for networking applications has to be one of its best features along with 20 MHZ operation and ESD & I/O protected pins. Keep up the fine engineering good work - Rugged Circuits. Go Gators.
:slight_smile: :slight_smile: :slight_smile:

blush :slight_smile:

How is it that the Gator can run at 20 MHZ and all the other Arduino boards runs at 16 MHZ? 4 MIPS or 20% reduction in CPU timing is a big haircut in my book.
:sunglasses: :sunglasses: :sunglasses:

How is it that the Gator can run at 20 MHZ and all the other Arduino boards runs at 16 MHZ? 4 MIPS or 25% reduction in CPU timing is a big haircut in my book.

That was my initial question to the posting, but received no answer. Does the 20mhz IDE modifications work with all Arduino core and other libraries, how about user contributed libraries?

It would be hard to see how running at 20mhz might not break some (most?) code present or past?

Lefty

I don't think there's anything preventing other Arduino boards from running at 20 MHz. It should just be a matter of popping off the 16 MHz crystal and replacing it with a 20 MHz one.

The core hardware libraries are pretty well parameterized based upon the definition of F_CPU (CPU frequency) in the compilation process. For example, all of the timing functions like millis(), micros(), etc. depend upon calling clockCyclesToMicroseconds() which returns a number that depends upon F_CPU. Same thing for pulseIn(), etc.

If someone does identify a problem because of the frequency difference, we'd be glad to fix it.

I do really like that thing although i have to admit that the price is somewhat too high to make it really THE Arduino substitute for me..

Arduino Mega (1280) $65 16 MHZ 54 I/O 4 UARTS (Sparkfun)
Arduino Duemilanove (328P) $29 16 MHZ 14 I/O 1 UART (Sparkfun)

RuggedCircuits Gator (324P) $39 28 I/O 20 MHZ 2 UARTS - with ESD & protected I/O & Phoenix spring loaded quick connect/disconnect terminal blocks

You cannot beat the Gator price($US)/performance considering the next step up is the Arduino Mega.

Note: I do not work for RuggedCircuits, but as an end user, the Gator and Gator+ is an engineering work of art!
:sunglasses: :slight_smile: :sunglasses: :slight_smile: :sunglasses:

I don't think there's anything preventing other Arduino boards from running at 20 MHz. It should just be a matter of popping off the 16 MHz crystal and replacing it with a 20 MHz one.

The core hardware libraries are pretty well parameterized based upon the definition of F_CPU (CPU frequency) in the compilation process.

Although code may be parameterized based upon the definition of F_CPU, there will be things that break, particularly code that uses the hardware timers. For example, MegaServo calculates the number of timer ticks per microsecond as follows;
#define TICKS_PER_uS (clockCyclesPerMicrosecond() / 8) // number of timer ticks per microsecond with prescale of 8

On a 16MHz board there will be two ticks per microsecond, 8MHz has one tick per microsecond. The problem is a 20MHz board will also use two ticks because you can't have fractional ticks and the calculation rounds down. This means that if you run the current MegaServo code on a 20MHz board the pulses will be 20% shorter then they should.

This issue is fixable by adding in a fudge factor to the functions that convert to and from microseconds, but that has not been necessary so far and its not in the current code. BTW, the Arduino team is planning to use the MegaServo code in an upcoming release

The existing official arduino servo code does its calculation differently so that may be ok (but should be tested to make sure) but that code does not run on the Mega

Other code that uses hardware timers may also not run as expected, although things like a 20% error in PWM frequency may not matter in most applications.

There has been some discussion in the Arduino developers thread about optimizing the millis calculation using code that assumes the CPU frequency is evenly divisible by 8, but not sure if that will be released or not.

Anyway, don't assume that everything will work the same even if the code is parameterized with the clock frequency.

That's good info...thanks.

The nice thing about this Arduino community is that it doesn't seem like progress is held back by the chains of compatibility. "If it's broke, fix it" is a much nicer way to travel.

Impressive board!

Erm...this may be a stupid question, but does the Gator access its 2nd UART the same way the MEGA accesses one of its? In other words, is that 2nd UART supported when using the arduino software?

Yes, it uses a Serial1 object in addition to the Serial object to access the second hardware serial port, just like the Mega uses Serial1, Serial2, etc.

That support is not in the 0016 release of the Gator Arduino tools but will be in 0017. It just requires a small patch to the HardwareSerial.cpp/.h files in the hardware/cores/arduino directory. If you're really impatient you can download the patched files from http://www.ruggedcircuits.com/Arduino/serialpatch.zip.

What is the "idle current draw" on the Gator?
The 168/328 has about 20 ma. and I believe the Gator has just
a little more due to the 4 MIPS speed increase (20 MHZ) and 28 I/O.
:slight_smile: :slight_smile: :slight_smile: