So I have a small project I wanted to get into using Arduino, for which bigger full PC solutions like RPi aren't suitable (small embedded controller for home automation). The Arduino 'ecosystem' was confusing before this, now with this infighting it has become a total clusterfuck.
So, what alternatives are there? I need a simple, very cheap and very lower power chip that I can program easily using a regular PC and that can interface with a few optocouplers. Would it make sense to go directly for an ATmega? Or would I need additional circuitry to make that work? If I can program in C that would be OK, I don't need the software to be 'easy to use' - the hardware I'm unfamiliar with though so that needs to be plug and play.
You can just buy the microcontroller and do it yourself from there. Here is a nice example someone did of a simple LED flasher [1] with just 6 parts:
1. An ATmega ATTiny85 microcontroller
2. A socket for that processor
3. A coin cell battery
4. A holder for the battery
5. A resistor
6. An LED
and some wire and solder.
What going with an actual Arduino or Arduino compatible gets you, from a hardware point of view, is a bunch of ready made attachments. For instance, suppose you have some sensor that needs an odd voltage and has weird timing requirements. It will be a lot more convenient to get a shield that has that sensor, and a voltage converter, and something that deals with the weird timing and presents a simple I2C interface to your code than to have to do all that yourself.
There are some EdX courses that you might find useful.
From UTAustinX, "Embedded Systems--Shape the World" [2]. This is a lab-based course where you do 13 or so labs using a TI Tiva Series C Launchpad. That's an 80 MHz ARM Cortex M4 board. Cost for the hardware for the course is $35-$55, depending on if you want to do a couple of the optional labs.
From UCBerkeleyX, "Electronic Interfaces: Bridging the Physical and Digital Worlds" [3]. Another lab course
From MITx, "Circuits and Electronics" [4]. The online version of MITs 6.002 introductory electronics course.
Have you seen mbed? http://developer.mbed.org/platforms/
Not used it for a couple of years myself, but it seems to have expanded in scope a lot recently.
Was very quick to get started hacking (can program over usb from the free cloud-based IDE), and some of the boards are under $15.
An arduino or arduino clone still seems like the best bet to me, in my amateur opinion. Nowadays you can get an UNO clone for $4, and that gets you pin compatibility with Arduino shields, plus loads of guides and help interfacing with other components. I still have a Freaduino Micro (besides my original Duemilanove) and it works fine.
And the Arduino can be programmed in C; in fact, the "Arduino language" is just C (or C++ nowadays?) with some preprocessing and a bunch of helper libraries.
I've also extensively used PIC24's and they're great (fast, cheap, feature-rich 16bit microcontrollers) but I don't know of any existing boards using them (I made my own) and there isn't nearly as much documentation/sample code/libraries as there is for Arduino and clones.
So, what alternatives are there? I need a simple, very cheap and very lower power chip that I can program easily using a regular PC and that can interface with a few optocouplers. Would it make sense to go directly for an ATmega? Or would I need additional circuitry to make that work? If I can program in C that would be OK, I don't need the software to be 'easy to use' - the hardware I'm unfamiliar with though so that needs to be plug and play.