Close
0%
0%

Screaming Solar Cicada

An indoor, solar-powered cicada that harvests light through its wings and bursts into a buzzing call once enough energy is stored.

Similar projects worth following
Ah the sound of summer! And the feeling of scorching sun and parched lips. The screaming cicada is an intrinsic part of the African heat. We've recreated this iconic insect in low power energy harvesting form - when the cicada is in a well lit place the solar cells will charge up the capacitor and it will sound its buzzer. An MCU-free solar cicada using an Anysolar KXOB PV module feeding a BQ25505 boost harvester. Energy accumulates on a storage cap until the VBAT_OK threshold (3.6V) toggles a 2N7002/AO3401A load switch, powering a BC847 astable oscillator and magnetic buzzer. As the cap discharges, the circuit shuts off and the cycle repeats.

We thought it would be fun to make an annoying insect that can sit inconspicuously in a room and randomly chirp when its absorbed enough light.

To get there, we needed a oscillator and energy harvester to bring this whimsical idea to life.


The Oscillator

We discovered this oscillator circuit on Hackaday and thought it was neat how it leveraged transistors in a unconventional way to make an oscillator. We simulated and built this circuit on protoboard and managed to get it working!

Astable Multivibrator SchematicThe FFT of the simulated output of this circuit getting 4.3kHz

We initially did some calculations to get the oscillator to the right ball park but soon discovered that the particular characteristics of the NPN transistors effect the frequency that it oscillates at! We discovered this when we tried changing the design to match the transistors we had on hand (BC847).

We are hitting 4.115kHz on the peak of the FFT with the BC847 compared to 4.3kHz on the 2N2222 model.

Here's the protoboard circuit that we managed to get to oscillate! We only had SMT parts available so we soldered up some 0402 resistors & SOT-23 BC847 NPN transistors and got successful oscillation!


Solar situation:

We had some prior experience with the BQ25505 energy harvester chip and since it can turn on at low voltages (0.6V cold start) it should work great for indoor solar.

The initial thinking for solar cells was to use BPW34 photodiodes which was inspired by this photodiode powered BLE chip. This made sense to go on the wings and it was the initial starting point of the project concept as it would look cool and capture plenty of light while the blue shade would add some nice contrast to the design.

After exploring the power we'd get with the photodiodes, it seemed less feasible. As an option, we kept the photodiodes on the main board design but depopulated it and rather went with KXOB25-03X4F-TB to make it more feasible to achieve its ambitious goal.

Here are the BP34W and KXOB25-03X4F-TB cells side by side.

We used tracks in a combination of functional and aesthetic ways, playing with the inherent rigidity of pcb design and the organic shapes of the cicada's wings and veins.

The original plan for the wings was to have them made from PCBway's new glass PCB material. We think 1mm thick glass would look great and also want to try out this new material.

Since the process of getting glass PCBs isn't as straight forward as transparent FPC, we have decided to start with transparent FPC for now while we explore the glass PCB option with PCBWay.

The problem with the FPC approach is the 0.24mm thickness of FPC which we plan to stiffen a bit with some clear acetate sheets.


The Cicada body

The git repo contains most of the gritty details along with a markdown detailing the calculations behind the system's operation, Fundamentally it consists of 2 solar inputs feeding into a BQ25505 energy harvester PMIC. This charges a 1mF capacitor to 3.6V. When charged, the VBAT_OK pin goes high and turns on power to the system.

The system that's powered consists of the above mentioned oscillator circuit connected to a N-Channel FET which drives a Piezo buzzer (GSC1102YB-3V4000) which is resonant at about 4kHz.

