Barebones Arduino

Preamble

Following on from the single board Arduino Boy, see Chiptunes, I thought that it would be prudent to make some notes about barebones Arduino schematics, that can then be incorporated into single board designs

See also

Links

Arduino Uno by sections

Only three sections are actually required for a functioning Arduino (and even these can be reduced to bare minimums (although the complete set of components is required for stability):

  • Regulated supply – bare minimum: 100 nF ceramic next to the VCC and GND pins
  • Reset circuitry – bare minimum: 10 kΩ pullup resistor
  • Oscillator – bare minimum ceramic oscillator, or use internal timer

The other parts can be added if you need them.

Regulated Supply

Use a 7805SR which is a switching regulator, preferable to the LM7803 linear regulator.

Either side of the 7805 regulator (input and output respectively), use the following 35V and 10 V rated electrolytic capacitors, for the input/output respectively:

Arduino BB Supply Regulator.png

Useful for sanity checking to see if there is actually power applied:

  • LED and 330/220 Ω resistor

Looking at the regulator circuit used on an actual Arduino Uno, from the Schematic, it can be seen that 47 µF capacitors are used, as well as a 100 nF capacitor for the higher frequency filtering:

Arduino Supply Regulated.png

Oscillator

Use

Arduino BB XTAL.png

or, if timing accuracy is not important

Reset circuit

Use

Arduino BB Reset

Programmer

OPTIONAL: Only required if you are going to program the ATmega8 in-situ.

From Using EAGLE: Schematic, 2×3 AVR Programming Header

Arduino BB Programming header.png

Analogue Voltage reference

OPTIONAL: If using Analogue input (ADC). from Analogue to digital conversion on an ATmega168, use an inductor and capacitor to stabilise the analogue reference voltage

Use

  • 100 nF
  • 10 µH

adconverter_04

At the very least, Aref should be connected to GND via a 100 nF capacitor, even if not connected directly to 5 V or some other reference voltage (source? Arduino PCB issue and Please help with my custom ATMega328 PCB [on hold])

Additionally, in the rare case of switching between external and internal reference voltages, a 5 k resistor should be employed, from analogueReference():

Warning

Don’t use anything less than 0V or more than 5V for external reference voltage on the AREF pin! If you’re using an external reference on the AREF pin, you must set the analog reference to EXTERNAL before calling analogRead(). Otherwise, you will short together the active reference voltage (internally generated) and the AREF pin, possibly damaging the microcontroller on your Arduino board.

Alternatively, you can connect the external reference voltage to the AREF pin through a 5K resistor, allowing you to switch between external and internal reference voltages. Note that the resistor will alter the voltage that gets used as the reference because there is an internal 32K resistor on the AREF pin. The two act as a voltage divider, so, for example, 2.5V applied through the resistor will yield 2.5 * 32 / (32 + 5) = ~2.2V at the AREF pin.

Test LED

OPTIONAL: If you want a visual output, for test or other purposes

Use

  • LED and 330/220 Ω resistor

Rx/Tx LED

OPTIONAL: If using the Rx/Tx pins for serial I/O

Use

  • 2 x LED and 330/220 Ω resistor

Arduino BB LEDs

RS232 connector

OPTIONAL: If using the Rx/Tx pins for serial I/O

Use

  • 6-Pin Serial Programming Header, (ARDUINO_SERIAL_PROGRAMPTH), for:
    • GND
    • CTS
    • VCC
    • RX
    • TX
    • DTR

Arduino BB RS232.png

Note that you may need to employ a 10 k pulldown resistor for the Rx pin. This is for ATmega8 ICs that have a bootloader, and which have slow start up times, due to the bootloader reading noise on the floating Rx pin. See Note 6:

Why doesn’t my sketch start when I’m powering the board with an external power supply? (Arduino Diecimila or earlier)

Because the RX pin is unconnected, the bootloader on the board may be seeing garbage data coming in, meaning that it never times out and starts your sketch. Try tying the RX pin to ground with a 10K resistor (or connecting RX directly to the TX pin).

Power jack

OPTIONAL

Use

Arduin BB Power jack.png

Analogue Connector

OPTIONAL

Use

  • 8-Pin 0.1″ Header (M081X08)

3V3 Supply

OPTIONAL: If you require a 3V3 supply

Use:

  • 7803SR (switching regulator, preferable to LM7803, LM1117T-3.3 or LM317 which are linear regulators => high heat dissipation)
  • 2 x 10 µF (35 V and 10 V) electrolytic capacitors

Schematics

From Using EAGLE: Schematic

52127573757b7f8a3e8b456c

Standalone

standalone-schematic

From Instructables – Build your own Arduino Bare Bone System

fbm44j2hyy8j2oy-large

 

Leave a comment