Slashdot Mirror


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. :-)"

56 comments

  1. Linux friendly microcontrollers by ActiveSX · · Score: 3, Informative

    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).

    1. Re:Linux friendly microcontrollers by slacy · · Score: 3, Informative

      I too would recommend the AVR series from Atmel. Their development boards (STK500 et. al.) are fairly inexpensive, and work with a variety of chips, including the cheap and versatile "2313" chip, my personal favorite.

      If you're famaliar with C programming, then the AVRs are excellent, as gcc will cross-compile for these chips, and give excellent performance for the dollar, as most of the chips operate at 1 instruction per clock, speeds between 4 Mhz and 10Mhz. Getting a single-chip, 10 MIPS solution for $4 is pretty unbelivable.

      As well, the chips are extremely cheap, (between $1.25 and $10) and easy to incorporate to whatever homebrew projects you can come up with, with minimal extra circuitry required, and extensive documentation in the spec sheets. Most of them are available in DIP form, so they're easy to prototype using a handy-dandy protoboard.

      Just go to digi-key, and search for the parts I've mentioned above, and go from there.

      Steve

    2. Re:Linux friendly microcontrollers by rossifer · · Score: 2, Informative

      One of the best places for information on AVR software modules, OS's, emulators, compilers, assemblers, application notes, prototype boards, etc. is avrfreaks.net

      Many of the software offerings are free (especially those from Amtel and the Open Source world) and most of the prototype boards are very reasonably priced. One of the more sophisticated boards is available for under $200.

      Regards,
      Ross

    3. Re:Linux friendly microcontrollers by alienw · · Score: 1

      Basic stamps are basically toys. They are waaaay overpriced and programming in basic is pretty much like programming in assembly with less-scary names for instructions. Not to mention you can't use any of the advanced features like interrupts, timers, and so on.

      I suggest you start with a PIC, MPLAB (yeah, yeah, it's for windows -- so what?), and a JDM programmer with ICProg. It's a nice, easy-to-use solution.

      The 8051 platform is also very nice, since it is very commonly encountered. For instance, the Cypress USB microcontrollers have 8051 cores. This platform also has a few free C compilers.

      I haven't tried the AVRs yet, but I heard they are nice too. I would choose them if you want to program in C.

  2. Well, since you are looking for... by rusty0101 · · Score: 2, Informative

    ...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...
  3. How about an 80186 board by baywulf · · Score: 2, Informative

    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.

    http://www.jkmicro.com/products/flashlite186.htm l

    1. Re:How about an 80186 board by baywulf · · Score: 2, Insightful

      I just realized you wanted non-windows development environment. Since this board is a x86 with a DOS like shell, you can use any 16-bit x86 cross compilers for Linux.

    2. Re:How about an 80186 board by Froggie · · Score: 2, Funny

      Hm, you could port Minix ;-)

    3. Re:How about an 80186 board by Anonymous Coward · · Score: 0

      I realize this story isn't going to get much attention, and not that many people are going to be reading this, but that was one of those posts that got a laugh out of me. good one.

  4. good book for pics by brandond1976 · · Score: 4, Interesting

    Programming and Customizing PICmicro Microcontrollers by Myke Predko

    Available on Amazon. The book icludes a PCB and parts list for building a PIC programmer. It includes a dos program (runs fine in wine) for transfering your programs to your pics.

    This book is a lot of fun if your into this type of thing. I highly recommend it.

    1. Re:good book for pics by gmiller123456 · · Score: 1

      Actually I hate this book. Most of it is a copy of the PIC Datasheet, and the programs are all assembly. This book might be a good, scratch the surface, type, but don't get this book thinking you're going to walk away knowing how to program PICs on your own.

    2. Re:good book for pics by L3WKW4RM · · Score: 1

      I second that, Predko's book is great for getting into PIC development starting from scratch. His website has some good info about the book, including a great chapter available for free on microprocessor/hardware interfacing (applies to a broader audience than just PICMicro developers). He even covers a few Linux development tools in the book.

      Since it's mostly on-topic here, I'll use this chance to mention that I've got a listing of manufacturers who will provide you with free samples. Microchip will happily send you a package stuffed with 15 PICMicro MCUs every couple of months. Free samples for EE/CpE projects

      For an idea of what the home tinkerer can do these days, check out these incredible projects by Thorsten Klose. You can build some incredible MIDI synthesizers, sequencers, controllers...all based around simple PICMicro designs. Very, very cool.

    3. Re:good book for pics by NateTech · · Score: 1

      This book is getting very dated and the included programmer is known to have been a "problem child" for many people, as it's not a very robust design.

      Save yourself the headache and buy something else.

      --
      +++OK ATH
  5. Consider the AVR by maetenloch · · Score: 2, Informative

    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.

    1. Re:Consider the AVR by mlyle · · Score: 3, Informative

      The AVR is wonderful. Note you can get a complete development platform, the AVR Butterfly, for $20 and the price of soldering down a 3 pin serial header. Digikey has a bunch in stock.

      The AVR is a really powerful architecture, and the GCC toolchain works pretty nicely, though there are some idiosyncracies (the main being that register naming is not consistent between all the parts, and occasionally flags are wrong.

    2. Re:Consider the AVR by zsazsa · · Score: 1

      I third the AVR suggestion. There's a decent HOWTO on getting an AVR toolchain going in linux here.

    3. Re:Consider the AVR by slacy · · Score: 3, Interesting

      Wow. I'm famous!

      You should really be going here: slacy's page about building avr-gcc and avr toolchains for Linux

      Thanks!

    4. Re:Consider the AVR by cnvogel · · Score: 2, Interesting

      If you consider doing more complex stuff with AVR microcontrollers, the "Ethernut 2" functions as a very interesting development environment (or even as a complete building block for products/projects). For about EUR 150 you get:

      ATMega128 Microcontroller + 512 kByte RAM
      Serial ports: RS232 + RS485
      100 MBit Ethernet
      most digital I/O and analog inputs of the Mega128 accessible on a row of jumpers.

      The complete operating system (providing TCP/IP networking for example) that's running on that board is availably as sourcecode, you use your trusted gcc/binutils toolchain.

      Programming is done via straight cables from your parallel port to the ethernut (or you can buy ready built programmers very cheap).

    5. Re:Consider the AVR by divbyzero · · Score: 1

      As it happens, I'm just getting started with AVRs myself (the ATmega8535), and am in the process of purchasing equipment. What is the inexpensive, parallel-port-based programmer of choice for users here? Someone recommended to buy one off Ebay instead of building your own, but the only ones there are from Bulgaria, and heaven knows if the company is reputable.

      --
      But my grandest creation, as history will tell,
      Was Firefrorefiddle, the Fiend of the Fell.
    6. Re:Consider the AVR by mlyle · · Score: 1

      Building your own is really not that bad. You can hook the parallel lines directly up to the AVR's JTAG pins.

      But the route I went was to get the Atmel serial programmer. It's only $29, and works with the Atmel software. Search for "ATAVRISP" at digikey.

      The AVR butterfly emulates the AVRISP through its bootloader, and has RS-232 level conversion-- so there's even less to fiddle with (though you do need to terminate the two serial signals and the ground in a DB9.)

    7. Re:Consider the AVR by John+Miles · · Score: 1

      The STK-500 from DigiKey is a good way to go.

      --
      Dahlmann tightly grips the knife, which he may have no idea how to use, and steps out into the plain.
  6. PIC's by Artega+VH · · Score: 3, Informative

    You've already found gputils its a great place to start...

    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 /. style i'm going to ignore that: :p

    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.
  7. PIC's rule! by pedro · · Score: 3, Insightful

    While I am sure that there are probably better examples of deadly serious microcontrollers out there, I have to say that Microchip's products really satisfy the hacker impulse in me.
    I cut my teeth on 8080's (conditional calls and returns? WOOHOO!) and 6502's (gotta love those flag behaviours) and the PIC families rock if you're into major algorithmic gymnastics.
    Everything you could possibly want in a uP is there, and executed beautifully if you're a cycle counting maniac like I am.
    Microchip's tools are basic, yes, but they *are* free, mostly, and perform as advertised.
    Braving the win environment is just something you'll have to put up with if you want to stay on the bleeding edge of what they offer.
    As other posters have mentioned, however, there exist GNU style tools that I suspect might fulfill your needs.
    I must mention, however, that the real power of the PIC products can only be accessed fully by coding to the metal directly.
    Know the chip that you're using intimately.
    A logic analyzer might help also, since you're going to be twiddling ports in a rather brazen fashion.

    --
    Brak: What's THAT?
    Thundercleese: A light switch.. of TOTAL DEVASTATION!
    1. Re:PIC's rule! by AmiMoJo · · Score: 2, Insightful

      "Everything you could possibly want in a uP is there"

      Almost - the only PIC with USB has a UV erasable ROM, not the easiest thing for doing development with.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  8. MSP430 by Jim+Morash · · Score: 3, Informative

    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

    1. Re:MSP430 by nmnilsson · · Score: 2, Informative

      I'll second that! The MSP430 is a really fun MCU and easy(fast) to get started with.
      You'll get a devkit (with JTAG programmer) from Olimex for cheap (~20$).
      And it works fine with MSPGCC.
      This page holds your hand during your first gdb session.

      I've used this setup in several projects with no real problems.

      --
      No sig to see here. Move along.
    2. Re:MSP430 by Pogue+Mahone · · Score: 1
      I just ported my own OS kernel (davros) to the MSP430. Mostly quick & easy - a couple of quirks in the I/O area, but that's normal on nearly all microcontrollers.

      I expect to upload the source to my homepage in the next few days:
      home.graffiti.net/pogue/downloads/davros/
      (but don't bother looking just yet, unless you want x86 and/or tricore)

      --
      Every bloody emperor has his hand up history's skirt [Peter Hammill/VdGG]
    3. Re:MSP430 by prostoalex · · Score: 1

      As an embedded developer and consequently involuntary tester of MSPGCC, ImageCraft MSP430 Compiler and IAR Embedded Workbench, I suggest IAR for anyone willing to get into the industry. THe optimizations and functionality, as well as the quality of code generated is far better.

  9. 8052 by pauldy · · Score: 2, Informative

    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.

  10. Zilog and Rabbit Semiconductor by p7 · · Score: 1

    I have been looking at the different controllers from Zilog and Rabbit Semiconductor.

    Rabbit is a spinoff from Zilog, I believe. If you take a look at the sites, they each have some interesting Microcontroller solutions.

  11. 8051 with SDCC compiler by toybuilder · · Score: 1

    There are tons of 8051-family boards out there, some quite cheap. You can use SDCC (sdcc.sourceforge.net) to develop your code in C and 8051 assembly. It works pretty well.

  12. Rabbit by BhAaD · · Score: 1

    I recently finished working on a small project involving Microcontroller and Transceiver Interfacing.
    I used the Rabbit 2000 (an older version) of the rabbit, and i found that it was easier to implement rather than the AVR.
    All I did was make a simple interface PCB between the uC and the Transceiver, which worked out great.

  13. handyboard by blackcoot · · Score: 2, Interesting

    it may be overkill for you, but i've used the handyboard (www.handyboard.com) for robotics stuff. it uses a c-esque language called interactive c, which is available gratis for linux, windows, and os x. it's a pretty decent (not great) environment. and if that fails, you can just program it in assembly (motorolla).

  14. USB on this one: by samjam · · Score: 1

    USB here:
    http://www.mpeltd.demon.co.uk/usbstamp.htm


    Very tiny here:
    http://www.mpeltd.demon.co.uk/tiniarm.htm


    You can program em both in FORTH if you want to (see forth) - forth is like a macro-macro-assembler where you derive your own language in it, one which is ideally suited to your problem.

    Sam

  15. Why not build your own board? by Squant · · Score: 1

    Its not that difficult to build your own solution, i have found out that many of the boards are quite pricey. As an student myself i really dont want to buy premade solutions, becouse it detracts a bit from the learning experience and its much cheaper to build your own.

    Many micro's can be had as samples from a lot of vendors, like microchip, maxim-ic, atmel, Texas instruments (the only ones i have dealt with).
    The 8051 solution of maxim is quite good for digital experiments (lots of I/O's and very fast).
    The AVR is more suited in my opinion for applications that can take full advantage of their integrated prepherials. Such as robotics or control applications.
    I have no experience with PIC's as they are quite limited and difficult to program in my opinion. Lots of online information on these chips, like programmers and tools.

    There are a lot of programmers for many controllers floating on the net. The best i have found is the pony prog software (free), the schematics are there and support a lot of devices.
    http://www.lancos.com/prog.html
    I have used the parallel AVR programmer, its just an simple 74HC244 latch with some components.

    The dallas 8051 micro's have an very simple programmer with some simple tools to load programming files into them (.HEX files). See the user guide at the final pages.
    http://pdfserv.maxim-ic.com/en/ds/DS89C420 .pdf
    These devices can be programmed with SDCC (free opensource) or Keil microvision (evaluation copy has 4k code limit).

    There are many choices for building your own board, just browse on google. You will appreciate the price difference. If you are not sure if an solution works right away. You can build it first on an breadboard and when that works, build it on an experiment board.

    You can check my homepage under "projects" to see what kind of things i have built. Many experimentation boards included for all kinds of devices (8051, AVR, CPLD). All have their schematics included, or links to those schematics.

  16. Maxim-IC TINI board by Miguel+de+Icaza · · Score: 3, Informative

    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]
  17. Look at the OOPic by Anonymous Coward · · Score: 0
    Anyone wanting to work with microcontrollers, and especially those wanting to get started with them, owes it to themselves to check out the OOPic

    OOPic home page. The OOPic is a PICmicro based controller that includes it's own OS that offers hardware object-oriented programming. It makes working with robotics stuff actually fun.

    There is also a yahoo group for the OOPic dicussion, which is the primary support forum.

    Supposedly Microchip are impressed enough with the OOPic OS that they're going to start selling it directly as an offering with PIC's.

  18. what I use by fliptout · · Score: 2, Interesting

    I do some consulting using the Microchip Pics (pic16f870 mostly for the moment). In school we used the motorola 68hc12.

    Since you are an EE student, you might look into checking out a development board from your department. That should give you something to play with for free.

    Failing that, I'd recomment getting a breadboard, a few sample Pics (free samples, w00t) or whatever microcontroller you want, instead of a development board. Depending on what kind of controller, you may need an external oscilator or that sort of thing, but overall the setup should be pretty cheap.

    I cannot attest to the quality of open software tools, but for my consulting, i use a combination of Sourceboost and MPLAB to program pics. There is a linux version of the Sourceboost IDE for around $70.

    --
    A witty saying proves you are wittier than the next guy.
  19. piclist by mmynsted · · Score: 2, Informative

    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

  20. Pick the Tools, Then the OS by occamboy · · Score: 1

    Programming microcontrollers is infinitely easier than it was, say, 20 years ago, but it's still extremely non-trivial.

    Particularly for small projects, where R&D costs are much higher than parts costs, I'd recommend picking the controller and support tools that are best, and then running whatever platform is needed to support these.

    As to controllers to use: the Atmel AVR family is very fast and clean, with low power consumption. For connection with the outside world, the EZ80 Acclaim series has a built-in TCP/IP stack and Ethernet controller, so you can serve web pages, send email, and so forth - looks nifty, but I haven't tried it. (I did use Z80s though, back in the CP/M days - the architecture was way better than the 6502, FWIW).

  21. stay with pic by noah_fense · · Score: 1


    The student's way: (from one to another)
    1. Use the free tools on freshmeat.org
    2. Build your own pic programmer board (search google) instead of buying one.

    Most kits cost well over a students hobby budget, but if you are hardcore into PIC programming, use Windows with Microchip's ICD2 (in-circuit debugger) and MPLAB IDE.

    -n

  22. Minix by Inominate · · Score: 1

    Minix already will run on it, no porting needed.

    1. Re:Minix by Froggie · · Score: 1

      It has no screen and there's no guarantee that the serial ports are like those on PCs. So unless you've tried this I'm not convinced.

  23. Get on the PICList by gmiller123456 · · Score: 2, Informative

    http://www.piclist.com/techref/piclist/index.htm

    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.sht ml

    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.

  24. serendipity by dr_leviathan · · Score: 1

    I'm so glad the question was asked, and that so many people answered. I've been thinking about playing with microcontrollers again but didn't want to stoop so low as to have to use Windoze as the developmemt environment.

    I've got a friend who has an idea for a little gadget and was thinking about helping with the construction. He's less interested in learning uC magic than just getting the thing working so I bought an Xport 2.0 card which turns a regular Nintendo GameBoy into a little robotics development kit for the project. It should arrive in a few days.

    Sigh... I'll probably have to use his Windoze machine for programming the card, but at least I can use gnu/linux for the actual editing. And overall it's going to be a fun project.

    Now I'm off to check out AVRfreaks.org -- thanks everyone.

    --
    Religion is poison to rationality, and we lose sight of that at our own peril. -- Lurker2288
  25. MSP430 by apirkle · · Score: 1

    You can get MSP430 starter boards *very* cheap (~$20) from www.sparkfun.com. Then you can go to mspgcc.sf.net and build a GCC cross compiler, which is mildly painful, but not too bad. I was able to get the whole thing going and flash a program that blinks an LED onto the uC with about an hour of work.

    Join their mailing list if you have trouble, it's quite active. There's also a very active Yahoo! group (ick) called MSP430.

  26. I've always liked the Zilog Z8 by macemoneta · · Score: 1
    The Zilog Z8 is a very nice, very easy to learn microcontroller. It's very low cost, and easy to integrate into useful products.

    The development kit, which includes everything you need, can be had for under $40US. Sweet.

    --

    Can You Say Linux? I Knew That You Could.

  27. Free? Yes, Free. by FrankSchwab · · Score: 1

    One really cheap option is to subscribe to a few of the Engineering rags (or read someone else's copy), and sign-up for their Design Contests.

    For example, Circuit Cellar ( http://www.circuitcellar.com/ ) is an excellent magazine for anyone wanting to do small projects with microprocessors; every issue has one or two complete project write-ups. It's worth every penny of it's subscription fee.

    They also have two or three sponsored Design Contests a year. You submit an application when they announce the contest, giving an overview of what you'd like to build with the kits that are part of the contest, and for very little money (or occasionally, for free!) you get evaluation boards, parts, software, etc in the mail!

    Last year, they were running a contest sponsored by Renesas (used to be Hitachi) for Renesas microprocessors. Three weeks after I submitted my request, I got a Renesas H8S/2329 Evaluation board (33 Mhz / 16 MIP microprocessor with internal 384KB FLASH and 32KB RAM) and development software for free!. Can't get much cheaper than that for some pretty serious embedded hardware. The Software timed out after 3 months, but the part is supported by the GCC toolchain, so that isn't such a problem.

    Anyway, that's my suggestion for a start.

    /frank

    --
    And the worms ate into his brain.
  28. Java Microcontroller - the way to go by Anonymous Coward · · Score: 0

    I've been using the JStamp from Systronix recently and have been very pleased. If you value the ability to be able to run the same code on your microcontroller that you can run on your desktop, the JStamp is the way to go. The only problem is that the JStamp only supports the J2ME CLDC java specification - it's basically like coding for Java 1.1. Even with that caveat, it's still a great platform.

  29. Lots of options now... by stienman · · Score: 1

    Back in the bad 'ol days the only thing a hobbyist could easily get ahold of was a PIC or a motorola. But motorolas were expensive, require more support parts, and not as easily obtained. Plus PIC had a nifty flash chip that didn't require a UV eraser. Lastly, they were available cheaply via digikey, and the assembler and full IDE were free. Parallax had a lot to do with their success in the hobbyist market with the basic stamp and then moving you to a PIC if you needed more power.

    Fast forward to today.

    Now everyone and their dog have flash, and many are just now realizing the gains to be had in the real market when the hobbyist market is courted, especially the younger hobbyists.

    PIC - 8 bit, lots or peripherals, good peer support (piclist), some limited free C compilers (SDCC, many for pay with up to 1k words free)
    AVR - 8 bit, fewer peripherals per part, but good enough, good peer support (avrfreaks), GCC
    MSP430 - TI's offering, no free IDE, GCC, support is going up
    Renesas - Higher end (a little distanced from hobbyists) but is coming down

    The AVR and MSP430 have frequent free seminar events with a free dev board and cheap/free/discounted tools. Check online.

    Atmel (AVR) also carry ARM processors (16/32 bit), Renesas has some awsome 16 bit processors, Microchip (PIC) is coming out with a pseudo 16 bit processor/DSP (DSPic) which should be interesting.

    Pic one, do a lot with it, but then branch out and do some projects with the others. You won't know low power until you use TI. You won't know product breadth/peripheral availability until you use PIC. AVR has greater speed in some cases, and often more code and memory space. Renesas is used very widely in Asia (used to be mitsubishi).

    Don't learn one and believe it will do everything you need.

    -Adam

  30. Starting with PICs by Anonymous Coward · · Score: 0

    The 1st thing anybody should do when thinking about PICs is read Wouter van Ooijen's Starting with PICs page.

    gewg_

  31. HC11/HC12, from Motorola (AKA Freescale) by csirac · · Score: 1

    I think anyone who is anyone who knows anything about 16bit MCUs knows about the Motorola HC12 family and it's 8bit predecessor the HC11. The HC11/HC12 is well supported by GCC, binutils and friends (also check out http://www.gnu.org/software/m68hc11/) which is also nicely packaged under Debian/GNU unstable and testing.

    HC12/HCS12 devices are extremely easy to debug and develop software for. There is a fantastic Java-based simulator here. If you don't have dev tools that natively understand Motorola's BDM (Background Debugging Module) protocol, you can use a second HC12 configured as a "pod" device interfaced via BDM pins to the target, which will get you a very powerful interactive debugging console via DBug12 (example session here).

    I've been doing a lot of work with the 9S12DP256 device. It has 256KiB FLASH, 12KiB SRAM, 4KiB EEPROM, 112QFP, 16 10bit A/D channels, CAN, 2xSCI, 3xSPI, etc etc. and clocks up to 25MHz.

    Although HC11s are cheap and easy to come by in 1off quantitites from various retailers, the only HC12s most have available (such as Farnell) are the newer HC9S12 devices such as the one I've just mentioned.

    What's the problem with this? Well on paper, nothing. These are extremely powerful devices. I'm going to use the MC9S12A64 in production; these are just $9.80 USD from Arrow.

    The problem is that what with the HCS12 core and the family's peripherals being relatively new, Motorola Semiconductor is restructuring (renaming to Freescale Semiconductor), there are a godawful huge number of bugs. The most crippling being so far, SCI interrupts being basically useless (can only rely on having one INTR configured), not to mention PLL config deficiencies, BDM defects, etc.

    It isn't too bad if you read the erratta sheet FIRST before chasing your tail and banging your head off the desk.

    From the HC11/HC12 GCC port pages, here's a list of tested evaluation boards. Of these I've worked with the Technological Arts Adapt912, which, whilst a fine board, is quite expensive.

    For a HCS12-based device (actually uses the same IC I've discussed), check out the Adapt9S12, but again at $159 USD it isn't cheap. The best bargain I've found is the MiniDragon+ which actually has more packed on the PCB than the Adpat9S12 and is $89 USD for students/schools/hobbyists. And at still less than the Adapat9S12 price is the super-deluxe-mercedes decadance model the full Dragon12 evaluation board, with on-board LCD, 2xRS485 sockets, 2xRS232 sockets, 7segment displays, speaker, IR, etc.

    I can highly recommend the evbplus.com (aka Wytec) boards, but in doing so I must disclose that I have recieved the MiniDRAGON+/Dragon12 (fr

  32. Forth chips, possibly by Anonymous Coward · · Score: 0

    there used to be Forth based chips out there, google can find them, if you're interested in exploring an alternate direction. Forth seems to have faded away, although still in the OpenFirmware of every (current) Mac and Sun

  33. GNUPic by NateTech · · Score: 1

    The GNUPic project supports PIC on Linux.

    --
    +++OK ATH
  34. eZ80 Acclaim by j()nty · · Score: 1
    I just got a Zilog eZ80 development kit for $99 from DigiKey

    I have to report that the IDE is Windows based, not Linux like the poster asked, but I still reckon the kit is well worth the price.

    Hardware is a 50MHz eZ80 processor, which can switch between old-skool Z80 (16 bit addressing) or new-skool ADL (24 bit addressing). 1MB Flash, 1MB RAM. Ethernet port, yay!. Various serial ports. A few buttons for inputs. 5x7 LEDs for outputs. Expansion bus connectors.

    Software IDE is Windows based as I already said. You can choose between programming in C or assembler, and Forth is available from Douglas Beattie.

    The kit even comes with a little box called a ZPAKII which connects the development kit to my home ethernet LAN. I can sit on the couch downstairs with my wireless connected laptop and program the device which sits on a shelf in the study upstairs. I thought embedded programming was meant to be hardcore and involve lots of pain, but this just feels ridiculously comfortable. [BTW when you open the ZPAKII you find it is just another eZ80 pre-programmed to interface between your LAN and the development board].

    I'm well impressed, even if my girlfriend wasn't.

  35. 8 bit micro hacking under Linux by getnuked · · Score: 1
    Man am I ever pissed for missing this article on Friday, since this is my field!

    I'm always on the search for embedded development tools for Linux. Although once in a while I have to deal with a windows based tool (which I run under win4lin), most of the time I am happily coding, compiling/linking and debugging under Linux.

    I actually cut my teeth in embedded programming with the Intel 8048/8052 (yes the original 12 clocks per instruction). Those were the days - little or no embedded peripherals (the 8048 had no UART, or stack pointer for that matter), handful of bytes of RAM, a few kBytes or Flash, programming required 21V. Today's micros have much more horsepower, a lot more memory and (more importantly) lots of embedded peripherals. What is also very nice is that most modern micros can be programmed with a single bit banger from the parallel port using their ISP (In-Service Programming)!

    Although the PIC micro was a great entry level micro (I first used them back in 1991, IIRC), I personally recommend the Atmel AVR as an entry level device.

    Even though the AVR is 8 bits, it packs a hell of a lot of computing power into the instruction set (16 MHz means nearly 16 MIPs). I would call the AVR a pseudo 16 bit micro because many of the registers can be combined to act as 16 pointers/indexes. In fact the stack pointer is 16 bits, allowing a stack up to 64-4 kBytes (although the parts currently only have 8 kBytes of internal RAM, the ones with an external bus can have the stack (.bss or .data for that matter) outside the chip. BTW, don't get confused with the 8051 derivatives with fake out 16 bit access, the AVR has true 16 bit pointers allowing data and the stack to be located anywhere within the RAM memory range.

    Just like the PIC, the AVR needs minimal components to operate. In fact, if you can live with an inaccurate clock, you can actually run the part without a crystal because of the on-chip R/C oscillator. Since there is an on-chip power on reset, you don't even need an R/C reset circuit.

    As for development tools under Linux, you can find the sources for all the GNU AVR tools at my site. I also have a script that will build and install GCC, binutils, libc and GDB/insight for the AVR under Linux (and most unices). You can also find links to free programming tools that allow programming of parts in-circuit (via ISP or JTAG).

    I hope this helps you on your way to embedded hacking under Linux. And remember there are a lot of other nice micros out there so keep looking, and have fun (and good luck with your engineering degree)!