Can somebody recommend to me a cheap basic Microcontroller for me? - Page 1
Forum section: electronics / projects

author: VladKEasternTiger
author_rank: Regular Contributor
timestamp: April 25, 2010, 12:18:16 pm
content: Hi everyone, okay Ive learnt as much as I can on paper about Arduino and Microcontrollers, I feel I just need to buy one and play with it as all the reading I done needs to be put to good use. I want an Arduino or microcontroller to plug into my USB in the computer and I want to make it do things like light up an LED when Im typing something on my keyboard, or if I can hook a motor to it and control it from the computer, is this kind of project too advanced for me yet? Mabie im running before I walk I dont know. I seen some cool videos on youtube about microcontrollers and they were doing cool things such as controlling motors and LED lights from the computer VIA USB port. So I live in the UK, where is good place and what kind of Microcontroller will do this trick for me?Thanks guys

author: Unknown
author_rank: Unknown
timestamp: April 25, 2010, 12:31:01 pm
content: You can get cheap 8-bit micro-controllers from almost any manufacturer, but to interface this with your computer, you need a fair amount of supporting hardware, especially for USB. Judging from your questions, an Arduino plus shields for what you want sounds like a good match. An Arduino is a micro-controller with supporting hardware and firmware so you can program it via USB, plus an easy development environment. If you want to save money, I believe there are unofficial clones (eg. Freeduino), I'm sure some of these are just as good.

author: djsb
author_rank: Super Contributor
timestamp: April 25, 2010, 02:57:11 pm
content: Hi,I have the Arduino Nanohttp://arduino.cc/en/Guide/ArduinoNanoThis is useful because you can use it with a breadboad (as shown in the link) so you can lash up basic circuits.The board is programmed via the built in mini USB port and the only other thing you need is the IDE (integrated development environment).This can be downloaded from the main arduino website. The board itself can be bought from Gravitech.Have fun.David.

author: rossmoffett
author_rank: Regular Contributor
timestamp: April 26, 2010, 03:31:18 am
content: I have a boarduino, which also is made for a breadboard but with a PDIP ATmega, and a 'milinova, which is good if you want to use shields and stuff. The Arduino MEGA has 5 serial ports, so you can do a lot more stuff with it. Your keyboard light, for example, may require an interceptor, and then you can do other cool stuff like keylogging.My classmates and I just built a robot that dodges balls thrown at it called "DodgeBot" using three Arduinos. It was a little superfluous to have so many, but they were cheap and it was easy for all of us to work separately that way. It has a DIY RADAR system, uses four Parallax Ping sensors for room sensing, a remote control (interprets PCM signals usually for servos) and omni wheels with four motors/controllers. There's a remote control and autonomous mode, everything was designed and built in six weeks! The code/build portion was only a couple of weeks, and we were all more or less totally inexperienced with the Arduino platform. So yeah, you can do a lot with it, even as a beginner. Just read all of the reference/beginner material on the Arduino website.

author: Simon
author_rank: Unknown
timestamp: May 03, 2010, 06:32:46 am
content: again someone is trying to run before he can walk !ok, step one, get a PIC12F615 (available from RS and farnell for £ 0.85+vat) put it on a bread board and make it flash a led. from what I gather from other posts of yours you might want to show us your diagram first. what software are you using ? assembler, basic, C? Don't even think of doing anything else with a microcontroller until you have got a led to flash, sound advice given to me by my good friend in slovakia who spent over an hour with me on MSN helping me to get a led to flash. If you then want to progress to larger mictocontrollers go for a 16F88 or similar. Again you seem to be trying to run before you can walk and throwing ideas all over the place, start with basic electronics first, some op amp circuits (even if to just check you can build one that works on a bread board) and then some descrete digital stuff.

author: EEVblog
author_rank: Unknown
timestamp: May 03, 2010, 06:51:09 am
content: Basically, yes, you are trying to run before you can walk.Getting a microcontroller to talk to USB and an associated PC application is not easy if you do it from scratch.If you just want to play around with controlling stuff from your PC then you are better off getting a pre-programmed USB board that does this, and it will come with a suitable application. Or a microcontroller USB demo board that has a PC application that can already switch ports on and off etc.But if your intention is to learn how it all works, and built it yourself then you need to start simpler as Simon said. Get a LED flasher working first and work your way up.To get a USB device working from scratch you need an application in the micro that talks USB and takes commands and switches port outputs etc, and then you also need a PC application that can send those commands or whatever.Dave.

author: Simon
author_rank: Unknown
timestamp: May 03, 2010, 07:15:26 am
content: Getting a led to flash is essentially a game of getting the uC setup and ready to run because you will have to configure a number of registers, for the 12F615 I think this is 3 or at least it is under basic (I think it is a few more with assembler), once you have done that then perhaps make the battery monitor circuit, that will teach you to use the ADC registers and prove a little challenge in programming, you can experiment, have as many voltage levels (leds) as the pic has ports for and you can double up functions on the same led by making the same led flash for another voltage level. After that perhaps play with the PWM output, again you will be setting up the resgisters for it and a cool little bit of fun is to control the output duty cycle with an analog voltage input (from a potentiometer), this essentially makes a motor speed control (although you will need a power mosfet to run the motor if you want to try it out - i used my oscilloscope to see results) you can again play with the program to set a minimum duty cycle.

author: VladKEasternTiger
author_rank: Regular Contributor
timestamp: May 03, 2010, 09:09:33 am
content: Quote from: alm on April 25, 2010, 12:31:01 pmHi will the Freeduino allow me to hook a Servo motor and control it from my computer keyboard via USB ports?

author: VladKEasternTiger
author_rank: Regular Contributor
timestamp: May 03, 2010, 09:13:57 am
content: Quote from: Simon on May 03, 2010, 06:32:46 amThis is a good accurate comment, yes to be honest doing basic 555 flasher circuits confuse me, what am I thinking talking about microcontrollers and reading about them, mabie in the future, not at this moment

author: VladKEasternTiger
author_rank: Regular Contributor
timestamp: May 03, 2010, 09:16:36 am
content: Quote from: EEVblog on May 03, 2010, 06:51:09 amThanks Dave, you make a lot of sence

author: Simon
author_rank: Unknown
timestamp: May 03, 2010, 01:31:29 pm
content: I suggest you learn to use a 555 timer, there are so many things you can do lazily with a uC but you really need to have good ground knowledge of basic electronic "block circuits", so before you do that flashing led with a uC do it with a 555 IC it is not that hard and the answer is in the datasheet, get the datasheet and read the examples in it, if you cannot setup a 555 IC your not going to get very far with uC's, even if you can program a uC you still need to interface it to the real world with basic electronics circuit blocks, for example i made my dynamo regulator and got the program spot on, but I did not select my current sensing components correctly and so it did not work properly.

author: wd5gnr
author_rank: Regular Contributor
timestamp: May 03, 2010, 01:42:05 pm
content: RC servos are easily drivable from an MPU port. They just take a low current pulse width to determine the servo position. There are a few overloaded definitions for "servo motor" so depends on what you are talking about. But RC servos work fine with just a common MPU pin driving them. Now, you might want to POWER them from a separate power supply (keep the grounds together) but the "logic drive" can easily come from the CPU.I'm not a big fan of the Arduino. The standardized "shields" are a good thing, but the IDE software bothers me (but I still code in emacs for everything so what do I know?).If you just want to do PC control here's a few things to consider:http://www.awce.com/gp4.htm- Servos. Add a USB cable.http://www.awce.com/gp3intro.htm- This board will control servos and lots of other things via USB cable. There is a USB "native" version in beta, but that just means the USB to RS232 is built in -- still looks like a serial port to the PC. The interesting thing about this board is you can program it "point and click" on the PC and then download the "program" to the board so it doesn't need a PC anymore. But all the debugging is done with the PC. You can use it from the PC with lots of PC languages too. Video:(a few others on there, including a robot).For "regular" microcontroller projects, I've become a big fan of the AVR for small cheap stuff (yes, the brains behind the Arduino) and ARM for the bigger stuff. Futurlec (sells in Australia, ships from Indonesia, slow as Christmas in the US) has a very inexpensive ARM "Stamp" that I like very much. Free C compilers and the thing is bigger than most of the PCs I've owned in the last century:http://www.futurlec.com/ET-ARM_Stamp.shtmlbut next one I buy will be this one:http://www.futurlec.com/ET-STM32_Stamp.shtml. Think about it: 1/2 megabyte of program storage, 90 MIPS, 48 I/O, 16 A/D, 2 D/A, and 64K of RAM. I remember when that would have been a fairly big PC ;-)Hard to beat for US$25. The bootloaders mean you just need a serial port -- no programmer.Anyway, just a mix of things to think about.

author: wd5gnr
author_rank: Regular Contributor
timestamp: May 03, 2010, 01:51:16 pm
content: Quote from: Simon on May 03, 2010, 01:31:29 pmIts funny you should mention this. I just wrote this a few days back:http://www.drdobbs.com/blog/archives/2010/04/rip_8_bit.htmlDon't get me wrong. As a learning exercise, yes. Learn about 555s. Actually that's too much to start with. Know ohm's law. And Kirchoff's law. Understand voltage dividers and wheatstone bridges, and then get into active stuff. What's the Early effect? Miller capacitance? You don't have to know how a car engine works to drive a car, but the best professional drivers know EXACTLY how the engine works in great detail. Same here.But the point of my post on DDJ is that the commercial viability of things like 555 timers is zero. The 8 bit "tiny" CPU is now cheaper than a 555 (other than the start up cost, of course). So why would I put a 555 plus 5 or 6 discrete components when I can put an 8 pin Microchip PIC in that takes no external parts, is programmable, and can do things that would be tough as nails with a single 555.But I don't disagree that you should know as much as you can. Personally, I like the Art of Electronics (Horowitz and Hill) -- even as an EE, I found that a very useful book.There is a trend though, distasteful as it is to us old guys, to look at embedded systems as an "appliance" affair. Just go buy some old board off the shelf and then have a programmer do what needs to be done. Unfortunately, I often see where some IT programmer has done things no one with a hardware background would have done. And sometimes it works. Other times it doesn't.I always suspect that eventually some Web Services XML programmer will write an elevator control program that will plunge 22 people to their deaths and the government will overreact by forcing us all to have licenses and E&O insurance (which some of us have to have anyway).

author: Simon
author_rank: Unknown
timestamp: May 03, 2010, 03:43:16 pm
content: I think you will find that 555 timers are cheaper than a PIC12F615 but it is more easily used because with a few external parts it is up and ready on a breadboard in minutes, although I see your point a uC can do so much so easily it is easier to use it as a universal part, sometimes you may specificly need to not use a uC (I designed both a uC version and a "descrete" version of my dynamo regulator but the uC version was easirt to retro customize and adapt).To my dismay these days electronics has become so much about programming and little about electonics, we have gone from making circuits to plugging circuits together, of course it all depends on what you want to do but if you need a custom device (for a niche marcket) why try and make something prebuilt do it rather than just make the required circuit with less parts and guaranteed to work

author: Simon
author_rank: Unknown
timestamp: May 03, 2010, 04:59:04 pm
content: i suppose it depends on what you are doing, if your designing a single small to medium product on your own you need to be masterfull in both software and hardware, if your working on a lrger project in a group you need some understanding of the other and to be able to work with the guy (or gal) that knows the other and complement each other. Of course if your a genius then you can make big things and do it all on your own.

