Author Topic: Is arduino the best?  (Read 35267 times)

0 Members and 1 Guest are viewing this topic.

Offline AnsonTopic starter

  • Regular Contributor
  • *
  • Posts: 135
  • Country: us
Is arduino the best?
« on: March 14, 2013, 01:59:12 am »
I'm new to the electronics hobby. I am trying to learn I'm not young anymore and because of medications for disability I am limited to how quickly and easily I can learn. Being disabled has also made my income and allowable expenses for the hobby very limited. My question is which is easier and more cost effective for programmers it seems everything electronics is arduino or pic based so I figure I should learn one or the other. From my readings it seems the arduino is a bit more user friendly and has a larger user base but I kinda like the abilities that the pic chip enables. I will ahve to save up for a while before I can purchase either of these anyway but more feedback on what system is easier to learn and more worth my time would be appreciated. i found this on the net and it looks very interesting any thoughts? http://www.mikroe.com/easypic/
 

Offline Harvs

  • Super Contributor
  • ***
  • Posts: 1202
  • Country: au
Re: Is arduino the best?
« Reply #1 on: March 14, 2013, 02:15:21 am »
Learn to program one micro in C and you've pretty much learnt the core of programming them all.


If cost is you biggest concern, just pick up something cheap.  Seriously something like an Arduino for $15 from china off ebay or an MSP430 for $10 (and I'm sure there's some cheap as PIC boards as well,) is all you need to start with (and a few led + resistors etc, again off ebay as you need them.)


The number of freely available resources on the web for any of these platforms is huge.  The most important skills to be developed aren't platform centric, they're the generic ones.
 

Offline MikeK

  • Super Contributor
  • ***
  • Posts: 1314
  • Country: us
 

Offline Mike Warren

  • Supporter
  • ****
  • Posts: 437
  • Country: au
    • Personal Website
Re: Is arduino the best?
« Reply #3 on: March 14, 2013, 03:37:15 am »
If you're interested in actually building things, rather than programming them, then I would not recommend Arduino. They are great if programming is more what you're interested in.

If you have a breadboard, just grab the cheapest PIC or AVR you can find and the basic programmer for it (PICKit3 for PIC or AVRISP MKII for AVR) and plan to start simple. Just flash an LED. Then you can move on from there. A dev kit is another way to get started. Slightly more expensive, but more features too.

For PIC, there's PicKit3 Debug Express, and a good start for AVRs is to get an Arduino board like a Leonardo (and the AVRISP MKII programmer) and erase the Arduino stuff off the chip.

I wouldn't recommend jumping in with the kit you mentioned unless you can easily afford it. Get started as quickly as possible and grow from there. At least you will have something to play with while saving up.

There's lots of tutorials, sample code  and help on the net  for both PIC and AVR.
« Last Edit: March 14, 2013, 03:42:16 am by Mike Warren »
 

Offline blewisjr

  • Frequent Contributor
  • **
  • Posts: 301
Re: Is arduino the best?
« Reply #4 on: March 14, 2013, 01:58:32 pm »
I would say arduino is a solid base line for starters with no experience in wiring up circuits or programming.  The programming side is built around a framework that handles most of the lower level details so you do not need to worry about them.  For instance it is much easier to modify the I/O ports on the AVR as well as interface with externals like LCD's due to the interfacing code being done for you in the arduino LCD library.  Wiring is a bit easier because of all the adapter shields that are out there ready made for you.  It is often as simple as slapping on the right shield.  It could get more complicated as you start doing more advanced stuff.  One such limitation of learning is that the arduino framework does not map pins like they are actually mapped on the AVR chip they actually change the pin layout through abstraction so instead of having x number of pins on each port you are seeing x number of pins.  So you do not need to worry about ensuring you are accessing the right pin on the proper port the framework handles that for you.  This could be annoying if you decide later on to go with straight up AVR down the road because you are not learning how AVR works you are learning how Arduino work.  This in the long road can be a major setback.  You could however get an arduino and a AVR book and just make the pin translations and learn AVR instead this way you do not need to pick up programmer hardware initially.

