Getting started on the cheap

Go To Last Post
51 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am quite a newbie to AVR (I have done a bit with Parallax BS2's). I don't know C or Assembler, so I need a way to program in BASIC. Here is what I am looking for...
What is the least costly way to get started with AVR. What are the best of the "free" IDE's, Compilers, etc. What are the few things that I have to buy and how much will it cost? I have read some "Getting Stated" articles, but it looks like some of the items are expensive. I am sure that there is a inexpensive way to get started.

Thanks,

Steve

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi Steve, and welcome!

Avrfreaks is a great resource and a great deal of experience is "on tap". I will only
suggest what got me started- I purchased the $79 STK500, which serves as a
programmer, and permits some "breadboard" style testing of most of the Avr
family. A nice suite of development software is included for assembly language
program development. I would take this opportunity to go ahead and make the
leap to learn "C", using the excellent and *free* Winavr package, which works
well with the STK500. Now this is just my not-so-humble opinion, but continuing
to use Basic will ultimately frustrate you and hold you back as you develop
more complex applications. After 30 years of doing mcu applications, I only
just started with C. It took only one afternoon to go from a cold start to
getting some simple programs going. Only a couple of days to "port" a fairly
complex 8051 family assembly language application to C running on an Avr.

Good luck!

Tom Pappano
Tulsa, Oklahoma

Tom Pappano
Tulsa, Oklahoma

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

I would learn C as well, though you should try to learn C on a computer first. If you want to avoid this and really want to go with Basic, you might be interested in my guide at http://www.newae.com/arts.html which is getting started on the real cheap.

Regards,

-Colin

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

In C: download CodeVision from hpinfotech.ro or search for it if this is not the address. Code limitation 2KB. Free programmer up to 2KB, DT006 cable.
In Basic, Bascom. See it at dontronics.com. Code limitation 4KB. Free programmer unlimited size, DT006 cable. In help you'll find the schematic diagram (named simple cable programmer).
In C: Download Atman from astmenecl or something like that. It uses GCC, good IDE, wizard, 30 days trial, 50$ buy. You can bypass trial, but you must figure out how, I can't say more, its not legal :). Use with Bascom's programmer.
In C, WinAVR. Same compiler like Atman, no IDE, no wizards for setup. Use Atman's instead, they repaired some bugs, but not for lcds. If you saw a makefile yesterday, its ok. No money, free programmer included (see DT006 schematic).
But Bascom is cheap and easy, and if you only want to play with AVRs and if you don't need performance its ok!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If cheap is more important than Basic, then consider the AVR Butterfly as a C learning platform using the free WinAVR complier stuff and the Atmel AVRStudio for a simulation and download IDE.

You can look at my Quick Start Guide to get an idea about this approach.

If you want to follow Colin's advice and start with C on a PC, you might like the free stuff from Bloodshed.net.

Good Luck,
Smiley

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I really wish people wouldn't encourage theft of software on this BBS. We already have enough people that pop in and want software keys, PM for software keys, etc. Let's please not encourage more of them.

Please note - this post may not present all information available on a subject.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I do agree with refelds about the sw. , and would recommend WinAVR as the C compiler.

The advantage of that choice would be :
1: Free
2: A lot of existing code & libraries around for free.
3: No codesize limit.
4: You get to know GCC
5: Its easy to get support on this forum (well it would prob also be for the other C compilers )

For BASIC i think there are two
1: Bascom (The one that seems most popular)
1: "Fast AVR" .. or something like that.

As for the hardware
I have to agree with tpappano , about the STK-500. Thats the best ....
If you need it cheaper , and have a breadboard: Have a look here
http://homepage.sunrise.ch/mysun...
You can skip the reset chip , and just use the resistor/cap , as the Mega MCU's have a build in BrownOut detection (the voltage detector),
And you can skip the XTAL for a start as there is a build in RC oscillator. But you might have trouble doing RS-232 if you are using the RC Osc. , so maybe a few $$ for an XTAL is well spend money , and remember a MAX232 RS-232 driver or a MAX233 (the MAX233 doesn't need external caps) , well besides the one from VCC to ground.
I would recommend starting out with an ATmega MCU , not an AT90Sxxx as they can not do selfprogramming via RS-232
A Mega8 is a fine starter MCU , but might be a little small if you want a RS-232 Bootloader in along with a BASCOM program , so i would recommend a Mega16 or Mega32.

You would need an ISP programmer for programming the ATmega the first time (look at PonyProg as Programmer software).
As the first I normally load a Bootloader in the MCU (www.microsyl.com , look for MegaLoad) via ISP Programming. Now the MCU can receive all further updates via RS-232.
And then i only use RS-232 for loading software updates.

If you want something allready build cheap , then look at the Atmel Butterfly (as Smiley mentioned ...), around US$ 20 , or get the Avr-Freaks T-Shirt/Butterfly offer for $25.
I am not sure if a Butterfly is supported by BASCOM. Buy you get a lot of hardware for the $$. And it fits most of the above requirements.

Welcome aboard :-)

/Bingo

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If cheap is more important, try www.ponyprog.com

I've used this hardware/software and it pretty much works for programming all of Atmel's AVRs (MEGA, TINY, etc). Can be build for ~$15.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks so much for all your feedback! I really appreciate it and am glad that this forum is so active! Looking forward to joining in on the AVR fun... It looks like I can get started for way less than $100, now the big challenge is getting the time! Does anyone have a "time stretcher" that can give me a few extra hours a day?!

Thanks again,

Steve

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Smokey, I think you have a rather intamate relationship with those butterflies.... :D. Seriously, everyone seems to recommend those STK500's. What's the advantage of the STK500 over my 5-wire parallel port cable other than the pretty LEDs and switches?

Speaking of which, the butterfly has a JTAG port, what the hell is this and will I need a STK500 for it? I'm poor and tight so I won't be forking out AU$100's for a development system. I've already got a butterfly, ABCmini, ABCmaxi and (non-avr) Mitsmini. Funny this is, i've only paid for the butterfly - the ABC's were presents (dammed good one's too!) and the Mitsmini was free.

Also, if anyone has a time stretcher, could they please post it to me? I'd be happy to pay for THAT....

- Dean :twisted:

Make Atmel Studio better with my free extensions. Open source and feedback welcome!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

Quote:
What's the advantage of the STK500 over my 5-wire parallel port cable other than the pretty LEDs and switches?

1. The STK500 is relatively inexpensive (USD 79 + shipping)
2. Most other development boards that are less expensive than the STK500 limit you to working with just one AVR
3. Some other development boards that are less expensive than the STK500 do not have the switches and LED's, just I/O port headers
4. Most other development boards that are less expensive or more expensive than the STK500 do not include High voltage serial and parallel programmers or ISP programmers (based on the number of threads here where people have mucked up their clock fuses....having a high voltage programming mode is QUITE handy)
5. All (I think) C compiler vendors and WINAVR support it as a programming platform
6. If you did not already have the ABCmini and ABCmaxi I bet you could not (if you paid yourself for your time) design, layout the board, have the board built, buy the parts and stuff the board for less than USD 79. Plus, many AVR freaks are software people and have no experience with schematic and layout CAD, soldering expertise, etc.

I am sure other Freaks can come up with more advantages :-) . To paraphrase one Freak, the above information does not necessarily represent all the information available on the subject :-)

