Stackable uC: Expansion Board

PCB Circuits (click to enlarge) Modules and Info

Eagle CAD: 1. Expansion Schematic


Resources Allocated


Eagle CAD: 2. Expansion PCB




(Bill of Materials)


ATmega328P Main Board Top


ATmega328P Main Board Bottom


ATmega328P Expansion Board

Weather Inside

Ok, so you've built the base Aduino board; now what?  How about building an expansion module that fits on top of the base board?  The one being designed here serves as a sensor board for logging the current weather stats, and the program/sketch that runs it is called "Weather Inside".


The uC Expansion Board

The expansion board fits on top of the base ATmega328P uC board. All digital, analog and power connections are passed from the base board female headers to the expansion board.



The expansion board has the following features some of which are individual electronic components while the others are small SMT-based boards:
Feature Product ID Digital/Analog Pins  I2C Address or Comments

Banggood 1.3" OLED (128x64)






Chinese 1.3" OLED (128x64)











I2C (A5 SCL, A4 SDA)

Banggood Geekcreit 4-pin I2C 128 x 64 monocolour OLED display

 - I2C address 0x3C or 0x3D

 - No Reset pin needed

 - Uses SSD1306 display driver

 - Pinout: GND, VCC, SCL, SDA

 - Round mounting holes

Other Chinese 4-pin I2C 128 x 64 monochrome OLED displays

 - I2C address 0x3C or 0x3D

 - No Reset pin needed

 - Uses SH1106 display driver

 - Pinout: VCC, GND, SCL, SDA

 - Oblong mounting holes

Adafruit BME280 sensor 2652 I2C  (A5 SCL, A4 SDA) Temp, humidity, BP sensor. I2C address 0x77 or 0x76.
Adafruit RGB LED


A1, A2, A3 Diffused tri-colour 5mm, 20mA average current draw for all 3 colours, Brightness: Red 500mcd, green 600mcd, blue 300 mcd.
Sparkfun Buzzer circuit 7950 D4 Complete driver circuit for the piezo buzzer/speaker. Can be used to play tones, melodies, etc.
Tactile momentary switches 367 D5, D6, D7 3 switches are available, perhaps for menu item selection in your software design?
LDR: light dependent resistor SEN-09088 D3 An LDR is a resistor that changes its resistive value (in ohms depending on much light is shining on its face. You could use it to determine if it's night time to turn off the display?
Banggood PIR motion sensor 1011714 D2 Motion sensor with a range of about 6 feet (2m).
Adafruit Micro SD Card module 254 SPI (D10, D11, D12, D13) and A0 Due to lack of space on the expansion board, this module can be attached to the bottom of the ATmega328P base board
USB/FTDI connector FT232RL D0 RX, D1 TX Connect the USB/FTDI module to the base board connector to program it via the Arduino IDE.
Free GPIO resources?   D8, D9  

Stackable uC Sketches =>



Tags: Arduino-type Microcontroller, ATmega328P