# Recommended Microcontrollers?

1. Aug 11, 2008

### bumclouds

Default Recommended Microcontrollers?
Hey guys,

Im looking into designing something for a Uni project. What we have in mind is a "Home Automated System". What we are going to do is find a model house (perhaps a doll house) that resembles a real house and design a system that can remotely control door locks, blinds/curtains, lights and heating.

With the heating we're obviously not going to use a real heater, just something like an LED that shows the user that the "heater" has been switched on.

My question to you guys is this: What microcontroller would you suggest for this job?

These are some of the things we will probably need to take into account when choosing our microcontroller:

* We don't have very much experience at coding assembly language, however we've had a fair bit of experience with coding of C and C++.
* Cost isn't really much an issue.
* With the heating, we plan to use a thermistor such as the LM335Z to indicate to the system whether or not the room needs to be heated. So the microcontroller might have to have analogue inputs.
* We will be using stepper motors for the blinds/curtains.
* And electromagnets for the door locks
* We may think about adding in a security feature to the system such as an access pin at some later date.

Any recommendations for a microcontroller would be greatly appreciated! Something that is easy to use and program would be absolutely ideal!!!

Thankyou!!

2. Aug 11, 2008

### NoTime

Just a thought
Having made a blind controller, most stepper motors don't develop enough torque for this function.
I needed to use a gearhead motor.
So optical encoding and/or limit switches come to mind.

Sorry, I'm not familiar enough with current uP selections.
For ease of use you would want a uP development board, most of which have C or C++.

3. Aug 11, 2008

### mgb_phys

A basic stamp (http://www.parallax.com/) would be quickest and easiest.
But it's programmed in Basic rather than C and not commonly used in industry

The Atmel AVR is a very popular family with great community support. http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3146

I haven't bought one yet, but I'm impressed with what you get for the money with this kit http://www.deccancode.com/multiple-micro-support-board.asp [Broken]

Last edited by a moderator: May 3, 2017
4. Aug 11, 2008

### zeitghost

There's always the ubiquitous PICs... so many to choose from.

5. Aug 12, 2008

### Sakha

Basic stamps are great because coding in them is really easy, AVR's are a very nice option too, but stick to the PIC's they're just really great and efficient.
I started with the PICkit 2 Debug Express, and don't regret it at all.
http://www.microchipdirect.com/productsearch.aspx?keywords=dv164121"

Last edited by a moderator: Apr 23, 2017
6. Aug 12, 2008

### zeitghost

PICs are ok if you're developing in C.

The microchip assembler syntax sucks in my opinion.

7. Aug 13, 2008

### asynchronous13

The Basic Stamp is incredibly easy and quick to program. Great for quick proof-of-concept work, but also very limited capabilities. BASIC only.

PICs are numerous, pretty decent, sort of stuck at hobby-level applications. C compilers available.

Atmel AVRs are what I would recommend. Capabilities span hobby to industrial usage. Lots of community help. C compilers available.

Motorola/Freescale 68HC11 is an industry workhorse. Probably more expensive than the other options. C compilers available.

8. Aug 13, 2008

### N468989

8051 is good i think. check it out

9. Aug 14, 2008

### WiseKensai

Well, if you need to do more complex motor control with encoders, A/D's for the temp sensor, code in C, and have enough GPIO do to random stuff (as well as serial interfaces for the planned keypad), you might want to check out a more advanced uP, such as the dsPIC33F from Microchip (the Motor Control (MC) sub family is where you want to look).

The general class of device you're looking at is a DSC (Digital Signal Controller). A bunch of different companies make them, Atmel, TI, Microchip, etc. Sure, it might be a little overkill, but the extra horsepower will be worth it in prototyping, and you said cost wasn't that big of a factor.

10. Aug 16, 2008

### MATLABdude

These days, Assembly seems passé, what with 10s of MHz clock speeds, oodles of clock cycles to burn, and peripherals handling nearly everything under the sun. I'm a big fan of learning assembler because it gives you a better idea of what happens "under the hood" of your C, or C++ powered project. Then again, that's how I got introduced to microprocessors/controllers, and this may be an instance of propagating abuse. ;-)

That said, C isn't too far abstracted from assembly, and if you pay attention to the datasheet / reference manual, you can learn a lot (assuming this is for a first project, for instance). I started out using PICs, but they're (at least, the PIC12,14,16,18 families) designed by EEs for EEs, and were not really designed with C in mind. The ATMEL family was designed to be programmed in C right from the git-go (if you go for the high-level language thing).

The ATMEL 8-bit family offers:
*GCC standard C (don't underestimate the importance of this) compiler support, with a good (official) free Windows tool chain (AVRStudio) and some decent Linux stuff.
*(cheap) official programmer (good for nearly the entire line): AVRISP mkII (~$30) *not so expensive in-circuit emulator tool: AVR JTAG ICE mkII (~$300)
*oodles of on-board peripherals (a few even offer USB and ethernet--if this is important, but then, so does the PIC)

I was going to recommend something with oodles of I/O (e.g. ATmega644P), but then I saw that your project is targeted towards home automation. Not to tell you how to do your project, but give some consideration towards decentralization of your system (e.g. a micro to control a set of blinds), and a good communications system back to your central controller (HINT: don't expect passing of 5V logic and GND to be really reliable in a big network).