Metaboard/2010 activities
As of September 2010, reox and chrysn are about to build some microcontroller stuff, partially based on the metaboard, and centered around home automation.
People who want to participate are invited to join, even if there is just a small overlap between the things we build!
Some current files are in gitorious (clone using "git clone git://gitorious.org/metaboard/metaboard.git metaboard").
Goals
- Physical goals:
- Build remote sensors that monitor room parameters; those should be as cheap as possible (<10€)
- Build a base station for those sensors that can be used both for receiving and programming the sensors
- Build a version of said base station that can also control that can emit DMX signals
- Learning goals:
- Planning a physical computing device from standard components
- Physically creating the devices
- Community interaction goals:
- Document the learning experience
- Enhance tools used
- Create a version of metaboard that can be edited using free tools
Random extension ideas
- IR transceiver for integration with TV or universal remotes
- Measuring water level in indoor fountains
- wireless or opto-coupled USB-to-USB keyboard/mouse or serial device
Implementation
- Microcontrollers: Atmel AVR (ATmega and ATtiny; chosen for availability of existing infrastructure (gcc, arduino libraries) and widespread use in similar applications)
- PCB implementation: single sided PCB with no SMD components
- Board base: metaboard (at least for the base station)
- RF communication: ISM band using HopeRF RFM12
- Computer communication: V-USB (works with metaboard, is cheap and much cooler than relying on serial port emulation)
- Layouting software: gEDA seems to be the best free schematic and PCB editor
Parts
for the base board (metaboard + DMX + RF12)
- a 5V voltage regulator (7805)*
- capacitors: 100nF, 22pF (2x)
- clock crystal: 16MHz (for other frequencies, check the V-USB hardware considerations)
- diodes: 1N4004*, 3V6 (2x)
- jumper pads of length 3 (2x) and 2
- "negative jumper pads" (or whatever they are called) of length 2, 4, 6 and 8 (2x)
- polarized capacitors: 10µF (2x) (*: 1x)
- power jack*
- resistors: 68Ω (2x), 100Ω*, 1.5kΩ, 1MΩ
- RS485 driver: SN78176a*
- push button
- ATMega168 (or 328)
- RFM12 DIP*
- USB-B connector
- DIP sockets: 8*, 28
- socket for RFM12 DIP (2mm 2x4)*
The components marked with * are optional in the first stage of building the board, which will be about getting to know V-USB.
Resources
Existing similar solutions
(We could probably directly go for some of them, but doing it all ourselves gives more flexibility and a learning experience.)
- JeeLabs: Arduino compatible boards running on 3.3V with RFM12B modules and a plug system for sensor components
- cm's wireless temperature and humidity sensor with USB interface: one of the V-USB example projects, pretty close to what we want to build
- Arduino DMX shield: pretty straight forward DMX master
- iPhone and DMX: Arduino with DMX and ethernet shield
- RFM12 transceiver module: a board with ATmega8, with the RFM12 completely connected (see schematics)
- Benutzer:Mihi/Programming-attiny45-mit-arduino: programming arduinos with arduinos
Physical resources
We hope to be granted access to Metalab / WhateverLab resources for physically creating the boards (PCB etching (or milling?), solder station, parts repository / order collections), and will approach metalabbers as soon as we know what we want at all.
Other Links
- RFM12:
- RFM12 supplier website
- RFM12 tutorial
- RFM12 vs RFM12B: the differences
- RFM12 on mikrocontroller.net: german description of RFM12 commands
- AVR RFM12 on mikrocontroller.net
- DMX:
- Maxim RS485 controllers
- SN75176BP data sheet: the TI RS485 transceiver
- DMX512 introduction
- gEDA/PCB:
- gEDA symbols: library of gEDA symbols and PCB footprints
- PCB documentation: not as outdated as the copyright notice makes you think
- gsch2pcb tutorial: how to get a .pcb file from a .sch file and how to update it
- gEDA symbol creation: creating custom symbols, includes footprint naming convention
- editing PCB footprints
- General Arduino related stuff
- Arduino Hacks: Bootloader Hacks: maybe this could show how to integrate the bootloader with the program so we can upload new software from USB w/o physically touching the device
- Metalab projects: