Soil moisture sensor based on ATtiny85

Inspect Gerbers

Tracespace View

Assembly Guide

Interactive HTML BOM

Order PCBs:

Compare PCB Prices:

Buy Parts

Adjust quantity:
%
ReferencesQtyDescriptionManufacturerMPNDigikeyMouserRSNewarkFarnell
S111825910-7-1825910-7 1825910-7 SWTE Connectivity1825910-7450-1804-ND479142946Y92182468761
U11ATtiny85-20PU-MCU Microchip ATtiny ATtiny85-20PU DIP-8 W7.62mmMicrochipATTINY85-20PUATTINY85-20PU-ND556ATTINY8520PU133167268T38081455162
U21BAT-HLD-001-BAT-HLD-001 BAT-HLD-001LinxBAT-HLD-001-THMBAT-HLD-001-THM-ND712BATHLD001THM
BZ11Buzzer Buzzer, polar 12x9.5RM7.6TDKPS1240P02BT445-2525-1-ND810PS1240P02BT23AC90371669966
C1, C22CAP 100nF C 0805 2012Metric Pad1.15x1.40mm HandSolderSamsungCL21F104ZBCNNNC1276-1007-1-ND82AC94762988916
D11LED generic 5.0 mm
SW11PCM12SMTR-PCM12SMTR PCM12SMTR SWC&K ComponentsPCM12SMTR401-2016-1-ND611PCM12SMTR793172134M79219575146

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