I have an Arduino UNO and I have not touched it yet.  I plan to down the road but probably more so as a AVR platform rather than a Arduino platform.  Right now I am using PIC uC's.

As to answer is Arduino the best I would say no there is no best platform like there is no best programming language.  It is a means to an end to learn electronics and uC's.  Each chip and or platform has it's pros and it's cons.  In your situation I would say Arduino is a solid place to start as it is easier to learn initially.  Overall the decision is yours as it really depends on what your ultimate goal with it is.
 

Offline free_electron

  • Super Contributor
  • ***
  • Posts: 8517
  • Country: us
    • SiliconValleyGarage
Re: Is arduino the best?
« Reply #5 on: March 14, 2013, 06:14:30 pm »
the problem with arduino is that you neither learn electronics, nor programming....
it is the closed-source of the open source world.

let me explain :
- it uses a dedicated language not available on any other chip. While it is C based it is NOT C , nor is it portable...
- it uses a single source cpu made by 1 vendor : atmel. so this does not give you a big pond to fish in. learn an 8051 or an ARM Cortex core and you have thousands of chips from hundreds of manufacturers to pick from... atmel ? one chip , one vendor.. if they go tits-up  it's game over. ( and they are in trouble.... microchip already tried to 'borg' them last year )

For these two reasons it is as closed-source as it can be. a language that only runs on one chip. ( yeah yeah i hear you there is also the 2560 and now they are going to release an arm based arduino... but it still stands : you are stuck to what arduino feeds you. Get a c compiler for ARM cortex and you are home free)

as for not learning electronics : it is so simplified that people don't get much further than building 'shields'. actually developing shields? not done apart from people interested in making money off selling them.
i visited the local Arduino meetup a couple of times. There are endless discussions about : i need  to drive a stepper moter with a bit more 'oomph' and my stepper motor shield can't cope with the current. does anyone know a shield with more current ? no ... oh .. darn.. while someone who knows a bit more about electronics simply goes to digikey , picks up an LMD18101 or some other power bridge and makes one. PCb layout ? no problemo.

Arduino is the 'Duplo' of electronics. It's not quite Lego ...
Professional Electron Wrangler.
Any comments, or points of view expressed, are my own and not endorsed , induced or compensated by my employer(s).
 

Offline gibbled

  • Regular Contributor
  • *
  • Posts: 102
  • Country: ca
  • VE7 call sign
Re: Is arduino the best?
« Reply #6 on: March 14, 2013, 06:22:33 pm »
The arduino language is also available for the TI msp430's in the form of the energia project.

http://energia.nu/
« Last Edit: March 14, 2013, 06:28:27 pm by gibbled »
 

Offline Smokey

  • Super Contributor
  • ***
  • Posts: 2591
  • Country: us
  • Not An Expert
Re: Is arduino the best?
« Reply #7 on: March 14, 2013, 07:12:16 pm »
Arduino is the 'Duplo' of electronics. It's not quite Lego ...

Ha!  Love it.  Someone should imbed Adruinos in those giant blocks as the shield interface connection and case.  Rock solid!

As far as I'm concerned, and I've never actually used the Arduino hardware so I'm not sure how much use my opinion is, the best thing about Arduino is the big library code base.  It's kind of like the Iphone in that while there are different Adruinos there is really only one version of the basic hardware so you can be pretty sure that some program written for it will run on it.  Using some existing Arduino libraries and porting the code, mostly interface stuff to ICs, to my projects has saved me a bunch of development time.  It's nice being able to reference a known (or at least assumed) working implementation of something even if you are going to rewrite it.  If you really have no experience in embedded systems Arduino seems like a good first step, kinda like duplos.  It just might take a lot of them to make a giant death star model.

i visited the local Arduino meetup a couple of times. There are endless discussions about : i need  to drive a stepper moter with a bit more 'oomph' and my stepper motor shield can't cope with the current. does anyone know a shield with more current ? no ... oh .. darn..
Sounds like that's a great place to get feedback about what shields people are looking for.  Side business?
It looks like the domain www.arduinoshields.com is for sale for only $1695 USD
 

Offline blewisjr

  • Frequent Contributor
  • **
  • Posts: 301