Expected behaviour

  • C ≈ 1 mF (C8if that is the dominant capacitance on the node that must reach VBAT_OK_HYST. (Any CSTOR-class cap on VSTOR adds in parallel on that node.)
  • V_target ≈ 3.6 V (from above), if you start near 0 V (cold start has extra phases; this is still a useful scale).
  • I_net = average boost current into the tank minus leakage, divider current, and any sneaky paths — usually µA to low mA from a tiny panel, so t spans orders of magnitude.
Net average charge current I_netOrder of t to ~3.6 V on 1 mF
0.5 mA ~7 s
3 mA ~1.2 s
10 mA ~0.36 s

So within about 10 seconds,...

Read more »

cicada_loving_sunlight_2.mp4

MPEG-4 Video - 2.06 MB - 05/09/2026 at 07:45

Download

cicada_loving_sunlight.mp4

MPEG-4 Video - 1.03 MB - 05/09/2026 at 07:44

Download

  • First encounter with sunshine

    anomali3 days ago 0 comments

    It loves the sunlight! 

    Our little cicada immediately pipes up when it's in the sun. It turns out we only needed to make one small modification: the bleeder circuit with a 560Ω in parallel with the buzzer did the trick!

    Unfortunately, we spent some time chasing our tails by working on it at night in artificial light which was not intended for the solar cells. We spend an evening experimenting with much bigger panels which were supposed to be able to charge in artificial light, but we had no luck.

    So we concluded that this was an epic sculpture and we learnt lots.

    But the next morning, as soon as the cicada encountered sunlight it sang for us! 

  • First power on!

    SnoWHandS6 days ago 0 comments

    As soon as the PCBs arrived, I could resist but attempt to power it up!

    Powering it from the bench, we got no smoke and a little current draw (large at first for that 1000uF cap).

    But no sound . . . Great! Lets see whats going on here.

    Investigating why no sound:

    The first thing to check is our astable oscillator, so I checked the input to the gate of the piezo driving FET (Q3).

    The output looked good and hit the mark we expected (3.3V @ ±3.915kHz):

    Ok, great! So it must be something to do with the load / FET we are driving the load with.

    Measuring the voltage on the drain of Q3 show us that the FET isn't turning on enough to pull the load to ground:

    Strange, lets see what happens if we change the load and just check the Q3 FETs operation?

    I disconnected the buzzer's positive leg and hooked up a 560Ω in series, Here's what's coming out of the FET (Q3):

    Alright so it seems we need some change in loading on the FET to get it working?

    Turns out this might have to do with capacitive loading from the buzzer . . . What if? We make a bleeder circuit with this 560Ω in parallel with the buzzer?

    The output seems to sing well as show here:

    So this bleeder circuit is needed. 

    Why we need the 560Ω bleeder:

    A passive piezo isn’t really “just a speaker.” It behaves like a capacitor with some mechanical stuff hanging off it. I’m driving it with a single N-channel MOSFET on the low side: buzzer “+” on 3.3 V, buzzer “−” on the drainsource on ground. When the FET is on, it’s great—it yanks that node hard to 0 V. When the FET is off, though, it isn’t magically tied to 3.3 V; it’s just not being pulled down anymore. For the node to move up toward the rail, charge has to flow to charge up all that capacitance.

    Through the buzzer alone, that path is often weak or slow, so the low side never really makes it back up before the next edge. The voltage across the transducer stays small, so there’s almost nothing to make it move air. With a 560 Ω resistor across the buzzer, I gave that node a boring, predictable path from 3.3 V when the FET releases. The resistor isn’t there to “fix Vgs”—it’s there so the capacitive node can actually recover high.

    When the FET turns on again, its on-resistance is tiny compared to 560 Ω, so it still wins and pulls the node low. I get something much closer to the square-ish wave a passive piezo wants, and the part becomes audible.

    A future fix I’m eyeing: totem pole (half-bridge) drive

    The bleeder works because it fakes a pull-up when my single N-FET lets go. The next step up—if I want a cleaner swing without bleeding so much DC through a resistor—is a totem pole: a high-side P-FET stacked above a low-side N-FET, with the piezo from the midpoint to ground. Idea: when the bottom device is on, the node slams low; when the top is on, the node is actively pulled high instead of crawling up through a bleeder.

    For now, I'll experiment with different resistor values and perhaps mod in the totem pole idea on one!

    Till the next update!

  • The PCBs have arrived!

    SnoWHandS6 days ago 0 comments

    So the PCBs arrived today and we're really impressed with how they came out!

    Here's all 5 assemblies:

    And here's a wing up close:

    Testing the wing's fitment on the PCB:

    We plan to do the full assembly soon, but for now we're impressed & excited to get it up and running!

  • We've ordered the first PCBs!

    SnoWHandS04/22/2026 at 21:46 0 comments

    So we designed this project to be fully sourceable with JLCPCB and completed the main Cicada PCB and Wings PCB order with JLCPCB today!.

    The JLC output of the assembled PCB

    The wings are going to be made with JLCPCB's transparent FPC process which puts them at 0.24mm thick. This may be a issue with the weight of the solar cells but could add some nice organic curves to the wings.

    Transparent PCBs Trigger 90s Nostalgia | HackadayWe are also attempting to get the wings made in glass at PCBWay as this would be more rigid and make for an interesting optical clearness.

View all 4 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates