2016-08-10

Educaboard

The easy Education Board for the World of Arduino

You know the feeling! You are about to start to learn something completely new. But instead of being able to focus on the new stuff you are spending your time on both the new and old stuff and can't really figure out where the problem is. The Educaboard takes away the frustration of connecting the peripheral devices and having to find out whether your problem is a hardware or software problem. With the Educaboard  you can devote your entire learning experience to the software side.

The Educaboard is a motherboard that can be fitted with an Arduino Nano and connected to peripheral devices such as push buttons, an LCD, an analog voltage, LEDs and a GPS receiver for education purposes.

The Educaboard was conceived by Jens Ole, OZ9ZZ, and Bo, OZ2M. Even though we are radio amateurs we are normal people too. So even if you are not a radio amateur but still wants to learn Arduino programming and would like to use an Educaboard please read on.

The Educaboard

The Educaboard has been designed with cost, ease of access, e.g. from eBay, in finding the peripheral devices and learning how to write code for a microcontroller in mind. The Educaboard is made on a single sided Eurocard PCB with optional print on the top side.

With the Educaboard you can easily learn how to

The above possibilities are all very relevant in most real projects.

With the Educaboard you will need external devices if you want to learn how to

Parts/shopping list

Below is a list of all the parts you will need to get your Educaboard up and running. Most of the components are easy to get a hold of.

Parts/shopping list for the Educaboard.

Device ID Device Comments
R1 330 Ω Value uncritical may be from 270 Ω to 470 Ω. Controls current to LED
R2 330 Ω Value uncritical may be from 270 Ω to 470 Ω. Controls current to LED
R3 330 Ω Value uncritical may be from 270 Ω to 470 Ω. Controls current to LED
R4 12 Ω LCD backlight. Some LCDs even have the backlight resistor onboard. In this case R4 may be replaced by a shunt
R5 1 kΩ Current limiter for external analog voltage
R6 0 Ω Short
R7 330 Ω  
R8 10 kΩ  
R9 10 kΩ  
R10 10 kΩ  
R11 4,7 kΩ  
R12 4,7 kΩ  
R13 4,7 kΩ  
R14 0 Ω Short
R15 22 Ω Speaker attenuating resistor. A larger or smaller value may be preferred
R17 10 kΩ  
R18 10 kΩ  
R19 10 kΩ  
R20 330 Ω Value uncritical may be from 270 Ω to 470 Ω. Controls current to LED
P1 10 kΩ trimpot LCD contrast trimmer
R2 10 kΩ potmeter/trimpot Analog voltage trimmer
     
C1 100 nF, ceramic  
C2 100 nF, ceramic  
C3 220 µF, 25 V, electrolytic  
     
D1 Rectifier bridge  
D2 Red 5 mm LED  
D3 Yellow 5 mm LED  
D4 Green 5 m LED  
Z1 5,1 V zener diode  
     
T1 LM35  
T2 2N7000 Or equivalent
T3 2N7000 Or equivalent
T4 2N7000 Or equivalent
VR1 LM7805  
IC1 Arduino Nano v. 3.0 With male two 15 pin SILs. Do NOT use an Arduino Nano 2.x as it is not pin compatible with v. 3.0!
A1/A2/A3 LCD You may use most LCDs available with two or four rows and 16 or 20 characters. But the bigger the more fun you will have. With one 16 pin male SIL connector.
Please note that some LCDs have anode on pin 15 others on pin 16, or can be configured. In any case the Educaboard is designed to have the anode on pin 16.
Some LCDs even have the backlight resistor onboard. In this case R4 may be replaced by a shunt
A4 ublox NEO-6M on PCB Loads available on eBay with one 5 pin male SIL
     
K1 Push button 0  
K2 Push button 1  
K3 Rotary encoder with push button The push button may be omitted if impossible to find. However, the functionality will then be missing
K4 External supply voltage connector Must match the AC/DC adaptor used
     
S1 16 pin DIL IC socket Two needed. One on the PCB and another as cross connect
S2 3 pin header with jumper Selects between internal/external analog voltage
S3 2 pin header Connects to external analog voltage
S4 15 pin SIL, female  
S5 15 pin SIL, female  
S6 2 x 10 pin header  
S7 Four pin header with jumper  
S8 5 pin SIL, female Plus 5 pin male soldered to GPS
(S9) 15 pin SIL, female Optional but recommended socket for the Arduino Nano
(S10) 15 pin SIL, female Optional but recommended socket for the Arduino Nano
(S11) 16 pin SIL, female LCD socket
     
PCB One Educaboard Drill 4 x 3 mm holes for relevant LCD used
Standoff Four stand offs with 4 mm holes Use between PCB and LCD
M3 bolts Five x 3 mm bolts 20 mm long Four to be used for the LCD and one for the GPS. Preferably in nylon
M3 nuts Five x 3 mm nuts Four to be used for the LCD and one for the GPS. Preferably in nylon
Rubber feet Four Rubber feet  
Speaker Speaker  
GND PIN Ground hair pin Use it for connecting an oscilloscope ground clip etc.
PSU Mains adaptor Both AC and DC adaptors will work provided they are in the range of 8-15 V

Assembly instructions

First you must prepare the uBlox NEO-6M GPS so the 1 PPS signal is connected to the male SIL. It is important that the wire is connected to the underside of the SIL otherwise it will take up to much space when mating with the female SIL.

uBlox NEO-6M and 1 PPS wire routing.

Download the PCB support files before you start the assembly. Then mount the components in the this order:

You may have to change the value of R14 if the speaker is to weak/loud for you.

Connected devices

The Arduino Nano 3.0 is connected in the following way to the USB, GPS, push buttons, rotary encoder, speaker, LEDs, LCD, trimpot and temperature sensor if using a 1:1 cross connect.

Arduino Nano 3.0.

Device connections to the Arduino Nano 3.0 with a 1:1 cross connect.

Device Nano pin Cross connect Arduino Nano functionality
Reserved for USB input to the Arduino Nano 3.0 RX0  
  • Serial RX. Used to receive (RX) TTL serial data. This pin are connected to the corresponding pins of the FTDI USB-to-TTL Serial chip
Reserved for USB output from the Arduino Nano 3.0 TX1  
  • Serial TRX. Used to transmit (TX) TTL serial data. This pin is connected to the corresponding pins of the FTDI USB-to-TTL Serial chip
GPS 1 PPS D2  
  • Digital input/output
  • External interrupts: This pin can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value. See the attachInterrupt() function for details
Push button 0 D3 Yes
  • Digital input/output
  • PWM: Provide 8-bit PWM output with the analogWrite() function
  • External interrupts: This pin can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value. See the attachInterrupt() function for details
GPS TX (data to Arduino) D4  
  • Digital input/output
GPS RX (data from Arduino) D5  
  • Digital input/output
  • PWM: Provide 8-bit PWM output with the analogWrite() function
Push button 1 D6 Yes
  • Digital input/output
  • PWM: Provide 8-bit PWM output with the analogWrite() function
Rotary encoder A D7 Yes
  • Digital input/output
Rotary encoder B D8 Yes
  • Digital input/output
Rotary encoder push button D9 Yes
  • Digital input/output
  • PWM: Provide 8-bit PWM output with the analogWrite() function
Speaker D10 Yes
  • Digital input/output
  • PWM: Provide 8-bit PWM output with the analogWrite() function
  • (SPI: Slave Select, SS. This pin support SPI communication, which, although provided by the underlying hardware, is not currently included in the Arduino language)
Green LED D11 Yes
  • Digital input/output
  • PWM: Provide 8-bit PWM output with the analogWrite() function
  • (SPI: Master Out Slave In, MOSI. This pin support SPI communication, which, although provided by the underlying hardware, is not currently included in the Arduino language)
Yellow LED D12  
  • Digital input/output
  • (SPI: Master In Slave Out, MISO. This pin support SPI communication, which, although provided by the underlying hardware, is not currently included in the Arduino language)
Red LED D13  
  • Digital input/output
  • Connected to yellow LED on Arduino Nano board
  • (SPI: Serial Clock, SCK. This pin support SPI communication, which, although provided by the underlying hardware, is not currently included in the Arduino language)
LCD D7 A0  
  • Analog input
  • Digital input/output
LCD D6 A1  
  • Analog input
  • Digital input/output
LCD D5 A2  
  • Analog input
  • Digital input/output
LCD D4 A3  
  • Analog input
  • Digital input/output
LCD Enable A4  
  • Analog input
  • Digital input/output
LCD RS A5  
  • Analog input
  • Digital input/output
Trimpot viper A6  
  • Analog input
Temperature sensor input A7 Yes
  • Analog input

For a detailed description of the cross connect please see section below.

Cross connect

The cross connect is a 16 pin DIP socket. This allows you to change the peripheral devices connections to the Arduino Nano depending your requirement for specific connections such as analog input, interrupt and PWM pins etc.

Cross connections if using a 1:1 connection on the 16 pin DIP.

DIP 16 pin Standard device Nano pin Arduino Nano functionality
1/16 Trimpot viper A6
  • Analog input
2/15 Green LED D11
  • Digital input/output
  • PWM: Provide 8-bit PWM output with the analogWrite() function
  • (SPI: Master Out Slave In, MOSI. This pin support SPI communication, which, although provided by the underlying hardware, is not currently included in the Arduino language)
3/14 Speaker D10
  • Digital input/output
  • PWM: Provide 8-bit PWM output with the analogWrite() function
  • (SPI: Master Out Slave In, MOSI. This pin support SPI communication, which, although provided by the underlying hardware, is not currently included in the Arduino language)
4/13 Rotary encoder push button D9
  • Digital input/output
  • PWM: Provide 8-bit PWM output with the analogWrite() function
5/12 Rotary encoder B D8
  • Digital input/output
6/11 Rotary encoder A D7
  • Digital input/output
7/10 Push button 1 D6
  • Digital input/output
  • PWM: Provide 8-bit PWM output with the analogWrite() function
8/9 Push button 0 D3
  • Digital input/output
  • PWM: Provide 8-bit PWM output with the analogWrite() function
  • External interrupts: This pin can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value. See the attachInterrupt() function for details

Software

You may download this software to test that all your connections and peripheral devices using a 1:1 cross connect works as intended. If this does not work you will have to troubleshoot your assembly prior to beginning your Arduino learning experience.

Learning to code

Fortunately there are a million ways to learn how to write code for an Arduino. Likewise there are a million webpage tutorials and Youtube tutorial videos. It is not important of you look for Arduino Nano 3.0 or Arduino Uno.

If you do not have an Arduino mentor at hand here is a suggested curriculum:

References

Arduino home page

Arduino Nano 3.0 home page

Arduino IDE

Arduino Language Reference


Bo, OZ2M, www.rudius.net/oz2m