11 May 2012
10 May 2012
First Production Batch Prototype 2 of Fireworks (V4)
Yay the joy. I have just etched the PCBs for the final production Boards.
Update: it turns out that this is still a prototype (the hardware is not yet production ready).
What is it? This board (once finished) will be able to launch fireworks trough electric fuses controlled by a Bluetooth device (I plan to write an Android app).
See the development history of this project.
Layout
9 May 2012
Programming ATtiny45/ATtiny85 with Arduino
I have found many long winded HOWTOs on doing this, I love mini howtos, here we go:
I am using an Arduino UNO with Arduino IDE 0022.
The Arduino IDE needs some hardware information to support the ATtiny45/ATTiny85. Download the following zip file, create a hardware folder in your sketches folder and unzip it into the newly created hardware folder (you should now have the following folder structure in your sketches folder: hardware/attiny45_85/). Restart the Arduino IDE.
Flash your Arduino with the ArduinoISP sketch (File » Examples » ArduinoISP, compile and upload).
Connect the ATtiny45 or ATtiny85 to your Arduino as shown below:
(use a 10 uF capacitor between reset and ground, - on the capacitor goes to GND).
Pin layout of ATtiny45/ ATtiny85
That's it. Select "Tools » Board » ATtiny45 (w/ Arduino as ISP)" as board and you are good to go. While uploading the Arduino IDE will show the error "avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny45
". This doesn't have an effect, just disregard it.
To check if it works you may connect a LED from pin0 to GND and upload the following blink sketch (the LED will also flash on activity during MOSI while uploading a sketch).
// Blink for ATtiny45/ATtiny85 #define PIN_LED 0 void setup() { // initialize the digital pin as an output. // Pin 13 has an LED connected on most Arduino boards: pinMode(PIN_LED, OUTPUT); } void loop() { digitalWrite(PIN_LED, HIGH); // set the LED on delay(1000); // wait for a second digitalWrite(PIN_LED, LOW); // set the LED off delay(1000); // wait for a second }