author: VladKEasternTiger
author_rank: Regular Contributor
timestamp: May 05, 2010, 10:48:44 am
content: Quote from: shafri on May 03, 2010, 12:35:15 pmHi Shafri, thanks for your comment and restoring my confidence, this is the thing, ive done so much reading and talking to different wonderful people and get different answers every time. I was told to buy the Arduino dumelonouve but some told me Arduino MEGA and like you said ebay from china will sort me out with that one for a reasoable price. You can only read so much, to be honest I dont like reading too much and looking at charts I just like to get my hands dirty and see results. Shafri how long have you been into electronics? What kind of breadboard configuration did you use? I printed your message and will do my best to follow your ideas. I read bits of getting started in Aurdino by make magazine on google books but lots of the book was missing so didnt see all the pages. I was talking to a robotos designer and he told me forget about the breadboard as thats old technology and skip it move directly to Microcontrolling.

author: VladKEasternTiger
author_rank: Regular Contributor
timestamp: May 05, 2010, 10:50:53 am
content: Quote from: EEVblog on May 03, 2010, 06:51:09 amDave I was talking to a robotics designer, he makes robots and knows his stuff as ive seen his projects on the internet, anyway he is 28 and said skip the breadboard and move to Microcontrolling and that way you will learn breadboards and everything as breadboarding is "old technology".

author: VladKEasternTiger
author_rank: Regular Contributor
timestamp: May 05, 2010, 11:04:35 am
content: Quote from: shafri on May 03, 2010, 04:40:02 pmShafi you know a lot moar than me my friend, do you work in electronics or how often do you do hands on projects a week? I like electronics but when it comes to computers and all the java cc laguage and programming im hopeless at this stage

author: VladKEasternTiger
author_rank: Regular Contributor
timestamp: May 05, 2010, 11:06:28 am
content: Quote from: Simon on May 03, 2010, 04:59:04 pmDave made a good video about mastering in 1 particular area rather than having it spread out. But again this is for people who are having a career in electronics, Im just a regular poor guy that loves to learn and experiement first hand with stuff

author: VladKEasternTiger
author_rank: Regular Contributor
timestamp: May 05, 2010, 11:08:17 am
content: Thanks to all the people who contributed on this particular thread, I learnt and love learning so much from you guys I appreciate it your all a top bunch of people.

author: Simon
author_rank: Unknown
timestamp: May 05, 2010, 11:35:09 am
content: Quote from: VladKEasternTiger on May 05, 2010, 10:50:53 amwhy not use breadboards ? unless you dealing with highspeed circuits breadboard are very useful, you friend make robots, not electronics, he is talking from his point of view, but what do YOU want to do ?

author: VladKEasternTiger
author_rank: Regular Contributor
timestamp: May 05, 2010, 10:19:20 pm
content: Quote from: Simon on May 05, 2010, 11:35:09 amYes your correct he makes robots like the ROOMBA IROBOTI want to learn as much and do exticting experiements I can see with electronics including laser trip wire robots with lego bricks and microcontrollers and controling servo motors and leds from my keyboard. This is what I want to do and this is the reason Im on this road learning and reading and speaking to you guys. I may not be an electronic engineer like Dave and the fellas on here and I also have a disadvantage of starting old 25 as opposed to the other fellas 10 years old. Nevertheless I like electronics and also repairing devices I enjoy it. This is what I like

author: TheDirty
author_rank: Frequent Contributor
timestamp: May 06, 2010, 01:03:24 am
content: I started playing with electronics later in life. I was about 28 when I started playing with electronics as a side effect of working on cars and engine management.As a hobbyist or amateur, if you don't have the ability to make do it yourself PCB's or get cheap PCB's made then your going to be dependent on buying breakout boards (BOBs). Many chips don't even come in anything other than SMD packages now. Breadboards also have a use plugging these breakout boards together.

author: Simon
author_rank: Unknown
timestamp: May 06, 2010, 06:39:44 am
content: If you learn quikly as I did when I was aquiring knowledge in "neat electronics" then you will soon catch up, if you spend too much time repairing stuff and trying to copy other peoples learning paths and carrers you will waste a lot of time, as we have been saying before, get yourself a small stock of general use parts (555, comparators, op amps, uC's, and all the passive parts that you require) a few breadboard and "start creating" anything. theres nothing like hands on experience.

author: kmossman
author_rank: Contributor
timestamp: July 18, 2010, 04:19:41 am
content: I quite agree that a good foundation in basic electronics is necessary if you really want to make aproject.And I agree that too often a uController is grabbed when a much simpler circuit would do just as well, if not better. It is too easy to design an overly elaborate project (consider digital rice cookers with SMS, when all you really need is just an "On" switch). For a personal project perhaps the device cost is not a major factor, but for production and after-service it is just part of many considerations.

author: Simon
author_rank: Unknown
timestamp: July 18, 2010, 06:33:55 am
content: I did a project in both MCU and "discrete" IC's. I did go for the MCU in the end but that is because i realized I realy need one. There are many cicuit tricks that allow you to get around things without building a whole new circuit, for example if you are using comparators and need and and/or gate to combine their results you get open collector comparators and connect the ouputs together with a common resistor, your logic gate is then created without actually using a part which msy be 1/4 of a logic IC

author: scrat
author_rank: Frequent Contributor
timestamp: July 20, 2010, 11:35:31 am
content: It is clear to anyone that having a good basis on electronics, and especially on basic analogue circuits is crucial for understanding and designing complex things.If I plan to make a simple logic circuit, I must consider using an MCU, because a bunch of logic gates (besides being hardly flexible and reusable) could be more expensive and use too much space, even for an hobbist. And if I have by hand an MCU I'm sure I have inside it as many logic gates as I need...I envy those EE that in the early days of digital expansion could challenge themselves in putting logic gates, ALUs, sequencers and memories (each one in its different IC) on a board, and were asked to invent everything...and were payed a lot!But I feel like nowadays creativity in hardware design has poor space (and would have even less in the future), since almost every system tends to be made on the same principle (ADC, controller, ...), or at least it seems stupid to use a different approach. So, perhaps the difference between a brilliant and a quite good designer becomes narrower.... And it makes me sadI think it is better to start with something else, as many others said here above, but if you want to run before you can walk...I found that using a USB PIC (in my case a 18F4550, but could certainly be 2550) with Microchip examples for firmware/software on PC is quite simple, requires little or no modifications to start. Surely, you need some programming skills (and very very limited hardware knowledge) to make something different than the examples, but of course there is the internet and the forums like this to find help.

author: NJC
author_rank: Newbie
timestamp: July 23, 2010, 01:58:39 pm
content: I guess I shouldn't be surprised that no one mentioned the MSP430. I would never have recommended it to someone who is just getting started before the LaunchPad came out.Whats more important to you? Price, or support? If you want support and a good community, look for AVR or PIC (said in alphabetical order with no preferential ordering :-P). If you are just looking for the cheapest beginner kit you can find in case you decide you never want to touch a microcomputer again and just want to throw everything away. I recommend the MSP430 LaunchPad. Its the cheapest development kit out there and has everything you need to get started (at first).Though if you really value support, look elsewhere. Just throwing the option out there. Nothing can beat it for price.-NJC__________________________________http://msp430launchpad.blogspot.com- A blog about the MSP430 Launchpad for beginners and experts.

author: Simon
author_rank: Unknown
timestamp: July 23, 2010, 03:09:58 pm
content: personally I'd just get a pic of choice (or other MCU brand I use pic) a breadboard and learn to program in C or Basic, I've found using Basic on pics very easy and changing MCU means just reading up the datasheet to get familiar with functions and registers and I'm away again, you get some premade thing and your also stuck to oine or two chips. you can easily make parts breadboard friendly or make your own breadboard breackout board