# Any Arduino fans out there?

#### Leftyretro

##### New Member
I started out a couple of years ago with the Picaxe series. I still think that they are still a very viable product line with very low cost of entry and the basic programming language can be good for someone starting out with zero programming experiance.

However a week ago I received a Arduino clone kit. Freeduino Serial v2.0 board KIT Arduino Diecimila Compatible

There are models avalible that use a built in USB interface that also powers the board for a little more money. Unlike the Picaxe the Arduino uses C as it's primary programming language

Great price and it built quickly and works like a charm. The best thing about the Arduino series is that it totally based on open source, both it's hardware and software. No vendor lock in or dependency. It seems to have a large international following with an active forum site and many vendors supporting the series.

Now I know there are lots here that are bare to the metal assembly language/raw chip fans, but from my point of view the Arduino system seems to cover more bases and provide more support then anything else I've found.

A hobbyist dream and I recommend it highly. Any comments?

Lefty

#### blueroomelectronics

##### Well-Known Member
You're still stuck with a single MCU with a bootloader. IMO a simple programmer offers much more flexability.

#### Leftyretro

##### New Member
You're still stuck with a single MCU with a bootloader. IMO a simple programmer offers much more flexability.
Presently the Ardino IDE system only supports some AVR chips but does support the mega8, mega168, mega328 and with patches the 40 pin 64k progam memory mega644.

There is also procedures to turn a standard Ardino board into a programmer to load the bootloader into blank AVR chips. There is also a procedure to burn a program into a blank AVR without using a bootloader if desired.

In theory the Ardino IDE system with it's GCC compiler and other support software could be ported to work with most any MCU instruction set if the open source development team took that effort on. There was some talk on their forum of what it would take to port the IDE to the 32 bit ARM series!

Lefty

#### blueroomelectronics

##### Well-Known Member
I assume GCC is a C compiler? The PIC has plenty including C18SE from Microchip. C is not exactly a beginners language. IMO BASIC is, and Swordfish BASIC is really easy to get a grasp of.

#### BeeBop

##### Active Member
I assume GCC is a C compiler? The PIC has plenty including C18SE from Microchip. C is not exactly a beginners language. IMO BASIC is, and Swordfish BASIC is really easy to get a grasp of.
Yes, but usually it is written gcc. It stands for gnu c compiler.

C18, and quite a few others are based on gcc.

#### Leftyretro

##### New Member
I assume GCC is a C compiler? The PIC has plenty including C18SE from Microchip. C is not exactly a beginners language. IMO BASIC is, and Swordfish BASIC is really easy to get a grasp of.
Yes I believe it's the open source compiler used in the linux system. I failed to mention that the Arduino IDE is already available and works cross platforms for Windows, Apple and Linux. I'm not aware of any other MPU IDE development system that does that presently in all three platforms.

The user isn't exposed to the complexity of the full GCC compiler/assembler/linker/down load procedure unless they wish to dig down to that level with command line statements. With the IDE the user can write simple C programs (there called sketches) and functions that the IDE wraps into to complete the compile and download functions. All in all there is tons of complexity under the hood but the user is normally insulted from it. And of course all the IDE and support software is free and open sourced.

Arduino - FAQ

Lefty

Last edited:

#### Mike - K8LH

##### Well-Known Member
I must say it looks interesting but I'm having trouble finding anything as simple and fundamental as an IDE reference and/or tutorial...

Are there any snapshots of what the IDE even looks like (in Windows environment)?

Mike

Last edited:

#### Leftyretro

##### New Member
I must say it looks interesting but I'm having trouble finding anything as simple and fundamental as an IDE reference and/or tutorial...

Are there any snapshots of what the IDE even looks like (in Windows environment)?

Mike
Found these screen shots of installation and set-up showing a few of the IDE at the end:

Arduino - Windows

#### Mike - K8LH

##### Well-Known Member
Thank you.

It seems I may have to spend a couple days browsing to find more info'.

Mike

#### 3v0

##### Coop Build Coordinator
Forum Supporter
I do not see where the Ardino hardware is much more then a USB Bitwacker.

These days the better uC's are a system on a chip. Slap one in a BB, add sensors, switches, dispay and you are ready to run.

One thing that is good about Ardino is that add on IO boards. Sort of like what Nigel uses.

On the other hand Lada Ada and Peter H Anderson are using it. What am I missing.

Could be that someone has taken the time to glue it all together. Sort of like most compiler verndors do for you.

3v0

#### Leftyretro

##### New Member
I do not see where the Ardino hardware is much more then a USB Bitwacker.

These days the better uC's are a system on a chip. Slap one in a BB, add sensors, switches, dispay and you are ready to run.

One thing that is good about Ardino is that add on IO boards. Sort of like what Nigel uses.

On the other hand Lada Ada and Peter H Anderson are using it. What am I missing.

Could be that someone has taken the time to glue it all together. Sort of like most compiler verndors do for you.

3v0

Yes, nothing really unique about the Ardino hardware, pretty standard stuff. The real strength is the use and support of open source software that is multi-platform. It has a very active users group and lots of built-in and user contributed library functions. The IDE is presently at version 12 so this is a mature software package and they seem to actively add features and correct bugs.