Re: Is arduino the best?
« Reply #8 on: March 14, 2013, 07:58:30 pm »
Arduino is the 'Duplo' of electronics. It's not quite Lego ...

Ha!  Love it.  Someone should imbed Adruinos in those giant blocks as the shield interface connection and case.  Rock solid!

As far as I'm concerned, and I've never actually used the Arduino hardware so I'm not sure how much use my opinion is, the best thing about Arduino is the big library code base.  It's kind of like the Iphone in that while there are different Adruinos there is really only one version of the basic hardware so you can be pretty sure that some program written for it will run on it.  Using some existing Arduino libraries and porting the code, mostly interface stuff to ICs, to my projects has saved me a bunch of development time.  It's nice being able to reference a known (or at least assumed) working implementation of something even if you are going to rewrite it.  If you really have no experience in embedded systems Arduino seems like a good first step, kinda like duplos.  It just might take a lot of them to make a giant death star model.

i visited the local Arduino meetup a couple of times. There are endless discussions about : i need  to drive a stepper moter with a bit more 'oomph' and my stepper motor shield can't cope with the current. does anyone know a shield with more current ? no ... oh .. darn..
Sounds like that's a great place to get feedback about what shields people are looking for.  Side business?
It looks like the domain www.arduinoshields.com is for sale for only $1695 USD

Only $1700 bucks I bet you can make that back in a day.  What I don't understand is why someone who is interested in electronics hence the Arduino stuff would be afraid to make their own shield to up the oomph.  How can someone be afraid of learning something new!!!  The other common issue I have noticed is people not being able to get enough drive off the PWD pins themselves because the bootloader and arduino libraries hold them back.  The question usually is how do I get more oomph of the PWD.  The answer is typically stop using the framework and bootloader and code right for the chip and people stare like just mentioning that is treason.
 

Offline Harvs

  • Super Contributor
  • ***
  • Posts: 1202
  • Country: au
Re: Is arduino the best?
« Reply #9 on: March 14, 2013, 11:30:12 pm »
- it uses a dedicated language not available on any other chip. While it is C based it is NOT C , nor is it portable...


Honestly I think you're stretching it a bit there.  I'm not one to defend Arduino, but I think you're giving it too much credit.  It's just the AVR-G++ port, with a few extra libraries and a background process to give the timing/PWM stuff, all wrapped up in an environment to make it sound less offensive to arty types (like calling a program a sketch grrrr.)


To say it's not C is kind of like saying because I use the CMSIS libraries when programming an STM32 I'm not really programming in C.  Yes it is C/C++, and always will be because that's all the compiler understands.


Arduino is just AVR-GCC with a stupid software framework.  But there's nothing stopping you from just using Atmel studio, or eclipse and uploading the binary.
 

Offline c4757p

  • Super Contributor
  • ***
  • Posts: 7799
  • Country: us
  • adieu
Re: Is arduino the best?
« Reply #10 on: March 14, 2013, 11:38:48 pm »
- it uses a dedicated language not available on any other chip. While it is C based it is NOT C , nor is it portable...

No, it's not C, it's C++. Pure C++. Quite portable, and if it's not available on any other chip it's only because nobody else is silly enough to use an OO language on a microcontroller.

Personally, I find that an advantage. Arduino is stupid easy to learn. That's how I started with microcontrollers - because it is C++, of which C is (mostly) a subset, I was able to move from Arduino to real MCU programming piece by piece. Of course, I actually wanted to. After I was programming AVRs entirely in C, I got some PIC stuff (the assembly language is marginally simpler) and started working on assembly.

That said, it's a good starting point, but there are so many people in the "community" who think it's the ending point. It's a goddamn AVR dev board (and a particularly crappy one at that) and a software library, not a magical I'll-use-this-because-god-forbid-I-touch-a-transistor solution to all problems. I have a pile of dev boards and have not once used one in an actual project. They're for tinkering and learning a new platform. Don't fall for the hype.
« Last Edit: March 14, 2013, 11:50:24 pm by c4757p »
No longer active here - try the IRC channel if you just can't be without me :)
 

Offline darrylp

  • Regular Contributor
  • *
  • Posts: 127
  • Country: gb
