How I built a garden light out of mushrooms

Antonio Cordasco
Apolitical Engineering
9 min readFeb 5, 2021

This article is about one of my latest DIY Arduino projects: a garden light made out of logs, mushrooms and a few cheap electronic parts.

If you don’t know what Arduino is, you can refer to its main website https://www.arduino.cc if you really wanna get into it and maybe try your hand at it.

But for the purpose of this blog, let’s just say it is a small circuit board, with a programmable microcontroller on it, that can be used for basically any electronic DIY project you can think of.

The inspiration came from watching this video on youtube:

In it you can see a guy building a beautiful lamp out of a log and some mushrooms that he finds in a forest.

After some research, I discovered that these mushrooms are called polypores. There are different kinds of them, but they all grow on dead or dying trees. When they are dry, they become very hard and “woody” and can be used as decorations for DIY projects.

They actually have a lot of different applications and have been used by humans since millennia. Most importantly, they are non-poisonous.

At this point I’d like to point out that my approach to DIY is quite non-conventional. I don’t make an exact plan of what I want to build in the beginning. I usually only get a rough idea and immediately start working on it. I get the materials and tools as I go along. This way, I get inspiration and different ideas depending on the kind of materials that I am able to acquire.

I try to buy very little and reuse/recycle as much as possible.

Basically I go with the flow, and so the project changes a lot from the beginning to the end.

I decided that the first thing I needed was a log, so I went for a walk one Sunday morning around my local parks and eventually found a good candidate and brought it home.

The following weekend, I went looking for polypores with my neighbour Lone. This was definitely more fun.

Polypores don’t grow on healthy trees, so the key to finding some is to go to places where the trees are not well managed. Your small local park is not gonna cut it. You need to go to a forest or similar.

Looking for polypores is fun because you really do not know if you will find some and how many. Also in my opinion, they are very beautiful and fascinating, so when you finally do spot some, it’s a great joy.

We found some after only 10 minutes of walking. They were massive. Even a bit too big for my project. There were some smaller ones higher up the tree but unfortunately I did not have a ladder, so I took 2 of the big ones from the bottom.

Polypores on tree

After this, it took another good hour to find another tree with polypores. I took some from here as well and decided it was time to go home.

At this point, the next step was to split the log. I decided that cutting it with a saw would have made the split look too precise. My garden light needs to have a naturalistic look, so I discarded this idea.

I proceeded instead to use a chisel, a hammer, a screwdriver, a wrench, a pickaxe handle and lots and lots of swearing. Again here, I was helped by my amazing neighbour Lone. She did not contribute to the swearing though.

Once the log was split, I used a scalpel to dig out as much wood as possible from both sides, to create space for the circuitry and to make them lighter.

As for the base, I decided that the best would have been to use another log, which I found on another park walk. This log did not need a lot of work. I simply cut a bit from the top with a saw, to make a straight edge. Then routed 2 spaces at the bottom where I would put the batteries and the Arduino board.

Now the real fun starts, but but it also gets more technical. You have been warned.

I won’t go into too much detail about each one of these steps, so that this article does not become too long, but basically I glued and screwed one of the sides to the base. Then I decided that the other side would be attached only with screws, so that it can be removed easily.

I then glued the polypores (now very dry and hard) to the sides, and drilled holes in them where to put the LEDs.

I have tried to make this project as modular as possible. This way, if things break, I can take it apart and diagnose the problem.

The next step now was to add the LEDs. I added 12 in total, to the 4 polypores, in 6 holes (2 LEDs per hole) and then added a long strip which would just go inside the log. This strip is attached to the removable side of the log, not the one that is glued to the base.

I used hot glue to attach the LEDs and the wires. It seems to work well because it lets the LEDs light through, but it is also strong, waterproof and cheap.

photoresistor

On top of the log, I also added a photoresistor, so that the Arduino could tell if it was night or day.

There are other ways of doing this. One would be to check how much power is coming from the solar panel.

The other is to use a clock module. I decided that a photoresistor was the simplest and most effective way.

After a lot of thinking and moving things around I ended up with a circuit that looks more or less like this.

We have a 12v solar panel which feeds a buck converter, which steps the voltage down to 8.3 volts.

Then we have 6 NiMh AA batteries in series, which when charged should give about 8.1 volts (1.35 * 6).

Then there is another buck converter which steps the voltage down to 5 volts and feeds this directly to the Arduino board.

All the LEDs are all connected together, like if they were a long strip, so they only have 3 wires that need to be connected to the Arduino (5v, ground and data).

What I found out about addressable RGB LEDs is that even when their intensity is set to 0 and they are completely turned off, they still consume quite a bit of power, which is not ideal when you only have got 6 AA batteries to play with.

This is because each LED has got a microchip that gets the data signal from the microcontroller and decides what to do to generate the desired type of light. These microchips are always on, unless we cut the power completely from the 5v pin.

Well, it turns out that there is a way of doing so. I wired the LEDs 5v pin to 6 Arduino digital pins wired together, which I can then set to HIGH or LOW via software. The reason I used 6 of them instead of 1 is because these pins do not allow high amounts of current. They are rated at 40 milliamps as absolute maximum, but it’s not advisable to draw more than 20 milliamps from them. If I wire 6 of them together I figured I should be fine.

There are also 2 analog pins of the Arduino board which are used to check the status of the photoresistor and also check the voltage of the battery pack. The LEDs get turned off if there is daylight, but also if the batteries are almost discharged.

Once I was happy with all the wiring, the only thing left to do was to paint the wood to make it a bit more waterproof and then finally bring it to my garden for testing.

It has been sitting in my garden for about a week now and I have learnt a few things from this initial testing.

I wish I could say that it just works perfectly and it’s beautiful etc. but unfortunately this is not the case.

Even though, considering that the main reason why I do DIY projects is not the final result, but the learning I get as I build, I am happy anyway.

What I have learnt is that NiMh batteries are probably not the best option. The ones I used are rated at 2800 mah, but this seems to be highly optimistic. When I first put the light out, I realised that from the time the sun starts to go down, till when it’s night and the LEDs are supposed to turn on, the batteries have already lost a sizeable chunk of their charge.

This made me look into ways of saving energy, so I spent some time understanding how the Arduino board can be put to sleep when it doesn’t need to do anything. I also cut off a few LEDs from the strip inside, going from about 70 to 52.

These modifications improved things quite a bit. I have a feeling that the current setup could work just fine in other periods of the year when there is more sun, but it still struggles during the winter months.

There is another modification that I can make, which is breaking off the power LED that is mounted on the actual Arduino board itself. The only thing this small LED does is tell you that the board is on, and to do this, it takes 3 milliamps. There is no way of turning it off via software, but it can be broken with a soldering iron or a cutter.

3 milliamps may not seem much, but when you are running off batteries, every milliamp counts.

At the moment, power consumption is around 15 milliamps when the LEDs are off, and 65 milliamps at night, when the LEDs are turned on, so after breaking the power LED I should end up with 12 milliamps during the day and 62 milliamps at night.

Another thing I could do is completely change the power section of the project and use some beefy lithium batteries.

I am not sure I want to do this because lithium batteries are a lot harder to deal with than NiMh batteries. They need to be charged using a dedicated charge controller. If things go wrong, and they are charged incorrectly, they can potentially explode.

As for the code that runs on the Arduino board, it’s pointless to try and describe it in this article. Here it is: https://github.com/antoniocordasco/shroomlamp

All in all, this has been a very satisfying project. I have learnt a wide range of things from it. From the existence of these wonderful mushrooms called polypores, to how to split a log, to how to charge NiMh batteries with solar power etc.

I hope that this article can provide inspiration to some people or at least some entertainment.

Thanks for reading.

--

--