Buy Parts
... 6 more lines |
View All |
Singing Plants
A Digital Biology Project
Welcome to our Repository!
Here we document the development of our "Singing Plants" project. We will host a Singing Plant workshop at re:publica 2019 where you can learn about electronics and plants as well as solder your own PCB sensor.
Acknowledgements
This projects uses a lot of the bits and pieces already developed and used by the 8Bit-Mixtape-NEO project and especially the TinyAudioBoot developed by ChrisMicro (RoboterClub Freiburg), Budi Prakosa and others. The PCB design was done with the help of the great Inkscape plugin svg2shenzhen.
Instructions
Flash Bootloader on ATtiny85
If you want to build your Singing Plant sensor from scratch you will need to flash a bootloader on the ATtiny85. We used the ATtiny85 "Audio Bootloader" which was developed by ChrisMicro, Budi Prakosa and others which is an integral part of the great 8BitMixtape project. It is easily done using an ISP programmer and the command line utility avrdude which should run on all platforms (yet we only tested it with MacOS so far). If you don't have an ISP programmer you can use an Arduino and simply follow this guide to step 4.
NOTE: If you got a kit with all the components from us we already flashed the bootloader on the supplied ATtiny85s
Set fuses
avrdude -P *ISPdevice* -b 19200 -c avrisp -p t85 -U efuse:w:0xfe:m -U hfuse:w:0xdd:m -U lfuse:w:0xe1:m
Instead of ISPdevice add the serial address of the Arduino (as ISP programmer) or your regular ISP programmer.
Example:avrdude -P /dev/tty.usbmodemFA131 -b 19200 -c avrisp -p t85 -U efuse:w:0xfe:m -U hfuse:w:0xdd:m -U lfuse:w:0xe1:m
Burn bootloader
avrdude -v -pattiny85 -c avrisp -P *ISPdevice* -b19200 -Uflash:w:*full/path/to/the/audio/bootloader.hex*:i
Again, enter the serial address of your ISP programmer instead of ISPdevice and enter the full path to the audio boodloader .hex file.
Example:avrdude -v -pattiny85 -c avrisp -P /dev/tty.usbmodemFA131 -b19200 -Uflash:w:/Users/alexanderkutschera/GitLab/TinyAudioBoot/build/AudioBootAttiny_AudioPB3_PB1.hex:i
Create HEX/wav files
To program the sensor using the Arduino IDE you first have to integrate some things into the IDE itself. We are using the same infrastructure as the 8BitMixtabe-NEO board and that's why you can follow these instructions.
NOTE: We used a different core for our scripts (because otherwise producing sounds with tone() does not work). Here are our settings:
In the Arduino IDE select:
- Board: 8BitMixtapeNeo
- Bootloader: AudioBoot Audio: PB3/PIN2 LED: PB1/PIN6
- Core: TeenyRiot core 16MHz (PLL/NO.BOD)
- Port: leave empty
Soldering the PCB
Here is the link to the soldering instructions in english
Please leave us some comments in the document if you think something is unclear!
Upload new code
For now we uploaded some audio file here which you can use to program your sensor. More will follow but you can also create your own with the instructions above