Advance Arduino hacking

19 views
Skip to first unread message

Woody

unread,
May 9, 2013, 3:19:16 PM5/9/13
to omaha-ma...@googlegroups.com
I have started using NetBeans as my IDE for Arduino development.  This extends the functionality of what you can do with a sketch, by basically bypassing the "Arduino Enviroment" and allowing you to use an Arduino Board as simply an "in" to a mounted, powered, microprocessor.  I stumbled across this article which describes most of what I have learned the hard way (try, fail, google, try again).  Hopefully you will find it useful.
*******
The Arduino was made for beginners. The microcontroller board has a lot of built-in mechanisms that prevent beginners from destroying it accidentally, and its development environment is as simple as possible.  In this article you’ll learn how to develop software for the Arduino in a professional way. For example, you’ll see how to manage your Arduino projects with a good old Makefile that you can easily integrate into your favorite IDE. In addition, you’ll learn that the Arduino platform supports nearly all features of the current C++ standard and that it’s advantageous to use these features for programming embedded systems.

http://pragprog.com/magazines/2011-04/advanced-arduino-hacking

David Knaack

unread,
May 15, 2013, 7:10:05 PM5/15/13
to OMG
I'm not clear on whether this is bypassing /just/ the Arduino IDE and still compiling the Arduino library code, taking advantage of existing sketches and Arduino libraries, or if you're dumping all the Arduino software, and just using an Arduino board as an AVR development platform.



--
You received this message because you are subscribed to the Google Groups "Omaha Maker Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to omaha-maker-gr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Jay Bendon

unread,
May 15, 2013, 7:51:58 PM5/15/13
to omaha-ma...@googlegroups.com
I use vim and make  and my quality of life has returned to the proper balance! :)

--Jay

James Woody

unread,
May 15, 2013, 8:28:28 PM5/15/13
to omaha-ma...@googlegroups.com

While the first is most definitely possible (with some compelling reasons to do so), probably closer to the later.

The uC at the heart of the UNO can do quite a bit as far as microchips go. The Arduino IDE, while making things crazy easy to program, abstracts away a significant portion of what the chip can do, especially when it comes to memory management, i.e. dynamic memory allocation.

Using the arduino IDE gives you an 8 count box of crayons and plywood to draw on. It works well and is rugged. Using a "professional" IDE, likely leveraging libraries that wouldn't run in Arduino IDE, gives paint brush on canvas. Many more "methods" to use, but possible to punch a hole through if not mindful.

Must powerful to me is decent access to the "C+" language. Object oriented programing provides some very elegant solutions to things we "very chunk-ally" code in C in Arduino IDE. When using this type of programing though, you often need to leverage optimizations that simply are not available inside the Arduino IDE.

Way long winded. Sorry.  I'm just learning this stuff, so not always sure on proper vernacular.

James Woody

unread,
May 15, 2013, 8:36:13 PM5/15/13
to omaha-ma...@googlegroups.com

I left off one important thing. I'm not dumping any of the arduino tools. Same compiler and linker that the Arduino IDE uses.

And the coding is no different on netbeans than Arduino. The main functionality of any sketch lies in the core AVR library, or in a user generated library. Using netbeans gives access to even more different libraries.

David Knaack

unread,
May 15, 2013, 10:02:34 PM5/15/13
to OMG
It sounds like you are using the Arduino core (Arduino.h, wiring_digital.c, etc) and just bypassing the horrible Arduino IDE and build system. That's the approach I like. You still get the wide range of libraries that have been written on top of the Arduino core, plus the support of a decent environment.

Dumping Arduino entirely would just be your basic AVR programming, such as with Atmel Studio 6. (Though I see that someone has documented using the Arduino core with Atmel Studio 6 (and AVR Studio 5): http://www.engblaze.com/tutorial-using-atmel-studio-6-with-arduino-projects/ ). Lots of mucking about with AVR registers to configure stuff. Powerful, but lots of (TIFR0 & _BV(TOV0)) crap that is hard to remember if you don't use it all the time.

I've been using CodeBlocks Arduino edition, which is just about brain-dead simple to set up and use, but I haven't done anything but very simple projects with it.

James Woody

unread,
May 15, 2013, 10:31:27 PM5/15/13
to omaha-ma...@googlegroups.com

Yup, thats what I'm doing. I am just amazed at how powerful that little step is, with not alot of "new" learning.

Total +1 on the link, Bro.

I'm looking at OOP (java, C++), as my jumping off point to developing apps on my RaspPi and android phone. As such, I feel I need (our maybe just want) to go the linux-esq route. That was what originally lead me from the Arduino IDE, needing a tool for everything, lol, as it were.

Now, to find a new use for my old UNO.....

:)

GO OPEN SOURCE!

Reply all
Reply to author
Forward
0 new messages