Companies Selling Microcontroller Kits?
An anonymous reader asks: "I'm in college working on an electrical engineering degree, and I've had a few labs so far involving microcontroller setups. I'd now like to start doing some microcontroller projects of my own devising, so I'll need a programmer, the development software, and the MCUs themselves. The problem is that I don't have a wide experience with the different companies selling this sort of equipment. I know about the BASIC Stamps and the PIC offerings, but what other architectures are there? Both of the MCUs I've named have development tools, but they're for Windows. Are there any companies out there that supply their tools for BSD/Linux? What open source projects are there working on this (I've found gputiles). As always, free (as in beer) is good for us college students. :-)"
I've been using the BASIC Stamp Tools for Linux for a while now. It uses the (unfortunately) beerfree parallax pbasic tokenizer so. If you don't want to use the BS, the Atmel AVR series is well supported by open source software, and really fast as well (native code vs. interpreted).
...free as in beer, might I suggest starting by looking at freshmeat.com, and typing 'pic' in the litle search field. When I did it came back with this url which lists several pic programers. The first three specificly indicate they are for Linux. Several of the others indicate that Linux support is included. And so on.
I think you would probably find something similar for Basic Stamp, but I think that I have provided enough suggestions that you might be able to figure out how to look for that as well...
Then again, I could be wrong. Things like that are known to happen.
-Rusty
You never know...
JK Microsystems has a 80186 board for only $69. It has 1 MB of memory and a DOS like shell. They even give you a full Borland C compiler. Pretty good deal.
m l
http://www.jkmicro.com/products/flashlite186.ht
If you're doing simple one-off projects, the BasicStamp is all you need. If you think you'll be doing more projects, it's probably worth investing the time to learn a more complete architecture like the AVR from Atmel.
For $135 you can get a complete development kit for the AVR complete with programmer, leds, and push buttons that will work with almost any chip in the AVR family. You can get a complete GCC toolchain for the AVR free here and lots of support at AvrFreaks.com. That's pretty much all you need to start developing real applications.
You've already found gputils its a great place to start...
/. style i'm going to ignore that: :p
For the pic16f and 18f series also check out the small device c compiler (works with other MCU's too).
There is a related GNU pic site at www.gnupic.org it lists pretty much everything you might need.
You asked about development tools for platforms other than windows - but in true
winpicprog - i've found is quite good, i've yet to find anything in linux or bsd quite as complete...
-----------
As far as programming resources go since I'm actualy focusing on compiling c code for the pic using sdcc i've found that:
Nathan Hursts page on sdcc and the pic14 port (for pic 16 series)
and
Martin Dubuc's pic16 port
have been invaluable resources.
groklaw, wired and slashdot. The holy trinity of work based time wasting.
Check out the msp430 series from TI - fun to program, featureful, low power, and fully supported by free software in the form of 'MSPGCC'. Good stuff
It would have been better had you been more specific on your intent. The microcontroler market is vast and to accuratly answer such a broad question is not easy in a forum like this. First figure out what language you want to program in.
If you are worried about programmers for linux look for microcontrolers that support in circuit programming (ICP) via serial bootloaders. The one that jumps to mind is dallas/maxim's 89c4xx series. Building a programmer for this device requires very little and works nice with minicom.
For more high end you can look at network based microcontrolers. Many of these have small RTOSs that allow remote programming and programs execution.
These things are fairly robust for only having 20Mhz to work with allowing telnet access, FTP access, and even http access straight out of the box. This is one of the easiest microcontrollers I've seen to program do to the fact that you simply write Java code in your regular IDE (IDEA!!), rename the compiled .class file to a .tini file and FTP it over to the board. To start your program, you simply type 'java Test.tini &' and it loads into the background. These boards even have garbage collection (which makes things easier for you, but can slow things down). We were able to get the simple LED flashing demo up and running in about 10 minutes. I consider this a pretty big accomplishment since we have yet to get a serious demo running on the C-based microcontrollers from Atmel which continue to tell us we can't flash them due to some lock bits somewhere on the development kit. While some people have mentioned that the TINI board isn't really Java, I have to argue that the fact that I can write my code using my Java IDE and upload it nearly unchanged makes a pretty strong statement that this board is indeed running Java. At $100 for full Ethernet connectivity and a 20Mhz processor, I think it's a pretty good deal especially if you're a Java programmer looking to get into embedded systems. Now I just have to figure out how we tie it to our RF transmission system!
Before adopting WHATWG, read the moonlight.NET EULA [http://www.microsoft.com/interop/msnovellcollab/moonlight.mspx]
Be sure to check out piclist at http://www.piclist.com
This is a really nice resouce for microcontrollers. (Folks ask questions about electronics, non-pic controllers, etc.) Great place to start your search.
-MM
http://www.piclist.com/techref/piclist/index.htm
t ml
Even if you're not going to go with PICs, there is still a lot of info and help available there. Even though it's called the PICList, it's divided up into several different categories including PIC, AVR, and Electrical Engineering.
Personally I don't like PICs, I use the Atmel *51 series normally. Specifically the AT89C2051. These are small, cheap, and have a lot of support. SDCC supports them very well, any any old Programmer you get on E-Bay supports them. But they're not high performance chips, so you still need to be familiar with other chips for specific needs.
You can get the AT89C4051 at Futurlec for $1.85 each when you buy 25.
http://www.futurlec.com/Atmel/AT89C4051pr.sh
Also I recommend you buy a Programmer on E-Bay rather than try to make your own. My point being, if you screw up one little thing on your programmer, you don't know where the problem lies. After you've got your feet wet, you might try building your own more modern programmer.