Category Archives: Breadboard Arduino
Eventually, the electronic hobbyist find themselves needing more complicated tools. One need that arises is to view into the world of the electronic pulses and gaze upon the communications.
One simple example of such a digital communication is an IR receiver. A more complicated example would be a I2C bus or UART communication. All of these can be addressed fairly simply with a logic analyzer.
The first thing that is needed is a sketch to load onto the ATMEGA1284:
Now, with a Breadboard Mega built out, we need a way to get programs or sketches onto the microcontroller. One of many tools is a USB to Serial or TTL (Transitor-Transitor Logic) breakout board. The most common is FTDI232RL, but there are others. This board will allow one to UPLOAD a sketch onto the ATmega1284 without disturbing the bootloader in Flash or the EEPROM. Other ways use a programmer that erase and overwrite the microcontroller and the bootloader will be no more. Of course, you can use the programmer to put the bootloader back, but not both at the same time.
Building your own breadboard microcontroller is both an educational exercise and satisfying. It gives one basic layout for future projects as well as a working development platform. Note, there are a many ways to achieve the the same circuit, so you may find another layout that you like better.
The basic start-up circuit looks like this:
Behind every great project, stands a micro-controller. Whether it be a lowly ATTINY13A with 1-kilobyte of Flash to a beefy STM32F407VGT6 with 1-gigabyte of Flash Memory, working with the external world is a lot easier with a microcontroller. We just need to know where to start. By far the largest body of open source libraries would be the Arduino compatible microcontrollers. The popular ATmega328-P is quite comfortable with 32k of Flash Memory, but the 2k of RAM is a little tight. It also has 6 Analog Input/Outputs (IOs) and 14 Digital IOs with 1 USART (aka UART or TTL) for serial communications.
The ATmega1284-P (I hyphenate the “P” to denote the PDIP as opposed to the “Pico-Power” that is nomenclature) on the other hand, has 128k of Flash Memory and 16k of RAM, 8 analog pins, 24 digital pins with 2 USARTs. While the ATmega1284-P takes up much more realestate, it is only a nuisance on a half sized solderless breadboard (you will have to build your 5V regulated circuit elsewhere). It is a small price considering the extra Flash, RAM, IOs and USARTs. Those that have connected a Graphical Liquid Crystal Display (GLCD) to an ATmega328 without SPI/I2C have gasped the lack of IOs left over. A good demonstration of the ATmega1284-P can be found here: http://www.theresistornetwork.com/2013/04/designing-window-manager-for-avr.html
Anyhow, the Bill of Materials (BOM) are here:
- (1) Full Sized Breadboard
- (1) ATMEGA1284P-PU w/ Optiboot Bootloader
- (6) 0.1uF Ceramic Capacitors
- (2) 22pF Ceramic Capacitors
- (2) 100uF Electrolytic Capacitors
- (2) 330 ohm Resistors
- (1) 10k ohm Resistor
- (1) Red 5mm LED
- (1) Green 5mm LED
- (22) Bent Hookup Wire
- (5) Breadboard Jumpers
- (1) 7805 5VDC Regulator
- (1) 1N4001 Diode
- (1) 16MHz Crystal
- (1) USB2TTL FTDI Serial Communications with 8″ Jumpers
- (1) 9VDC Battery Clip
This bootloader setup operates either on a 16MHz resonator or a 16MHz crystal and two 22pF capacitors. Uploading the IDE sketches are through USART0. The bootloader is the same Optiboot that is used in the Arduino compatible Unos. For the technical types, the High Fuse needs to be set to Full Swing on these PDIP chips for communication issues (USART0) and the XTAL1 signal next to RXD0.
Next, the buildout…