Re: Re: Is arduino the best?
« Reply #11 on: March 15, 2013, 12:32:14 am »
Quote from: free_electron
let me explain :
- it uses a dedicated language not available on any other chip. While it is C based it is NOT C , nor is it portable...



Duh,  go look in the install directory, its c++,  I can see the source code to it.

Want to change the print class , go on ahead cos its open freely available to read / modify as you need.

Me personally  I've implemented mods to the string class, the print class, the hardware serial routines.

Of course its made easy to work on atmel chips, but its no longer just the mega low end or high end,  its now arm based as well. For a learner its a good step, that can grow with you.

--
  Darryl

 

Offline c4757p

  • Super Contributor
  • ***
  • Posts: 7799
  • Country: us
  • adieu
Re: Re: Is arduino the best?
« Reply #12 on: March 15, 2013, 12:43:03 am »
a good step, that can grow with you.

Ugh. Whyyyyy?! Grow out of it. It's so incredibly inefficient and removed from the hardware. Sure, "removed from hardware" is fine if you are a software guy, but for software guys, I hear Intel makes some really bangin' "microcontrollers" these days...

You should be growing out of the string class, print class, and hardware serial routines, not modifying them. I can do serial comm on bare AVR/PIC in three or four lines of code, double for assembly. You can dump a string to serial with a two-line loop, no function calls needed (of course, if you want a function, you can wrap those two lines in a function in about 20 seconds). On a microcontroller you shouldn't need much more than a basic strcpy and x-to-string functions, which you can get from avr-libc (and they're fairly efficient), so no need for special string and print crap either.
No longer active here - try the IRC channel if you just can't be without me :)
 

Offline AnsonTopic starter

  • Regular Contributor
  • *
  • Posts: 135
  • Country: us
Re: Is arduino the best?
« Reply #13 on: March 15, 2013, 02:05:05 am »
Sounds like arduino isn't for me then. I was kinda wondering about it because it seemed focused on all these attachments for it. It didn't really look like you do that much. I want to take a chip stick it in, program it to do something and then use it and then I want and go from there. Now I just have to save up for some chips and a programmer. I only get $25 a month to spend so it may take me a while. Any one want to donate a programmer? ...and some chips? ...No? Maybe? I'm sure I'll end up frying the first few I did the first 555 timer I bought don't ask how, it was dumb, no really it was.
 

Offline c4757p

  • Super Contributor
  • ***
  • Posts: 7799
  • Country: us
  • adieu
Re: Is arduino the best?
« Reply #14 on: March 15, 2013, 02:22:27 am »
I wholeheartedly recommend buying microcontrollers and a programmer to anyone who wants to advance past blinking some LEDs and hacking together some random sensors. The vast majority of MCUs require no more than a couple capacitors to run. That's why I dislike the Arduino as a hardware platform so much - it adds nothing but a USB-UART bridge. (That bridge makes them very easy to get started with, though.) It's just the collection of everything in one place that makes them beginner-friendly. Actually, I'd recommend one more thing: a USB-UART bridge. FTDI makes some. Nice to be able to quickly get serial output from the chip.

Just be careful with them and you shouldn't fry them. AVR and PIC especially are surprisingly robust. As for programmers - they are "cheap" (electronics-hobby cheap) and easy to find, and at least for AVR, you can build one yourself on a serial or parallel port with just a few discrete components, so I recommend this if you need cheap. I believe PIC requires a high voltage pulse to program them (this can be shut off in the configuration, but I suspect you need to at least configure it once with HV to disable it for future programmings, and it is enabled by default), so a quick dongle-type programmer may not be so easy. I may be wrong, though.

One warning/piece of advice, if you're worried about damaging the chips: if you set the "fuses" (as they are called on AVR) wrong, the chip may refuse to run, but it is not dead. I've found this particularly easy to do on AVRs. I have a few of them waiting to be brought back to life - I've never done this with a PIC. They just have the wrong clock settings and can be restored with a parallel programmer (mine is in the mail). If you can't afford a parallel programmer, pay special attention to the fuse settings.

I'm sure I'll end up frying the first few I did the first 555 timer I bought don't ask how, it was dumb, no really it was.

