The problem
A doorbell draws almost nothing, but it has to draw it forever, and at the least convenient moment — after a week of overcast sky, at night. So the design question is not "will a solar panel run this", it is "what is the worst week this has to survive, and how much battery does that buy me". I sized the photovoltaic panel and the 18650 cell against that worst case rather than against an average.
What I built
The full CAD set — button housing, receiver enclosure for the PCB, solar panel housing, hinges — and the assembled unit around a solar charge controller, battery, speaker and transmitter pair. Then bench testing with a multimeter to confirm the charge behaviour matched what I had calculated on paper, which is a less satisfying step than it sounds and a more necessary one.
What the object told me
My first enclosure sealed the solar panel flush into the lid. It looked much better and worked much worse: the panel muffled the speaker until the chime barely carried, and with nowhere for heat to go, the electronics sat warm all afternoon. The second version opened vents along the side and gave both the sound and the heat a path out. I had optimised for the render instead of the object, and the object told me so — which is the most useful sentence I can write about this project.