fireCrow v1.0 - Wireless tranciver
Overview
The fireCrow is an Arduino inspired microcontroller board based on the ATtiny4313 with a modified Arduino-Tiny core. The fireCrow runs at 3.3V and 9.216MHz, it has 12 digital input/output pins (of which 3 can be used as PWM outputs), a 2-pole DIP-switch to turn on battery power and (ARM) external power, a pin out socket with included power and serial TX/RX pins, and an ISP socket. It has connections for a Lithium Polymer battery. A XBee, or compatible Bee series, socket is also available on the board.
The fireCrow is original designed to be a module based wireless firing system but could work as a general microcontroller as well. The ATtiny4313 is Arduino code compatible. The user can upload sketches/programs via AVR-ISP programmer or a MEGA-ISP Arduino Shield.
The fireCrow design is made by me, Daniel Arvidsson and licensed under TAPR Open Hardware License. The code is written by David Jensen and licensed under GNU GPL.
Schematic & Original PCB Design
EAGLE files: firecrow_v1_original_PCB_design.zip
Schematic: firecrow_v1_schematic.pdf
Summary
Microcontroller | ATtiny4313 |
Operating Voltage | 3.3V |
Input Voltage | 3.35 -12 V |
Digital I/O Pins | 12 (of which 3 provide PWM output) |
DC Current per I/O Pin | 40 mA |
Flash Memory | 4 KB |
SRAM | 256 B |
EEPROM | 256 B |
Clock Speed | 9.216 MHz |
Power
The fireCrow can be powered with a Lithium Polymer battery on the BAT pins or via external power on pin out header 15 and 16, if not used to (ARM) power the shield.
The power pins are as follows:
- BAT. For supplying a Lithium Polymer battery, or other power source with min. 3.35V, to the board.
- Header pins 15 and 16. External power via shield (note - not arduino pin numbers).
Input and Output
Each of the 12 digital pins on the fireCrow can be used as an input or output, using pinMode(), digitalWrite(), and digitalRead() functions. They operate at 3.3 volts. Each pin can provide or receive a maximum of 40 mA and has an internal pull-up resistor of 20-50 kOhms. In addition, some pins have specialized functions:
- Serial: RXI (D0) and TXO (D1). Used to receive (RX) and transmit (TX) TTL serial data. These pins are connected to the DOUT and DIN pins of the XBee modem socket.
- External Interrupts: 4 and 5. These pins 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.
- PWM: 5, 12 and 13. Provide 8-bit PWM output with the analogWrite() function.
- SPI: 14 (MOSI), 15 (MISO), 16 (SCK). These pins support SPI communication, which, although provided by the underlying hardware, is not currently included in the Arduino language.
- DEBUG-LED: 11. There is a built-in LED connected to digital pin 11. When the pin is HIGH value, the LED is on, when the pin is LOW, it's off. It serves good for debugging code.
- I2C: 14 (SDA) and 16 (SCL). Support I2C (TWI) communication.
Physical Characteristics
The dimensions of the fireCrow PCB are approximately 45mm x 40mm (49mm with headers included).
Related Pages
Code for the firing system is available at github:
fireCrow - code for the 2 ch PyroFyro module
fireNest - Fio based remote control for the fireCrow
Arduino-Tiny core link comming soon...
*There are some design flaws in v1.0!!!
The TX/RX LEDs are not functioning as supposed so skip soldering them to the board.
Also the voltage regulator (XC6216D332FR) in the schematic has reversed in/out pins so you have to change it to another suitable 3V3 regulator, for example: LM2937IMP (SOT-223)