We all release magic smoke from time to time. Nothing to be ashamed of, your first magic smoke is a rite of passage.  :-+ Just be glad it was a cheap 555.
No longer active here - try the IRC channel if you just can't be without me :)
 

Online oPossum

  • Super Contributor
  • ***
  • Posts: 1417
  • Country: us
  • Very dangerous - may attack at any time
Re: Is arduino the best?
« Reply #15 on: March 15, 2013, 02:31:12 am »
I only get $25 a month to spend so it may take me a while. Any one want to donate a programmer? ...and some chips?

You can get a MSP430 launchpad and a Stellaris launchpad for $23 (for both, shipping included).

Both have an integrated programmer and debugger. The MSP430 launchpad comes with 2 DIP chips that can easily be used in a breadboard.

The MSP430 has a elegant small instruction set that is great for learning the fundamentals of microcontrollers. The Stellaris is an ARM Cortex M4F.
 

Offline c4757p

  • Super Contributor
  • ***
  • Posts: 7799
  • Country: us
  • adieu
Re: Is arduino the best?
« Reply #16 on: March 15, 2013, 02:38:05 am »
The MSP430 launchpad comes with 2 DIP chips that can easily be used in a breadboard.

I didn't know that! I figured it was all SMD like a lot of these newer boards. That's great  :-+ I may have to check it out myself.
No longer active here - try the IRC channel if you just can't be without me :)
 

Offline TerminalJack505

  • Super Contributor
  • ***
  • Posts: 1310
  • Country: 00
Re: Is arduino the best?
« Reply #17 on: March 15, 2013, 02:58:11 am »
I've got a ton of Atmel AVR microcontrollers.  More than I'll ever actually put to use.

If you're a US resident then send me a PM with your address and I'll drop some in the mail to you.  If you're not in the US, sorry, but it will be too big of a pain to ship outside of the US.

The thing is the MCUs won't do you any good without a programmer.  I can probably hack one together from parts I have on-hand.  That's just it though, it will be a hack so you'd want to get something better when you have a chance.  The programmer won't be compatible with Atmel Studio so you'll have to use avrdude.  That's not such a big deal, though.  avrdude is actually very powerful--just not friendly for noobs.

If I knew you'd actually use it, I'd give you an Atmel AVR Dragon.  I've got one that I never use.  I got it at a Atmel workshop.  I've already got a JTAGICE MkII and an AVRISP MkII so the Dragon just sits in its box unused.  The problem with the Dragons is they're not particularly beginner friendly and they're buggy.  Mine is a revision A which has a bunch of known hardware bugs.

Let me know if you're interested in the MCUs and a hacked-up, homemade programmer.  It will take a bit to put together a programmer but it's no problem--I'm in need of a project.
 

Offline AndrejaKo

  • Frequent Contributor
  • **
  • Posts: 279
  • Country: cs
Re: Is arduino the best?
« Reply #18 on: March 15, 2013, 10:09:16 am »
Well it seems someone mentioned mikroElektronika, so I may as well bash them a little bit! :)

Basically they tried to be Arduino before Arduino and failed to get as popular. Sure, they have those large nice looking boards with a programmer and lots of switches and connectors and they have their own "click" expansion boards and various other accessories, but...

First they're pushing their own (non-free) compiler with that platform that goes the "Arduino" route, meaning that is tries to hide the complicated part of functionality from the user and it does so by decreasing flexibility. It's been a while since I used it, but I remember that for example if you want to use included ADC function, the PIC is going to wait for the ADC to finish before continuing on. There's no (easy) way to set up an interrupt to be triggered when AD conversion is complete. Also the serial port input function will wait for something to come out of the port. If I remember correctly, it isn't easy to use serial port with interrupts when the UART finishes receiving a byte. So the "basic" programming is very easy, but anything more advanced is at least as difficult as it is in Microchip's compilers if not even more.


Then there's the hardware side. The boards are of reasonably good quality (mE even did some analog boards for Texas Instruments) but the programmers/debuggers included on the board only work with mE's software (and examples for other peripherals are written in it, of course), so you can't get one of the industry standard IDEs for PIC and just use the board with it unless you get a separate programmer. Until recently their boards didn't even have external connection for a programmer and debugger.  Furthermore that route decreases the value of the board, since an external programmer is needed.