Lefty

#### Mike - K8LH

##### Well-Known Member
You guys are confirming my quick-n-dirty assessment. Someone came up with a reasonably simple cross platform IDE with C libraries supporting a small set of AVR chips with firmware loader on a few very nice multi-purpose development boards. I suspect someone could do the same thing with PIC microprocessors.

I'm kinda' lookin' at this as a way to get into AVR programming on the cheap. I'd love to get one of these $19.95 boards and take advantage of the IDE and loader capability for standard assembler and C programming. But since that's outside my meager budget I wonder if some kind soul here stateside might consider posting me an ATMega168 with firmware burned in to build my own development board? Mike #### Leftyretro ##### New Member Unless I missed it I do not see an ICD, rom monitor or any other form of run control. If tha is the case they missed the point. Not sure I understand your question. The Arduino IDE runs on a PC or Mac, it is used to write C programs, compile and download to the AVR chip via the bootloader routine that is already burned into the AVR chip. There is no other monitor routine resident in the AVR chip. When one resets the AVR chip (or initial power up) the bootloader checks to see if the IDE is ready to download a new program, if so the IDE downloads the program and then resets the AVR chip. If the IDE does not have a new program ready to download then the bootloader routine just jumps to any previously downloaded program that might reside in the AVR chip. Does that make it more to the point? By coincidence I came across a Arduino user program today ( bitlash online ) that does load a program into the AVR (via the Arduino IDE) that turns the AVR into a small C language interpreter, getting it's commands from it's serial port. This would indeed make the AVR a standalone monitor. I ran it and it works pretty cool. I used a PC serial terminal program to command the AVR. Not a lot of program space left for user macros, etc on a mega168 but a mega328 would work better. It has a limit on number of variables allowed but has access to all the AVR I/O pins. I have been amazed at the large number of creative contributed programs that people have written for the Arduino. Lefty #### Leftyretro ##### New Member You guys are confirming my quick-n-dirty assessment. Someone came up with a reasonably simple cross platform IDE with C libraries supporting a small set of AVR chips with firmware loader on a few very nice multi-purpose development boards. I suspect someone could do the same thing with PIC microprocessors. I'm kinda' lookin' at this as a way to get into AVR programming on the cheap. I'd love to get one of these$19.95 boards and take advantage of the IDE and loader capability for standard assembler and C programming. But since that's outside my meager budget I wonder if some kind soul here stateside might consider posting me an ATMega168 with firmware burned in to build my own development board?

Mike

Hi Mike;

Here is the cheapest way I've found to get a preloaded mega168.

Adafruit Industries, Unique & fun DIY electronics and kits

Of course you would need a RS232/TTL convertor chip to then be able to talk on a PC comm port.

Lefty

#### futz

##### Active Member
For Canadians you can avoid the customs wait (usually about a week) by buying some Arduino products at HVWTech. HVW doesn't have everything though. Cables, for instance...

#### BeeBop

##### Active Member
And if you are close to Vancouver, the last time I dropped into Lee's Electronics on Main St. (in Vancouver) he was trying to push one off on me.

Seems they are using them at Emily Carr for the Art/Electronics courses.

#### Leftyretro

##### New Member
Lefty,
Bootloaders are great to update firmware but are a poor choice for developing software. No debugger.

3v0
While I'm not real experianced with software I understand what you are saying. There are two nice to have features missing in the Arduino system, a simulator and a debugger. The only method they offer on debugging is a #define debug where you can place lots of print() statements in the code for run time and after debugging just #undefine debug and recompile and all the print() statements will be removed, at least that is how I think it works.

Are there high level languages IDEs that provide simulation and/or debugging or is that mainly a assembly language feature?

Lefty

#### 3v0

##### Coop Build Coordinator
Forum Supporter

A real time debugger is a partnership between the debugger program, the language system tool chain, and debug hardware (often a monitor on the target chip). With in circuit debug there is a communication link such as JTAG or PIC's ICSP/ICD connection.

The situation is similar with the simulator but obviously the connection is at the software level.

By language system tool chain I mean the compiler-assembler and linker. It does the book keeping needed to track symbols and the mapping between high level and asm/machine code. All this info is rolled into a output file with debug info such as coff, elf, dwarf etc.

The micochip MPLAB IDE has a debugger which works with the similator or a number of hardware debuggers including ICD2/3, PICkit2/3 and RealICE.

The debuggers I have worked with are independant of the language system. If the language system vendor does his job any compiled program can be debugged at the source level.

GCC works with GDB (debugger) for source level debugging if all the connections have been put in place.

With the introduction of JTAG run time control debug hardware went for 1000's to 100's now 10's of dollars. People wanted and needed and purchased it when it was expensive.

3v0

While I'm not real experianced with software I understand what you are saying. There are two nice to have features missing in the Arduino system, a simulator and a debugger. The only method they offer on debugging is a #define debug where you can place lots of print() statements in the code for run time and after debugging just #undefine debug and recompile and all the print() statements will be removed, at least that is how I think it works.

Are there high level languages IDEs that provide simulation and/or debugging or is that mainly a assembly language feature?

Lefty