Soil moisture sensor based on ATtiny85

Order PCBs:

Compare PCB Prices:

Buy Parts

Adjust quantity:
... 6 more lines
View All

Singing Plants

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.

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.

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

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

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

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

Here is the link to the soldering instructions in english

Please leave us some comments in the document if you think something is unclear!

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