Finally there's price. Such boards aren't cheap and are often outside of hobbyists budget. When they first appeared, they weren't that much more expensive than the demo boards made by chip manufacturers, but today when you can get an ARM board for less than $20 shipped, the situation is very different.


So get a programmer and a breadboard and start experimenting.
 

Offline AnsonTopic starter

  • Regular Contributor
  • *
  • Posts: 135
  • Country: us
Re: Is arduino the best?
« Reply #19 on: March 15, 2013, 06:37:09 pm »
Thanks TerminalJack505 I sent you a PM. Looks like Arduino is out and so is mikroElektronika. Thanks to TerminalJack505 it looks like I will be using AVR's on a breadboard wich actually sounds really awesome to me I think I will learn much more this way than just using shields and specialized boards on proprietary coded products. I was really looking strongly into pic or atmel anyway. Maybe later I can pic up some Pic stuff ha play on words I made a pun. ...ok I know it wasn't funny but I had to do it anyway. 
 

Offline TerminalJack505

  • Super Contributor
  • ***
  • Posts: 1310
  • Country: 00
Re: Is arduino the best?
« Reply #20 on: March 15, 2013, 07:24:16 pm »
I got your PM.  I'm going to try to base a programmer off of this design.  I'll use the firmware mostly as-is.  Although I want to try to run the MCU at 20Mhz instead of 12Mhz so that USB CRC checking can be enabled in the V-USB library.  I've heard about people using these and bricking their MCUs and I suspect that packet corruption is to blame.  The firmware can't do CRC checking at 12Mhz which can be a problem when writing fuses and whatnot.

I'll add a few features and remove a few to make it more robust.  I'll add level shifters to the programming I/O pins so that it can be used for target voltages other than 5V.  I'm going to remove the 'Supply Target' feature since that can get you in trouble if you forget about it.  (This basically supplies power to your circuit through the programming header.)  I'll add a couple of other header pins to the board that you can use to power your target should you need it. 

I'll also change the header to the standard 6-pin ISP header.  The design uses a 10-pin header and has hardware provisions for a pretty cool serial interface feature but there's no support in the firmware for the feature.  Because of this there's no need to use the non-standard header and pinout for the programming header.

