Skip to the content
2 layers49.5 × 57.2 mmUnified, the printed circuit board in 3D

Front End, Server, Unity Module Code and PCB for GranolaPods FYDP Project

Size
49.5 × 57.2 mm
Copper layers
2
Thickness
1.6 mm
Parts
34
Nets
39
Pads
142
Tracks, vias
216, 0
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
4 Mar 2019
Updated
12 Mar 2019

Overview

Unified is an open-source printed circuit board by Aliasmk, from the Aliasmk/GranolaPods repository on GitHub. It is a 2-layer board of 49.5 × 57.2 mm with 34 parts on 39 nets, routed with 216 tracks and 0 vias.

It is built around the ATMEGA328P-PU. Its parts include 11 resistors, 11 connectors, 4 capacitors, 3 diodes and 1 IC. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

1

README

README.md

GranolaPods

This repo contains the the frontend website code, the backend server code, as well as the hardware (PCB) and firmware of the GranolaPods modular Unity system.

About

GranolaPods is an automated trail mix making machine that creates a custom snack based on your personalized macronutrient requirements. Coding and algorithms take your health requirements into account and select ingredients to suit your needs. The end product is a GranolaPod (granola treat with a personality!) served in a convenient and resealable package, perfect for health conscious, on-the-go individuals.

The Unity Module is an I2C-based modular control board for the GranolaPods smart trail-mix making machine. Why the name "Unity"? The board and code is designed to be modular - all devices in the GranolaPods system (e.g. the Gantry Cart, the Dispensers, and any future devices such as mixers or binders) all united on the same bus and using the same PCB and code.

This was developed for University of Waterloo Mechatronics FYDP Team #26.

How it works

The front end and server are both run locally on a Raspberry Pi. In the GranolaPods system we are using a 7" touchscreen that will display the user interface via a web browser. Submitting a request will generate an HTTP POST, and pass values to the python backend. The backend running on the Pi will sequentially coordinate the Unity modules down the chain to create the snack. Communication between the Pi master and n Unity slaves are done with i2c.

The Unity modules are powered by an ATmega328P. Programming is done through the Arduino IDE via ICSP pins.

Want to see it in action?

To see how the GranolaPods system was envisioned to work check out this video. Unfortunatly due to time constraints we had to reduce the scope and remove the mixing and binding steps and make trail mix rather than granola bars.

For a demonstration of the Unity system you can check out this video.

Want to (attempt to) run it?

To run the server, simply run python ./server/server.py, then navigate to localhost.

Currently the system will crash if a GranolaPod is requested with no Unity boards attached. It would probably crash even more spectacularly if you tried running it on something other than a Raspberry Pi.

Parts

34
QtyValueFootprintReferences
810KResistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolderR2, R5, R6, R7, R8, R9, R10, R11
3860RResistor_SMD:R_1206_3216Metric_Pad1.42x1.75mm_HandSolderR1, R3, R4
218pFCapacitor_SMD:C_1206_3216MetricC1, C2
2Conn_01x03Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ5, J6
2Conn_01x04Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_VerticalJ7, J9
2LEDLED_SMD:LED_1206_3216Metric_Pad1.42x1.75mm_HandSolderD1, D3
2Screw_Terminal_01x06TerminalBlock_4Ucon:TerminalBlock_4Ucon_1x06_P3.50mm_HorizontalJ1, J2
10.1uFCapacitor_SMD:C_1206_3216Metric_Pad1.42x1.75mm_HandSolderC3
1100uFCapacitor_THT:C_Radial_D8.0mm_H11.5mm_P3.50mmC4
1ATmega328P-PUPackage_DIP:DIP-28_W7.62mmU1
1AUX_HEADERConnector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_VerticalJ10
1Conn_01x01Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalJ3
1Conn_01x04_MaleConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJ11
1Conn_02x03_Counter_ClockwiseConnector_PinHeader_2.54mm:PinHeader_2x03_P2.54mm_VerticalJ4
1CrystalCrystal:Crystal_HC49-U_VerticalY1
1LED_Dual_AACLED_THT:LED_D5.0mm-3D2
1Pololu_Breakout_A4988Module:Pololu_Breakout-16_15.2x20.3mmA1
1SIG_HEADERConnector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_VerticalJ8
1SW_SPSTButton_Switch_THT:SW_PUSH_6mmSW1
1SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP1

Similar boards

  • 2 layers68.8 × 53.6 mmZArduino, the printed circuit board in 3D

    ZArduino

    zmaker/arduino_cookbook

    gli sketch del nuovo progetto Arduino Cookbook e dei video di YouTube

    46 parts269
  • 2 layers76.3 × 122.8 mmDiscipad pcb, the printed circuit board in 3D

    Discipad pcb

    coseyfannitutti/discipad

    17-key numpad assembled with only through hole components, including usb type-c

    63 parts221GPL-3.0
  • 2 layers111.3 × 106.4 mmSuper Sixteen v1, the printed circuit board in 3D

    Super Sixteen v1

    matthewcieplak/super-sixteen

    Code and schematics for the Super Sixteen Eurorack sequencer

    141 parts171
  • 2 layers247.6 × 99.2 mmRomeo pcb, the printed circuit board in 3D

    Romeo pcb

    coseyfannitutti/romeo

    Staggered 40% keyboard pcb that can be assembled with only through hole components, including USB Type-C

    138 parts148GPL-3.0
  • 2 layers90 × 140 mmDrumkid, the printed circuit board in 3D

    Drumkid

    mattybrad/drumkid

    Version 4 was the first successful working design, with full code, schematics, Gerbers, etc available on GitHub.

    70 parts137
  • 2 layers238.1 × 375.5 mmFramework, the printed circuit board in 3D

    Framework

    stevennguyen/framework

    Ortholinear keyboard with a knob

    197 parts131
  • 2 layersLM80C R6, the printed circuit board in 3D

    LM80C R6

    leomil72/LM80C

    A Z80-based homebrew computer withTMS9918, AY-3-8910, Z80 CTC, Z80 PIO, and Z80 SIO

    153 parts123GPL-3.0
  • 2 layers145.3 × 44.5 mmScout, the printed circuit board in 3D

    Scout

    oskitone/scout

    3D-printed, Arduino-compatible, 17-key mono synth. Squeeeee!

    48 parts114

Questions

How big is the Unified PCB?

It measures 49.5 × 57.2 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Unified use?

34 parts, built around the ATMEGA328P-PU. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Unified KiCad files?

From the Aliasmk/GranolaPods repository on GitHub, at the commit this page was made from: the board is Unity PCB/Unified.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Unified design in my own project?

Its repository states no licence, so its author keeps all rights: ask Aliasmk before reusing the design.