Aduino M4 MBC
|PCB Circuits (click to enlarge)||Circuits and Info|
Eagle CAD: System Bd. 1 Schematic a
Eagle CAD: System Bd. 1 Schematic b
Eagle CAD: System Bd. 2 Schematic a
Eagle CAD: System Bd. 2 Schematic b
Eagle CAD: System Bd. 3 Schematic a
Eagle CAD: System Bd. 3 Schematic b
Eagle CAD: System Bd. 4 Schematic a
Eagle CAD: System Bd. 4 Schematic b
M4 Express Resources Allocated
Arduino IDE Configuration
(Bill of Materials, modules are not included)
The first weather station we built was comprised of a small Aduino base board and an expansion board with display and sensor on it.
The second weather station was similar but built as a single board computer (SBC).
This third weather station will be a multi-board computer (MBC) built with the Adafruit ItsyBitsy M4 Express microcontroller board. The devices on the MBC are strictly 3.3v DC but you can power the "M4" with a 5v DC USB cable (to your PC) or "wall wart".
There are several resources installed on the MBC to function as a type of weather station that can provide:
- display of the current stats: temperature, humidity and barometric pressure values
- data logging to a microSD card
The M4 Express uses a Microchip ATSAMD51G 3v3 microcontroller with the following resources:
- 120MHz, 512KB Flash for program storage, 192KB dynamic SRAM for global variables, 2MB SPI Flash for CircuitPython code storage if you're not using the Arduino IDE (apparently you can switch back and forth between these two programming languages). This is soooo much more than the original Atmel ATmega328 and it means you can finally run graphics on the OLED without draining all of the SRAM
- native USB for programming and serial monitor debugging
- I2C and SPI serial ports
- 3.3v operation, reset button and pin
Devices like the 1.3" OLED and BME280 sensor utilize I2C for communication.
Additional I2C devices can be connected via the two JST 4-pin connectors on Board 3. Here are links for cables and connectors:
- JST cable
All of the functions present on the ATmega328 SBC are present on this 4-board M4 MBC, and there are 3 digital pins (D11 to D13) left over for your own development ideas on Board 4.
USB programming and power
The MBC can be powered via 5v miniUSB (the M4 converts it to 3.3v) or via a terminal block. Diodes D1 through D3 on board 3 will help with the correct polarity.
- USB programming and power
- Built-in RGB DotStar LED on M4 board
- Available LiPoly backpack to attach a rechargeable battery
- 128 x 64 OLED monochrome display
- SD card module for data logging
- DS1307 Real Time Clock with battery backup
- BME280 Temperature/Humidity/Barometric Pressure module
- 5 tactile switches for menu configuration or program operation
- Motion sensing Passive Infrared (PIR) sensor, could be used to sense movement to enable the OLED display, etc.
- Buzzer for playing tones, etc.
The sketches are Arduino code based C++. If you decide to run CircuitPython instead, then you will need to know about the CircuitPython Boot Sequence: https://learn.adafruit.com/assets/75708
Where are pictures of the MBC?
The CAM files based on the 4 adjacent schematics are being sent to China for production. I will update this site once they return and are populated & tested.
Tags: Arduino-type Microcontroller, ATMega328P