View Full Version : Another first controller thread...

Big Dutch
10-30-2009, 11:46 AM
Hi All,

I've been searching various forums and threads to find info that will help my first controller. I found some threads on SOR but I was curious about opinions of some people here. I'll try real hard not to sound too silly... So far I think I've narrowed it down to two choices; Axon or Arduino Mega.

- What I'm looking for is a controller that I can learn to program in C++ or C#.
- I want to be able to talk to it wirelessly.
- I want to be pushed towards learning more about the electronics required
(so I'm not necessarily looking to just plug and play servos or sensors).

I think I have found that they have about the same amount of I/O, the Adruino has more memory (though that may be overkill) but is cheaper and the Axon runs a tad bit faster. I'm also under the impression that the Arduino is more versatile.

Besides the hardware differences I think I've found that the programming on the Axon is at a lower level than the Arduino and I think that's where my uncertainty comes from. Since I'm a noob in this C-stuff, I think the Arduino is the better choice.

Anyone willing to share an opinion or suggestions on my choice?

P.S. If I missed this exact discussion in a different thread here, please forgive me for bringing it up again.

10-30-2009, 12:02 PM
As for the C++/C# comments. No micro-controller I'm aware of has a C# compiler. Also note, anything built on an AVR has a C compiler with LIMITED C++ extensions. You can create C++ classes, but there is no "new" keyword, so you can't dynamically create instances of those classes (in the usual C++ fashion).

For a beginner, the Arduino environment is really nice because of all the example code and tutorials out there.

As for your comments about not wanting "plug and play" so that you're forced to learn some electronics, I think you can learn plenty even if it is easy to plug the sensor in. The axon's biggest strength over the Mega is in the electrical "plug and play" of the sensors -- 3-pin headers really make it easy to plug many of the more common sensors in, which helps reliability -- no sense spending time debugging faulty, troublesome wiring.


P.S. Have you taken a look at the arbotiX? (Disclaimer, I am the creator of the arbotiX) It has the 3-pin header, LDO regulator, etc like the Axon, but works with the Arduino IDE. Also has onboard motor drivers and XBEE wireless socket. One caveat -- it's not really wired for controlling a number of hobby servos like the Axon.

10-30-2009, 01:07 PM
The Axon has more-of-everything over the Arduino - memory, flash, pin-count, hardware serial ports etc. But the Arduino is substantially easier to code for for the reasons Fergs listed.

The arbotiX _is_ an outstanding choice - it's inbetween an Arduino and an Axon for memory, flash, pin-count, hardware serial ports, etc. - but it is pre-wired for using the "smart" AX12+ servos.

Big Dutch
10-30-2009, 02:12 PM
OK, so I sounded a little silly but I learned something...

Fergs, thanks for your feedback. What I should have said was that I want to use C based programming as opposed to e.g. Basic. I'll have a lot to learn there since I have to start my C programming from the beginning. As for your arbotiX controller, that may be interesting and I certainly will look into that one too. I very much agree that I don't want to add my own problems through wiring errors. I'll cause myself enough trouble getting the programming started. Back to the Arduino, do I understand correctly that I can use a shield to add a ground bus and a power bus and convert the 1-pin to 3-pin headers? If the Arduino programming is going to be easier to for a beginner, that will be a big plus.

Adrenalynn, thank you too for your input. Are we talking about the same Arduino here? The specs I found for the Mega (at least speed, I/O and UART) seemed close to those of the Axon. There were some details I wasn't quite sure about.

Thanks again for your help.

10-30-2009, 02:23 PM
Well, the standard 168/328 equip'd Arduino has one hardware UART. The Axon has four. Graphed over the set of real integers, one is very close to four. Graphed over the set of "I need another freakin' port!" - one is no where close to four.

The arbotiX being the larger chip has two hardware uart. 2<4, see above. :)

16KB vs 64KB - see above.

In pincount, we can't even get close if we are really generous. The Axon wins. Period. End of discussion.

The arbotiX is absolutely the ultimate choice if you want built-in wireless (XBEE) and will control smart [AX12] servos. Otherwise - the arbotiX and Arduino are easier to learn programming on than the Axon, but the Axon has got one very good sized AVR in it.

Big Dutch
10-30-2009, 04:11 PM
Eh... Adrenalynn, I don't want to sound like a smarta$$ but the Mega has a 1280 processor with 54 I/O including 16 Analog, 4 hardware UARTs and twice the Flash of the Axon...
at least that is if http://arduino.cc/en/Main/ArduinoBoardMega is correct...

Now, I haven't had much of a chance to look at the arbotiX but that does seem like a great alternative with the XBEE built in and (eventually) the option to use the smart servos. I'll look for the specs some more tonight.

10-30-2009, 04:32 PM
I'm thinking she missed the word MEGA. Those are about the correct specs for the Mega though, that you quoted.

Frankly, the Mega really hasn't taken off much. Most people in the Arduino community are still using stock 168/328 Arduinos (really, you can do a lot with an Arduino, most hobbyists aren't taxing their Arduino in the least, even when the code isn't optimized).

The main reason for a larger processor on the ArbotiX was the need of 2 serial ports. You can cram a lot of code in 32-64kb, with all the stuff I've done, I don't think I've ever had a sketch >30kb in size, inlcuding a lot of terribly inefficient code. The extra RAM in the larger AVRs is probably the biggest boost they provide (and frankly I find that RAM/MHz become the limiting factor long before FLASH size or pin count).


10-30-2009, 05:14 PM
Yeah, I did, sorry - mea culpa. Mea Mega Culpa [snicker]. Mega is the stupidest name imaginable for any Arduino, so I tend to not pay any attention to it. Since they're _all_ Mega's from my perspective.

ATMega8, ATMega168, ATMega328, ATMega1280, ATMega640, etc. (the first three are used in the regular Arduinos)

So as you can see - whoever decided to call it a "Mega" is dumber'n a box-o'-rocks.

Yes, the 1280 has a higher pincount. Good luck with those non-standard spaced plugs, though.

10-31-2009, 03:02 PM
Personally I'd go for the Arduino Mega, and probably add an XBee Shield (http://www.liquidware.com/shop/show/XBS/Arduino+XBee+Shield) to it for wireless. After learning a bit with the Arduino IDE, might go on to AVR programming in GCC using the ICSP header, which appears to be on all 3 boards. I do like the availability of power and ground headers near signal pins, but still like the Arduino Mega for low cost and quite a bit of support.

Big Dutch
11-02-2009, 10:35 AM
Thanks everyone for your input. I've decided to go for the Arduino Mega because of the benefits in the programming. Once I get a better understanding of that, I'll see how to proceed.