Prototyping systems such as Arduino use a bootloader to make it easier to upload programs to them. This is really convenient, however if you want to get into programming ‘straight’ microcontrollers, then you will need to get an in circuit programmer to program them. Of course, you could just use an existing Arduino to do the job, but it’s probably better to get/build a dedicated one if you plan on using it much.
To that end, David Mellis designed this simple-to-construct FabISP, a fab-able in-system programmer. Designed to be easy to replicate, it uses a one-sided PCB and a single microcontroller. Of course, to program that microcontroller, you need another ISP…
ADVERTISEMENT