{"id":5259,"date":"2026-08-30T12:30:40","date_gmt":"2026-08-30T03:30:40","guid":{"rendered":"https:\/\/donguri3.net\/server-tech\/camp-rope-10led-relax-osc-mod-2\/"},"modified":"2026-08-30T12:30:41","modified_gmt":"2026-08-30T03:30:41","slug":"camp-rope-10led-relax-osc-mod","status":"publish","type":"post","link":"https:\/\/donguri3.net\/en\/diy-repair\/electronics-microcontroller\/camp-rope-10led-relax-osc-mod\/","title":{"rendered":"Blinking a 100-Yen LED Decoration Light with an Oscillation Circuit"},"content":{"rendered":"<p>I am a beginner camper with only two camping trips under my belt, but one thing became painfully clear to me very early on:<br \/>\nThe ropes and pegs securing tents and tarps are truly invisible once the sun goes down.<\/p>\n<p>While you can spot them by shining a headlamp, I ran into situations a few times where:<\/p>\n<ul>\n<li>I almost tripped over a guy line while walking around the campsite<\/li>\n<li>I felt a jolt of anxiety watching kids run around, nearly stumbling over pegs and ropes<\/li>\n<\/ul>\n<p>\nThere are commercially available reflector ropes or dedicated LED lights for guy lines, but my situation was simply: &#8220;I just need to know where the ropes around my site are for one single night, and that&#8217;s enough.&#8221;<\/p>\n<p>With that in mind, I decided to build a DIY LED rope marker with a very pragmatic philosophy:<\/p>\n<p>As long as it can run on batteries for just one night and glow enough to reveal the positions of ropes and pegs, that&#8217;s good enough.<\/p>\n<h2>Modification Material: A 10-LED String Lamp Powered by 3V<\/h2>\n<p>At home, I had a &#8220;10-LED string lamp&#8221; that I bought at a 100-yen shop, which lights up simply by applying 3V.<br \/>\nIt&#8217;s the kind of Christmas-style LED string with 10 bulbs hanging off it.<\/p>\n<ul>\n<li>Powered by two AA batteries (approx. 3V)<\/li>\n<li>Lights up uniformly when directly connected to a battery box<\/li>\n<li>A very simple structure with no special control circuit built-in<\/li>\n<\/ul>\n<p>My strategy was to use this &#8220;10-LED string lamp&#8221; as-is for the rope marker&#8217;s light source, while adding blinking functionality on the electronics side.<\/p>\n<h2>Goals<\/h2>\n<p>Since the purpose here is &#8220;footwear hazard awareness,&#8221; I wasn&#8217;t too particular about brightness or color. Instead, battery life was a priority. I roughly aimed for the following specs:<\/p>\n<ul>\n<li>Power supply: Two AA batteries (approx. 3V)<\/li>\n<li>Operating time: Should last through one night (about 8 hours)<\/li>\n<li>Average current for the 10-LED lamp: Aiming for the low milliamp range<br \/>\n(Assuming a peak current of 10 to 20mA, but dropping the average by narrowing the duty cycle)<\/li>\n<li>Blinking cycle: Slowly fading on and fading off every 2 to 4 seconds<\/li>\n<li>A circuit compact enough to be bundled and housed in a small case near the rope<\/li>\n<\/ul>\n<p>Rather than &#8220;illuminating brightly,&#8221; the idea was that as eyes adjust to the dark, being able to discern the rope&#8217;s position would be totally fine.<\/p>\n<h2>Why a Single-LED Relaxation Oscillation Circuit Didn&#8217;t Work<\/h2>\n<p>First, I tried the classic relaxation oscillation circuit used to make a single LED blink.<br \/>\nI referred to the following resource:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rlc.gr.jp\/prototype\/led\/tenmetu\/shichou\/pika.htm\">RLC Laboratory: &#8220;Single LED Flashing Circuit Using a Transistor Oscillation Circuit&#8221; (Japanese)<\/a><\/li>\n<\/ul>\n<p>Using 2SC1815 and 2SA1015 transistors combined with capacitors and resistors, it&#8217;s a textbook relaxation oscillation circuit that makes a single LED blink cleanly.<\/p>\n<p>However, the moment I replaced the single LED in this circuit with the entire 10-LED string lamp, the behavior went haywire.<\/p>\n<ul>\n<li>Single LED: Blinks cleanly<\/li>\n<li>10-LED string lamp:\n<ul>\n<li>When connected in parallel with a single LED: It blinks faintly, but is extremely dim<\/li>\n<li>When replacing the single LED entirely: It barely lights up \/ oscillation stops<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Analyzing the cause, the LED in this relaxation oscillation circuit serves a dual purpose:<\/p>\n<ul>\n<li>It acts as a &#8220;visual display&#8221; while simultaneously<\/li>\n<li>Acting as a diode that determines the discharge path for the capacitor.<\/li>\n<\/ul>\n<p>It is a well-behaved LED embedded as an integral part of the circuit.<\/p>\n<p>On the other hand, the contents of the 10-LED string lamp are:<\/p>\n<ul>\n<li>Built on the premise of multiple LEDs + resistors drawing a fair amount of current when directly connected to 3V<\/li>\n<li>Its forward voltage and I\u2013V characteristics differ significantly from a &#8220;single LED + protective resistor&#8221; setup<\/li>\n<\/ul>\n<p>Consequently, simply swapping it in broke the oscillation conditions.<\/p>\n<h2>Switching to a Design Separating the Oscillation Circuit and LED Drive<\/h2>\n<p>So, I changed my approach:<\/p>\n<ul>\n<li>Use the relaxation oscillation circuit as-is just as a &#8220;waveform generation stage&#8221;<\/li>\n<li>Treat the 10-LED string lamp as a load driven by a separate switching transistor<\/li>\n<\/ul>\n<p>I adopted a two-stage configuration.<\/p>\n<h3>Stage 1: Relaxation Oscillation via 2SC1815 + 2SA1015<\/h3>\n<p>For the first stage, I used the reference circuit almost as-is.<\/p>\n<ul>\n<li>NPN: 2SC1815<\/li>\n<li>PNP: 2SA1015<\/li>\n<li>Relaxation oscillation with a multi-second cycle using capacitors and resistors<\/li>\n<li>Left a single LED in place to serve as a &#8220;visualizer&#8221; for the blinking waveform<\/li>\n<\/ul>\n<p>I tried not to tamper with this part much, prioritizing keeping the oscillation conditions intact.<\/p>\n<p>In this modification, I used the voltage variation appearing near the base-emitter junction of the 2SA1015 as the &#8220;blink signal.&#8221; Since the electric potential changes in sync with the timing of the LED lighting up, that change is passed to the base of the second-stage transistor.<\/p>\n<p><a href=\"https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/8cede8ac3970f199538ec82f60c825af.png\"><img decoding=\"async\" class=\"aligncenter size-large wp-image-2386\" src=\"https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/8cede8ac3970f199538ec82f60c825af-1024x691.png\" alt=\"Relaxation oscillation using 2SC1815 + 2SA1015\" width=\"1024\" height=\"691\" srcset=\"https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/8cede8ac3970f199538ec82f60c825af-1024x691.png 1024w, https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/8cede8ac3970f199538ec82f60c825af-300x203.png 300w, https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/8cede8ac3970f199538ec82f60c825af-768x519.png 768w, https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/8cede8ac3970f199538ec82f60c825af-530x358.png 530w, https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/8cede8ac3970f199538ec82f60c825af-565x382.png 565w, https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/8cede8ac3970f199538ec82f60c825af-710x479.png 710w, https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/8cede8ac3970f199538ec82f60c825af-725x490.png 725w, https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/8cede8ac3970f199538ec82f60c825af.png 1201w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<h3>Stage 2: Low-Side Switching of the 10-LED String Lamp Using an S8050<\/h3>\n<p>On the 10-LED string lamp side, I set up a very simple low-side switch configuration using an S8050 transistor.<\/p>\n<ul>\n<li>Positive (+) side of the 10-LED lamp \u2192 3V from two AA batteries<\/li>\n<li>Negative (-) side of the 10-LED lamp \u2192 Collector of the S8050<\/li>\n<li>Emitter of the S8050 \u2192 GND<\/li>\n<\/ul>\n<p>And by connecting:<\/p>\n<ul>\n<li>From the node near the BE of the 2SA1015 side<\/li>\n<li>Through a base resistor of about 4.7 k\u03a9 to several k\u03a9<\/li>\n<li>To the base of the S8050<\/li>\n<\/ul>\n<p>I made it so that the S8050 turns ON precisely when the relaxation oscillation circuit judges it is time for &#8220;LED ON.&#8221;<\/p>\n<p><a href=\"https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/91a41a637c23e5911248229301ebd8de.png\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-2387\" src=\"https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/91a41a637c23e5911248229301ebd8de.png\" alt=\"Low-side switching of the 10-LED string lamp with S8050\" width=\"959\" height=\"483\" srcset=\"https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/91a41a637c23e5911248229301ebd8de.png 959w, https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/91a41a637c23e5911248229301ebd8de-300x151.png 300w, https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/91a41a637c23e5911248229301ebd8de-768x387.png 768w, https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/91a41a637c23e5911248229301ebd8de-530x267.png 530w, https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/91a41a637c23e5911248229301ebd8de-565x285.png 565w, https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/91a41a637c23e5911248229301ebd8de-710x358.png 710w, https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/91a41a637c23e5911248229301ebd8de-725x365.png 725w\" sizes=\"(max-width: 959px) 100vw, 959px\" \/><\/a><\/p>\n<p>The key points here are:<\/p>\n<ul>\n<li>From the perspective of the relaxation oscillation circuit, keep the S8050 + 10-LED string strictly as a &#8220;light load hanging off the base.&#8221;<\/li>\n<li>Strike a balance by securing enough base current to thoroughly saturate the S8050 while determining the resistance value within a range that doesn&#8217;t disrupt the first stage&#8217;s oscillation conditions.<\/li>\n<\/ul>\n<p>When I measured the S8050 I had on hand, its hFE was in the 300s under the condition of Ic \u2252 2mA. So, if I wanted the lamp to glow around 20mA, estimating a saturation \u03b2 of about 10 to 20 made a base resistor of several k\u03a9 a sweet spot.<\/p>\n<p><a href=\"https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/IMG_2747.jpg\"><img decoding=\"async\" class=\"aligncenter size-large wp-image-2385\" src=\"https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/IMG_2747-768x1024.jpg\" alt=\"Blinking a 100-yen LED decoration light with an oscillation circuit\" width=\"768\" height=\"1024\" srcset=\"https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/IMG_2747-768x1024.jpg 768w, https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/IMG_2747-225x300.jpg 225w, https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/IMG_2747-1152x1536.jpg 1152w, https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/IMG_2747-398x530.jpg 398w, https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/IMG_2747-424x565.jpg 424w, https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/IMG_2747-533x710.jpg 533w, https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/IMG_2747-544x725.jpg 544w, https:\/\/donguri3.net\/wp-content\/uploads\/2025\/11\/IMG_2747.jpg 1440w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/><\/a><\/p>\n<h2>Actual Blinking Performance and Battery Life<\/h2>\n<p>Ever since adopting the two-stage configuration, the 10-LED string lamp has performed exactly as intended:<\/p>\n<ul>\n<li>Blinking just enough to reveal the positions of ropes and pegs in the dark<\/li>\n<li>A slow, gentle cycle of about 2 to 4 seconds for &#8220;fade-on \u2192 fade-off&#8221;<\/li>\n<li>More than sufficient visibility for a pitch-black campsite<\/li>\n<\/ul>\n<p>I haven&#8217;t precisely measured the current consumption, but intuitively:<\/p>\n<ul>\n<li>Peak current: Around 10 to 20mA (during the lit phase only)<\/li>\n<li>Thanks to the narrowed duty cycle, the average stays down in the low milliamp range<\/li>\n<\/ul>\n<p>It comfortably fits within expectations, lasting through a night of camping (around 8 hours) without issues using two standard alkaline AA batteries.<\/p>\n<h2>Conclusion: The Joy of Customizing Commercial LEDs to Fit Your Needs<\/h2>\n<p>This project started from a very specific motivation:<\/p>\n<ul>\n<li>&#8220;As a beginner with only two camping trips under my belt, I wanted to modify an LED lamp to make rope and peg locations easy to spot.&#8221;<\/li>\n<\/ul>\n<p>At first, I na\u00efvely thought, &#8220;If there&#8217;s a 10-LED string lamp that runs on 3V, I can just swap it directly in place of the LED in the relaxation oscillation circuit.&#8221; But in reality,<\/p>\n<ul>\n<li>The LED inside the circuit is a &#8220;component that shapes the waveform&#8221;<\/li>\n<li>The 10-LED string lamp is &#8220;just a load&#8221;<\/li>\n<\/ul>\n<p>They have fundamentally different roles. To bridge that gap, I had to return to the basics of circuit design by separating the oscillation stage and the drive stage.<\/p>\n<p>As a result, arriving at a configuration that made logical sense to me\u2014<\/p>\n<ul>\n<li>Stage 1: Generating the blink signal via 2SC1815 + 2SA1015 relaxation oscillation<\/li>\n<li>Stage 2: Switching the 10-LED string lamp using an S8050<\/li>\n<\/ul>\n<p>\u2014was a rewarding payoff.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I am a beginner camper with only two camping trips under my belt, but one thing became painfully clear to me v [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":2385,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_locale":"en_US","_original_post":"https:\/\/donguri3.net\/?p=2383","footnotes":""},"categories":[1163],"tags":[756,867,278,270],"class_list":["post-5259","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-electronics-microcontroller","tag-756","tag-867","tag-278","tag-270","en-US"],"_links":{"self":[{"href":"https:\/\/donguri3.net\/wp-json\/wp\/v2\/posts\/5259","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/donguri3.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/donguri3.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/donguri3.net\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/donguri3.net\/wp-json\/wp\/v2\/comments?post=5259"}],"version-history":[{"count":1,"href":"https:\/\/donguri3.net\/wp-json\/wp\/v2\/posts\/5259\/revisions"}],"predecessor-version":[{"id":5262,"href":"https:\/\/donguri3.net\/wp-json\/wp\/v2\/posts\/5259\/revisions\/5262"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/donguri3.net\/wp-json\/wp\/v2\/media\/2385"}],"wp:attachment":[{"href":"https:\/\/donguri3.net\/wp-json\/wp\/v2\/media?parent=5259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/donguri3.net\/wp-json\/wp\/v2\/categories?post=5259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/donguri3.net\/wp-json\/wp\/v2\/tags?post=5259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}