Warm regards, (in other words, don't take the above as picking on you, just trying to present facts)
Steve

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
[...]JTAG port, what the hell is this and will I need a STK500 for it?

JTAG enables You to do on-chip debugging, ie. tracing code, setting breakpoints and the like on the actual chip rather than in the simulator. JTAG is available on the larger ATmegas (with 16K FLASH or more?). To use it You need a JTAG "dongle" that sits between AVR Studio and the chip. STK500 has no such functionality, but there are several vendors selling JTAG dongles for about 40 USD. Go look in the tools section.

If You by any chance strike gold then get Atmels own JTAG MkII. It has "Debugwire" also, which is similar to JTAG but for some of the ATtinys (as the name implies it uses only one signal pin from the ATtiny to do the job (apart from VCC and GND of-course)). I'd love one but its over $200 AFAIR.

Quote:
Also, if anyone has a time stretcher, could they please post it to me? I'd be happy to pay for THAT....

Oh, I have two of those and am only using one so I'd be happy to trade. In return - can we swap ages? (I'm 45...) :wink:

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Two topics: First, in reference to questions about the STK500.
Then, in reference to questions about programming the Butterfly.

It's not immediately clear, becuse of the way in which some people refer to the STK500, whether it is a programming tool or a development board. The fact is, it is both. I'd say that it attempts to fill the role of both the ABCmini/maxi boards, as well as the 5-pin (actually 6-pin if you include VTG?) parallel port programmer.

You can plug an AVR chip into the STK500, and use it independently as a platform for running applications -- so long as it only requires pushbuttons, LEDs, an RS232 port, or anything else you can connect via external breadboards.

You can then set up the correct connections on the board, and use the incorporated Programming hardware to program your target AVR device using an RS232 interface and one of several popular programming software packages - AVR Studio 4, avrdude, uisp, ponyprog, stk500.exe, etc.

Change a few other connections on the board, and you can use the STK500 to program an AVR device that is actually installed on another external target board using either a 6-pin ISP header or the 10-pin variant. Same software can perform the programming procedure either way. (The portion of the STK500 circuitry that does this functionality is available as a separate, cheaper device called the ATAVRISP. It communicates with a PC using the same protocol, and the same 6-pin or 10-pin ribbon cable connection is used to program the target device.)

You'll find that the STK500/ATAVRISP programming solution is faster than a parallel-port solution in general. This is due in part to the fact that the parallel-port is actually being used to directly simulate the synchronous serial communications expected for ISP functionality by the target AVR chip, and it has to be controlled entirely by software. The STK500 protocol allows the computer to send data full-speed over a UART to an intermediate 'intelligent' device which converts the data into the SPI signals that are recognized by the AVRs as ISP. Also, the STK500 protocol is actually intelligent - there is an AT90S8535 built in to the programmer, which interprets the data coming in on the RS232 port. This intelligence allows it to know something extra about the chip being programmed, and use the fastest programming method available for the chip in question.

Do you need the STK500 to use the JTAG port on the Butterfly?
No.
You have to use a JTAG ICE device (between the PC and the AVR) to communicate via a JTAG port such as the butterfly's. The STK500 is not natively aware of JTAG. There is an adapter available that will allow you to connect a JTAG ICE to a JTAG-aware AVR that happens to be installed on the STK500, though. The butterfly has a bootloader (self-modifying software) which can accept code via Atmel's AVRProg software on its RS232 port.

The Butterfly also has a 6-pin ISP header that you can program using the STK500, or using a STK200-compatible parallel port dongle, or anythimg else that knows how to output data in 'ISP-speak'. Just one thing to remember -- the Butterfly cannot provide enough power supply the needs of the ATAVRISP directly. Its 'VTG' pin cannot be counted upon. Heh.. I guess it is effectively just 5 pins too, like the ABCmini. Look up 'STK200' schematics here or on Google. You're sure to get a few hits. If it appears that its pinouts are compatible with your 5-pin parallel port dongle, then I'd say you can just use it with the Butterfly too. (So long as the ATmega169 is supported by your programming software.)

- Luke

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I can see that the Butterfly has a V(ext) Max of 4v5.

What is setting this limit ??

The LCD or the Dataflash ??

I would assume the M169 can do 5v.

From the schematic (in butterfly user guide) i can see that V(ext) gors to VCC via a diode (BAT54C dual) , and V(batt) is connected via the other half..
So from a V(ext) of 4v5 they should have a VCC of 3v8 , or ... what is the drop across a schottky BAT54C. Does that really depend on forward current ??
http://www.rectron.com/data_shee...

Btw .. isnt VCC(max) 3v6 for a Dataflash.

Well back to question ....

What is the mail reason for a V(ext) Max of 4v5 on a Butterfly

/Bingo

Ps: Smiley ... did your que just come up :wink:

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Bingo600 wrote:

Ps: Smiley ... did your que just come up :wink:

Anybody know what this means in Danish? Was I just tagged? Am I it?

Smiley

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It means it's your turn to enter the discussion and prattle on about the merits of the butterfly.

Incidentally, a) How fast is the JTAG and b) can I get a circuit to build my own dongle?

- Dean :twisted:

Make Atmel Studio better with my free extensions. Open source and feedback welcome!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

JTAG is (IMHO) overkill if all you want to do is program your AVRs. Where it really shines is that it allows you to debug your software in AVR Studio (very similar to Simulation mode) except the program is actually running on your target chip, and interacting with your real hardware.

In terms of simulation speed, you'll see a noticeable lag when you're running a debug session via a JTAG ICE, compared with simulating completely on your PC.

In terms of programming speed: JTAG ICE is capable of programming using a process very similar to the STK500. The STK500 / ATAVRISP is limited to communicating with the PC at a speed of 19200 bps (the comm's with the PC constitute the major bottleneck in programming speed). The original JTAG ICE is capable of communicating with the PC at up to 115200 bps. It can fill up an ATmega128 quite a bit faster than the STK 500 can. The JTAG ICE mkII can communicate with the PC via either RS232 at up to 115200 bps, or via USB. I don't have firsthand knowlegde of how fast programming goes on an mkII using USB. Anecdotally, though, I'm told that the STK500 protocol over a USB link just screams, so I would think that JTAG programming via USB would also be pretty fast.

In the chain of build-it-yourself circuit and design complexity, (1 being lowest complexity) it goes something like this:
1) Parallel Port Dongle
2) Parallel Port Dongle with Tristate Buffers - offers protection between PC and AVR while not in programming mode.
3) Appnote AVR910 programmer - requires an additional AVR with special firmware, available from Atmel.
4) STK500 / ATAVRISP programmer - requires at least one additional AVR with special firmware that is not necessarily trivial to come by.
5) JTAG ICE - requires additional AVR and firmware.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Is it correct read from a BAT54C DS , that the forward voltage increases on higher current through the diode ??

So the voltage drop across it increass with the current through it ??

/Bingo

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

yes.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hey,

I don't have US$70 or more on hand - i'm poor at the moment, after that butterfly, C book and other things - so i'd rther give the ICE a go anyway. Schematics and code, anyone?

I'm not worried about simulation speed, i'm sick of having to burn my flash every 5 mins - wearing out my SM part quickly - to see if i've solved a problem. I can't do traditional simulation as the application uses an LCD screen and a matrix keypad, plus many wait cycles. The ICE system you ge great, and making the system would be interesting anyway.

- Dean :twisted:

Make Atmel Studio better with my free extensions. Open source and feedback welcome!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Check out the $40 jtag from ERE Co Thailand in companies section above.... I have one... works just like an atmel jtag

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

jatag cable I is cheep and proably what I would get anyone have comments on it?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Don't forget, though -- When you're stepping through code with an ICE, you're actually re-flashing the chip on a repeated basis, inserting breakpoints. So it actually will contribute to wearing out your micro more quickly.

As well, you should know, the ICE 'dongle' is really quite complex. For one thing, it has another AVR *inside* it. This AVR acts as a 'master' that controls the AVR you're debugging. I really think that to build one yourself is going to be prohibitively difficult, and you probably can't do it by hand for cheaper than you could buy a 3rd party Atmel JTAG ICE-compatible device like the one Bob mentioned.

The cheapest way to program the Buttrefly would be to use the built-in bootloader. You have to give up the top couple of kilobytes of Flash for the bootloader software itself, but you don't need any more hardware than a serial cable to actually load your code. And I think you'll find that your existing parallel-port dongle from the ABCmini has a compatible pinout with the ISP header on the Butterfly, so it should be possible to use it to program the Butterfly too. (Of course, after using ISP to program the Butterfly once, it will delete the Bootloader code, so you couldn't use it again without re-flashing the Bootloader code again using ISP.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If you want to start cheaply but don't want to make your own board and you want to use the AVRGCC free C compiler then check out my "getting started" article ( http://www.users.on.net/~symes/CwithAVR/IntrotoCwithAVR.htm )

It is based on the fully assembled futurlec 2313 dev board (US$19.90)

Plus of course you'll need to buy a few other bits and pieces, I've listed them all on that site

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

abcminiuser wrote:
It means it's your turn to enter the discussion and prattle on about the merits of the butterfly.

Haha, one can always rely on Smiley coming into the discussion with a "OMG have you seen how freaking awesome the uber-cool butterfly is???" :P

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Dingo_aus wrote:
abcminiuser wrote:
It means it's your turn to enter the discussion and prattle on about the merits of the butterfly.

Haha, one can always rely on Smiley coming into the discussion with a "OMG have you seen how freaking awesome the uber-cool butterfly is???" :P

OMG have you seen how freaking awesome the uber-cool butterfly is???

Smiley

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

:lol:

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
anyone have comments on it?
You lose 4 pins out of your micro for JTAG...no problem if you have lots to spare. I have been using the ICE200 (now pretty much obsolete) and you don't lose any pins. The newer 1 wire debug for smaller device is quite good as you only lose the reset pin as an I/O.

John Samperi

Ampertronics Pty. Ltd.

www.ampertronics.com.au

* Electronic Design * Custom Products * Contract Assembly

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well that completely negates the point of JTAG. I guess it's back to the old guess and check method - I don't want to be re-flashing the chip every time I debug...

BASCOM's got a novel idea; you load a simple program onto your AVR - the computer does the processing and then sends via serial commands like "switch on port a" - but with bytecodes to make it quicker. This means no constant re-flashing, no expensive hardware, etc. It may not be perfect, but it beats the hell out of re-flashing the code every time like JTAG.

JTAG sucks. And smokey, :).

- Dean :twisted:

Make Atmel Studio better with my free extensions. Open source and feedback welcome!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Without making an autmated loop to write to flash, has anyone actually ever "burnt out" an AVR by flashing it too many times?

I burnt out the eeprom in a pic once, that was because it wrote the time to it every second for 3 days :)

But seriously, even changing one line of code, reflashing, testing etc for a whole day, or week isn't hasn't killed any of my AVRs (yet).

Isn't the case that the average AVR is quite likely to surpass the designated number of read/writes in the datasheet?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I've written to my 90S8535 (~1000 max writes) about 300 times in a year, 200 of which have been in the last 4 months. Because this uC happens to be part of my ABCmini board, it'll cost me $50 to replace it. I think I will rig up the butterfly for my project, as I only need two ports to test my code.

I believe that 1,000 writes for the 90S8535 is a conservative number - ATMEL are covering thir backside s in much the same way as their clock speeds, ensuring that the part's absolute minimum is above their specified number. Most parts rated at 1,000 writes may live to 1,200 or even 1,500 writes before kicking the metaphorical bucket.

- Dean :twisted:

Make Atmel Studio better with my free extensions. Open source and feedback welcome!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
Without making an autmated loop to write to flash, has anyone actually ever "burnt out" an AVR by flashing it too many times?

I have. Just happened once though. Basically the project was one where I didn't have access to the right testing equipment and also was just doing a lot of code/program/test/fix cycles as it was a pretty complex project.

As luck would have it, just before the big program review on the project, the system started failing as soon as power was removed. It seemed to work fine after programming, but if I cycled power it would go brain dead. Took me about half a day to finally get confident enough that it really was the micro that I pulled the system board and risked desoldering and mounting a new 44-pin TQFP package on a one of a kind prototype that also had mods and such hanging off of it.

But that fixed it. And looking back over the time I had put into the project and the approximate frequency of reprogramming, I was right in the ballpark of 1000 programming cycles.

Please note - this post may not present all information available on a subject.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Nice, I always wondered what the symptoms of an AVR which had overused it's write cycles were. Anyone else have interesting stories?

- Dean :twisted:

Make Atmel Studio better with my free extensions. Open source and feedback welcome!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi,

Note that the new devices have 10000 erase/write cycles in them, so you shouldn't run into the problem for a lot longer!

-Colin

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

True, but my SM develeopment board - the ABCmini - uses the old AT90S8535. I believe that they are either upgrading to the MEGA8535 or a more powerful MEGA chip soon.

- Dean :twsited:

Make Atmel Studio better with my free extensions. Open source and feedback welcome!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Bingo600 wrote:
I can see that the Butterfly has a V(ext) Max of 4v5.

What is setting this limit ??

The LCD or the Dataflash ??

I would assume the M169 can do 5v.

From the schematic (in butterfly user guide) i can see that V(ext) goes to VCC via a diode (BAT54C dual) , and V(batt) is connected via the other half..
So from a V(ext) of 4v5 they should have a VCC of 3v8 , or ... what is the drop across a schottky BAT54C. Does that really depend on forward current ??
http://www.rectron.com/data_shee...

Btw .. isnt VCC(max) 3v6 for a Dataflash.

Well back to question ....

What is the mail reason for a V(ext) Max of 4v5 on a Butterfly

/Bingo

Was thinking about how to get a BF to run@5v again.

I never got an ansver to the above :-)

Anyone knows what is setting the VCC limit on a BF ??

/Bingo

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Just found this thread :-)

https://www.avrfreaks.net/index.p...

/Bingo

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm a little late but...

FWIW, I started AVR programming with CodeVisionAVR. It's nice. For many reasons since, I have changed to GNU/Linux.

I've read somewhere that the gcc compiler http://gcc.gnu.org/ is perhaps one of the most important pieces of software ever written. Personally I believe it to be so.

As to programming the AVR, http://gcc.gnu.org/install/speci...

But don't stop there! Once you learn gcc, then you have opened the door to more development platform than you will ever need, and "on the cheap". Here is a list of the MCUs available to you with gcc: http://gcc.gnu.org/install/speci...

Now, look further into the 'tools' for electronics development, and beyond just getting a LED to flash on an AVR....

Debian is a free operating system (OS) for your computer. Debian uses the Linux kernel (the core of an operating system), but most of the basic OS tools come from the GNU project; hence the name GNU/Linux. http://www.debian.org/

I currently use Debian 'testing' and wow, look at all your options! http://packages.debian.org/testing/

but specifically this catagory: http://packages.debian.org/testi...

You can get started using Debian here.. http://www.debian.org/distrib/ne... with a cheap and used PII as a dedicated and 'state of the art' electronics workhorse - that's what I have - an old fogotton PII way in the back of the room now resurrected by GNU/Linux (or you can use the computer in front of you right now!).

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I'm completely with Sonos on this. Free stuff is the best and not just because of the price.

I started my uC endeavour with a PIC 16F676, about a year ago. For me this is a hobby, and I guess you're in the same boat as me. Being a hobbyist gives a lot of advantages, most valuable of all is the time - you can waste as much as you need and in the end you're rewarded with results that make you, not your boss, happy.

As for the software and hardware, I would strongly encourage using exclusively free, preferrably open source stuff when available. Leaving moral arguments aside, you get to learn how the stuff works from the inside and often you get great support from other users and developers - something you will never see in a commerial package, even if you get it legally. Support typically costs more, and exclusive support costs a fortune.

I try to do as little "prototyping" in the breadboard sense of that word as possible. Usually it makes sense to think more at first, put up a proper design, then do the thing properly. Any project would require further modifications anyway. Typically datasheets from the parts you use have all required information and typical application circuits. Accompanied with application notes and other people's projects they are the best book ever written, just take your time and do research. Never hesitate to ask and experiment. Failure is the best teacher, too. If not for a wrong power connection I made one day, I would still dwell in stone age suffering PIC assembly :)

I use EAGLE CAD to design my boards. It's a commercial package, but there is a limited version that's free for non-commerial personal use. So far I have never reached its limits yet, but when I will it would make sense buying it simply because they are so nice and software is really great. The url is http://www.cadsoft.de.

For programming (hardware-wise) the AVR, there are many simple projects like PonyProg's STK200 clone or even those funky wire-and-resistors only dongles (which won't work in most cases). The software is also available - PonyProg, AVReal, avrdude, probably even more. I use avrdude because it is packaged with WinAVR.

Programming code-wise is not as hard as it may seem at first either. Although it certainly would make sense to start learning C on a PC first, it is not really required because you can use your C code in AVR Studio and debug in its builtin simulator on a source code level.

All of that is not cheap only if you account for the time, $-wise the price is as low as it gets. But you'll be generously rewarded with knowledge and experience.

The Dark Boxes are coming.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Theoretically there are hundreds or thousands of clever programmers that have worked on gnu and linux open source stuff. I wonder if there is any way to tell if ANY of them have a mortgage or make a living writing software for money. I just don't see the model benefitting the developers in any way except getting their name in the list so they can use that in their resume' to get a paying job in something other than compiler writing.

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

chances are that many closed sources take from the open source platform and simply don't tell, like Bill. But some do, like the Netscape group (after the company president made his gadzillions).

But for an ethical business model, consider this one...

http://www.bitscope.com/project/

...now, the software is stellar, and opensource (free), and you could take it to launch your own company if you want. This sucessful company knows that you might rather just purchase their hardware and not bother to construct your own - hence the success. But, if you want to make your own, the company even gives you the instructions...
http://www.bitscope.com/design/h...

Last Edited: Mon. Sep 26, 2005 - 06:11 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

bobgardner wrote:
Theoretically there are hundreds or thousands of clever programmers that have worked on gnu and linux open source stuff. I wonder if there is any way to tell if ANY of them have a mortgage or make a living writing software for money. I just don't see the model benefitting the developers in any way except getting their name in the list so they can use that in their resume' to get a paying job in something other than compiler writing.

They learn stuff that can be learned no other way.

Learning is the key to making money in this business.
They can use their knowledge to be paid to use or support the opensource software.

Think about it, how much does the Microsoft software cost versus the cost of the developer who uses it. Say you want to develop an internet server you paid $5k for a Microsoft based server workstation and only $1K for an Apache open source workstation, you are still going to have to pay at least $70k (in the US) to sit somebody at that workstation for the year it takes to develop something. If you use opensource at the end of the year you don't have to then pay the Microsoft tax of $Xk per server installation. So who do your hire, somebody certified on Windows Server 2003 or somebody who participated in the Apache opensource project?

Opensource is not a communist plot, it is a plot by programmers to keep the money in their pockets rather than further enrich Microsoft or Sun or Apple.

Linus Thorvalds will never be insanely rich like Mr. Gates, but you can bet he has a hell of a good job based on his abilities as shown by Linux.

Smiley

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

also, visit Eric S. Raymond's Home Page... Microsoft tried in vain to hire him!

http://www.catb.org/~esr/

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

bobgardner wrote:
Theoretically there are hundreds or thousands of clever programmers that have worked on gnu and linux open source stuff. I wonder if there is any way to tell if ANY of them have a mortgage or make a living writing software for money.

Yes. Several of them has: Some companies contribute development to Linux and surroundings. Instead of selling the software they sell support on it. RedHat is one of them and they are still in business after some 10 years.

And it would not be hard to come up with other scenarios, but You asked for "ANY", and there You have it.

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Very interesting. So at the top level, it is impossible to make a living CREATING and SELLING object code that does a specific job, like a desktop operating system, but it is possible to get a job creating and selling some other specialized software that requires USE of the free commodity software. Trying to think of an analogy.... bunch of guys give away some free hardware... a car.... and then make a living working on em. The whole open source movement is just a job search generator for the developers?

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

...close.

"it's free, but not like free beer" is a common mantra.

In other words, the software is free. However, the resources to get it up and running, and the maintenance will cost the customer to some degree, as you already said.

But the car, well, that takes costly components and manpower to build one (like a really good beer). So you'll pay for the car, but not the software to run it....

try this site... http://www.linuxdevices.com/
and here is an example of how you might incorporate the AVR into a 32 bit SBC running the linux kernel.
http://www.linuxdevices.com/arti...

...but as I mentioned before... if you learn open source (say gcc), then you can leverage from AVR knowledge into ARM, or 32 bit platforms, or FPGAs at a fraction of the cost, and can move a lot faster into market without having to retool.

Last Edited: Mon. Sep 26, 2005 - 07:18 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

bobgardner wrote:
Very interesting. So at the top level, it is impossible to make a living CREATING and SELLING object code that does a specific job, like a desktop operating system, but it is possible to get a job creating and selling some other specialized software that requires USE of the free commodity software.

In the Red Hat analogy, this isn't exactly true. It turns out that Red Hat has written some extra stuff for its "official" Red Hat distribution of Linux that isn't generally available otherwise. They have chosen to charge money for people to purchase the product from them. Along with the purchase, customers gain the benefit of customer support - priority requests for bug fixes and resolution of other issues.

However, most (if not all) of the software that is included in a RedHat distribution is actually open-source. That means that, having purchased a copy of the software from Red Hat, there wouldn't be anything stopping me from making another copy of it (binary plus source code) and giving it away for free. Or trying to sell it for a modest fee. Or making my own uber-cool enhancements and selling it for 2x the price RedHat charges.

Trouble is, Red Hat is only obliged to provide support to those customers who purchased the software directly from them. All those schmucks who bought my copy of the software are perfectly legally entitled to make use of it, but they don't have any outlet for support except whatever I offer them, or any Internet searches they may perform for documentation, newsgroups, or user forums.

Quote:
Trying to think of an analogy.... bunch of guys give away some free hardware... a car.... and then make a living working on em. The whole open source movement is just a job search generator for the developers?

It depends. The FSF people look at "free-as-in-liberty" software as a fundamental human right. They don't care about how much money it costs to obtain software, only that, having obtained it, you are free to do whatever you want with it -- modify it, produce derivative works based upon it, re-sell it, sell support for it, or run door-to-door giving it away -- with no additional legal obligation to the person from whom you originally obtained it.

- Luke

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
So at the top level, it is impossible to make a living CREATING and SELLING object code that does a specific job, like a desktop operating system, but it is possible to get a job creating and selling some other specialized software that requires USE of the free commodity software.

1. Who said it was "impossible to make a living CREATING and SELLING object code that does a specific job"? Counter-example: Microsoft. Not exactly having any problem making money...
2. Selling support on products is not uncommon (You buy a car for $30000. Then You pay $500-1500 for evey service made.) And consider when You buy a cell phone for $1, as long as You agree to pay monthly fees for 1, 2 or 3 years.
3. Many software companies charge You both for the initial buy of the s/w and an on going support agreement.

Almost sounds like You don't like open source initiatives, Bob?

As of January 15, 2018, Site fix-up work has begun! Now do your part and report any bugs or deficiencies here

No guarantees, but if we don't report problems they won't get much of  a chance to be fixed! Details/discussions at link given just above.

 

"Some questions have no answers."[C Baird] "There comes a point where the spoon-feeding has to stop and the independent thinking has to start." [C Lawson] "There are always ways to disagree, without being disagreeable."[E Weddington] "Words represent concepts. Use the wrong words, communicate the wrong concept." [J Morin] "Persistence only goes so far if you set yourself up for failure." [Kartman]

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

So programmers are kind of like songwriter/musician types, that create something and try to sell it, but it gets stolen. Artists like painters and composers have always needed benefactors to pay them. The chances of being able to make a living writing software are sort of like making a living being a musician.... lots of folks like music, but not many of them want to pay a bunch of musicians for entertainment... What's the software equivalent of a disk jockey? A guy that samples/ports/steals/modifies software that someone else wrote?

Imagecraft compiler user

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

bobgardner wrote:
So programmers are kind of like songwriter/musician types, that create something and try to sell it, but it gets stolen. Artists like painters and composers have always needed benefactors to pay them. The chances of being able to make a living writing software are sort of like making a living being a musician.... lots of folks like music, but not many of them want to pay a bunch of musicians for entertainment... What's the software equivalent of a disk jockey? A guy that samples/ports/steals/modifies software that someone else wrote?

Don't forget that many developers intentionally release their software under an open-source license. For example, the people at Red Hat sell their distribution of Linux.

However, Linux itself remains "free" software due to the underlying license under which it was first created.

Anybody who does business creating/modifying a program that was originally released under the GPL, for example, has to go in with eyes wide open to the fact that they will be legally bound to use the same license on any derivative work they produce, and others will be able to produce derivative works based upon their efforts. And, they will not be allowed to incorporate extra features taken from the works of other developers unless those features were themselves previously released under a compatible license.

So, somebody who chooses to redistribute a copy of Linux which they themselves have previously purchased from someone else is not "stealing" anything. No laws are being broken, no copyright is being infringed, and nobody's intellectual property rights are being threatened.

Nobody in the mainstream of the open-source community would be a proponent of pirating software. Microsoft has a legitamite legal right to choose not to release the source code to Windows, and to disallow others from redistributing Office.

Instead, most in the open-source community would suggest that you ditch the Microsoft products entirely, in favour of other products that don't have those legal encumberances.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Johan asks:
1. Who said it was "impossible to make a living CREATING and SELLING object code that does a specific job"? Counter-example: Microsoft. Not exactly having any problem making money...
2. Selling support on products is not uncommon (You buy a car for $30000. Then You pay $500-1500 for evey service made.) And consider when You buy a cell phone for $1, as long as You agree to pay monthly fees for 1, 2 or 3 years.
3. Many software companies charge You both for the initial buy of the s/w and an on going support agreement.
Almost sounds like You don't like open source initiatives, Bob?
===========================
Lets use compiler writers as an example. You bust your hump to compete on features and price, and the cheep indy developers and students wont spring $200 for it, but they'll fritter away $200 worth of their time (pick a rate... $10? $20) fiddling with the free compiler trying to get it to do anything except give a make file error. Actually, the programmer/musician tie-in has another similarity.... life on the road... unless you can find a place that develops enough boards to have a full time programmer on staff, you sort of get fired every time you deliver a program, and have to move on down the road. Got to be single to do that.

Imagecraft compiler user