The 'Self Programming' feature will have to go due to the addition of the level shifters.  (The level shifters I'm going to be using are uni-directional.)  There will be another ISP header and some multiplexing logic to actually do the self-programming.  (This is a feature you may never need.  In any case you would need another programmer to do it.)  I'll probably have some components on the board for debugging purposes as well--just in case I need them during development.

If it works it should be pretty robust with all the input protection and whatnot.  It will actually be better than a lot of the Chinese clones that you see out there based on the same design.  I'll be using parts that I have on-hand.  This means that some of the parts won't be ideal or the parts "I should have used" but there shouldn't be any problems.  For example, I don't have 3.6V zeners to clamp the MCU's output to ~3.3V (like they use in the original design) so I'll use a shunt regulator and a couple of diodes for that.  (This will actually create cleaner waveforms than the zeners, anyway, and save some power since the outputs won't need to use as much current.)

I'll try to post a schematic later tonight or tomorrow and we'll see if anyone has any concerns or additional ideas.
 

Offline Slothie

  • Regular Contributor
  • *
  • Posts: 66
Re: Is arduino the best?
« Reply #21 on: March 15, 2013, 09:24:08 pm »
There are a lot of people on here that really don't know what theyre saying, or at least don't think before they type.

Programming, like electronics, is a skill of many parts. Learning a language is just one small part of it. Experience programming in Arduino's libraries, PIC Basic, C, Assembler or gibberish will give you skills in programming that you will take with you as you move from platform to platform, language to language. Programming involves learning to specify what you want, split it into small managable bits, program those bits, fit the bits together, then work out why its not working (debugging).!

Disclaimer: Yes I use arduino's. But I also program in C and Assembler on PICs, C, C++, FORTRAN, Python, Javascript etc on everything from mainframes to telephone exchanges. I've been a programmer in industry for 35 years so I have begun to get the hang of programming.

The Arduino hardware is really just an AVR with a crystal and an usb/serial interface, and a lot of places to connect wires. You don't HAVE to use the Arduino software, you could connect up a JTAG programmer, use the Atmel tool chain to compile programs and use AVRdude to program the device. You can even get variants line the Boarduino or Ardweeny that will slip into a breadboard if you want.

The Arduino dev environment is pretty minimal, its true, but its designed for people who aren't experts, i.e. beginners. And its a poorly kept secret that if you want to cast aside the strictures of the arduino libraries, you can actually manipulate the AVR's registers and tender internals directly, straight from the "arduino language" - AKA C++, one of the top 3 most used programming languages in the world - so its far from "closed off" as some experts on here would have you believe. You can even insert Assembler code into C++ programs for those really time critical bits, so you have no reason to feel emasculated.

Getting back to practicalities, as well as the stuff TerminalJackson mentions, one accessory that I find is essential these days is a USB-serial cable that communicates at logic levels, often called an FTDI cable. If you're being a manly man and building your microcontrollers and programming them with an AVR ot PIC programmer, you'll still need some way to send and receive messages while debugging, at least, especially when you're a beginner..

Of course, a USB Arduino has one of those built in for free....
 

Offline westfw

  • Super Contributor
  • ***
  • Posts: 4199
  • Country: us
Re: Is arduino the best?
« Reply #22 on: March 16, 2013, 02:15:12 am »
Quote
[Arduino]uses a dedicated language not available on any other chip. While it is C based it is NOT C , nor is it portable.
You can dislike Arduino for any number of reasons, but the above statement is simply WRONG.
Arduino, under the hood, uses the standard gnu avr-gcc C an C++ compilers.  This makes it more "standard C" than most microcontroller C compilers, since it lacks the usual "bit definition" extensions that many add in order to be able to produce reasonable code for accessing SFR bits ("sbit OV = PSW^2" in Keil's 8051 compiler, "reg.bit" in Bytecraft MPC, etc.)  It's as portable as C/C++ code for a microcontroller ever is (keeping in mind that C++ compilers are relatively rare and rarely used on small microcontrollers, but also that gcc supports more architectures than any compiler, ever.)  The Arduino core libraries have already been ported to MSP430 and ARM chips, making "digitalWrite(pin, 1)" a more portable way of setting a chip's output pin than any other library I'm aware of.

All that said, if you're an absolute beginner with no programming experience as well as no microcontroller experience, you would probably be better off taking some sort of introductory programming class that writes software for your desktop computer.  There are a lot of programming concepts that you need to know about, if you're going to actually LEARN, that are pretty much portable across cpus, languages, and environments.  Net cost for this would be ... nothing, assuming you already have a PC.
(Unfortunately, a lot of today's "intro to programming" classes jump right into desktop-specific things like graphics and windows and mouse events, in an attempt to grab the student's interest.  IMO, that makes them less general, and less effective as an introduction to microcontrollers.  Sigh.)
 

Offline TerminalJack505

  • Super Contributor
  • ***
  • Posts: 1310
  • Country: 00
Re: Is arduino the best?
« Reply #23 on: March 16, 2013, 06:31:47 am »
For anyone interested, here's what I have so far on the programmer design.  The only thing left to add is the (regular) programming header, level shifters, current limiters and input protection. 

It's past my bedtime so I'll try to finish the rest of the draft up tomorrow.

If anyone notices any obvious FUBARs let me know.
 

Offline westfw

  • Super Contributor
  • ***
  • Posts: 4199
  • Country: us
Re: Is arduino the best?
« Reply #24 on: March 16, 2013, 09:00:03 am »
Quote
I don't have 3.6V zeners to clamp the MCU's output to ~3.3V (like they use in the original design) so I'll use a shunt regulator and a couple of diodes for that.
that part doesn't look like it's connected properly.  You have your +side clamp diodes going to +5 from the USB instead of to your ~2.7V regulator output.  Will the shunt regulator sink current?   It will need to, when used this way, right?

I've seen people suggest that you can use (green/blue/white) LEDs in place of zeners...
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf