CSEduino v4

cseduino4

These are the instructions for assembling CSEduino version 4.

Getting the files

  • The KiCad files can be downloaded from github
  • The required gerber files are in this zip file

Changes

  • This board was made using KiCad and it is a Double-Sided Board
  • It is pin compatible with the previous ones

Bill of Materials

  • 1x CSEduino v4 PCB
  • 1x 7805 linear voltage regulator (U2) (€ 0,22)
  • 2x 100 μF, 25 V electrolytic capacitors (C1, C2) (€ 0,04)
  • 1x 1N4001 rectifier diode (D1) (€ 0,02)
  • 1x 470Ω resistor (R1) (€ 0,01)
  • 1x 3mm LED (D2) (€ 0,01)
  • 1x 2-pin male single header (P1)
  • 2x 5-pin male single header (P2, P3)
  • 1x ATmega328P-PU microcontroller with Arduino bootloader (U2) (€ 1,59)
  • 1x 28 pin DIP IC Socket (U2)
  • 1x 16 MHz crystal oscillator (X1) (€ 0,44)
  • 2x 22 pF, 50 V ceramic capacitors (C3, C4) (€ 0,06)
  • 1x SPST momentary normally-open type switch (SW1) € 0,08)
  • 1x 10 kΩ resistor (R2) (€ 0,01)
  • 1x 100 nF, 50 V ceramic capacitor (C5) (€ 0,06)
  • 1x 1 kΩ resistor (R1) (€ 0,01)
  • 1x 8-pin female single header (P4)
  • 1x 6-pin male single header (P5)
  • 1x 14-pin female single header (P6)
  • 1x 4-pin female single header (P7)

The price presented is an average price. All components are very inexpensive except for the ATmega328P.

Schematics

The power part:
cseduino4_schematics

The microcontroller part:
cseduino4_schematics

The PCB

cseduino4_pcb1cseduino4_pcb2

Steps for assembling

The PCB without components

cseduino4_d0

Place resistor R1 and R2

cseduino4_d1

Place diode D1 (pay attention to orientation)

cseduino4_d2

Place crystal oscillator X1

cseduino4_d3

Place ceramic capacitors C3, C4 and C5

cseduino4_d4

Place SPST momentary normally-open type switch SW1

cseduino4_d5

Place LED D2 (pay attention to orientation)

cseduino4_d6

Place the 28 pin DIP IC Socket (pay attention to orientation)

cseduino4_d7

Place 7805 linear voltage regulator (U1)

cseduino4_d8

Place female and male headers (P1-P7)

cseduino4_d9

Place 100 μF, 25 V electrolytic capacitors C1 and C2 (pay attention to orientation)

cseduino4_d10

Place ATmega328P-PU microcontroller U2 in the socket (pay attention to orientation)

cseduino4_d11

The ATmega328P Pin Layout

The numbering scheme used by Arduino is somewhat different from the Pin numbers of ATmega328P so the following image shows the relation between those numbers:

ATmega328P Pins:

  • Pin 1 - RST: Connect to 10k Resistor -> GND, Connect to Push button -> 100nF capacitor -> Connect to Pin 6 (USB/FTDI)
  • Pin 7, 20 - VCC: (+5V)
  • Pin 8, 22 - GND
  • Pin 9 - XTAL1: Connect to 22pF capacitor -> GND, Connect Crystal
  • Pin 10 - XTAL2: Connect to 22pF capacitor -> GND, Connect Crystal
  • Pin 2 - RXD: Connect to Pin 4 (USB/FTDI)
  • Pin 3 - TXD: Connect to Pin 5 (USB/FTDI)
  • Pin 2, 3, 4, 5, 6, 11, 12, 13 ,14, 15, 16, 17, 18, 19: Digital Pins
  • Pins 4, 11, 12, 15, 16 ,17: Pins with PWM
  • Pin 23, 24, 25, 26 , 27, 28: Analog Pins
  • Pin 21 - AREF: is not connected.

Running a Test Sketch

Open Arduino IDE. Select The proper hardware - Menu Tools -> Board -> Arduino Duemilanove w/ ATmega328.

i901

Select the correct Serial Port after connecting the FTDI Breakout board In the Menu Tools -> Serial Port.

i902

Create the following circuit with an LED (Long leg in PIN 13) and a 470Ω resistor to the short leg and GND:

blinkcircuit

And run the following sketch (Menu File -> Examples -> 01. Basics -> Blink):

i900

/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
  This example code is in the public domain.
 */
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int  led = 13;
// the setup routine runs once when you press reset:
void  setup () {
  // initialize the digital pin as an output.
 pinMode (led, OUTPUT );
}
// the loop routine runs over and over again forever:
void  loop () {
  digitalWrite (led, HIGH ); // turn the LED on (HIGH is the voltage level)
  delay (1000); // wait for a second
  digitalWrite (led, LOW ); // turn the LED off by making the voltage LOW
  delay (1000);               // wait for a second
}

After Uploading (Ctrl-U) the program should start afterwards.
The LED on the board should blink every second.

Note: Do not connect the external power to the board when using the USB/FTDI programming breakout card.

Mentions

The Board is presented in the Made With KiCad site. It is also mentioned in the book KiCAD like a Pro on pages 41 and 42.

Additional Content