
Joule Thief
fishPointer/Joule-Thief
I teach myself new skills by designing projects that require to develop the skills I want in order to complete them.

I teach myself new skills by designing projects that require to develop the skills I want in order to complete them.
Joule Chief is an open-source printed circuit board by fishPointer, from the fishPointer/Joule-Thief repository on GitHub, published under the MIT licence. It is a 2-layer board of 84 × 98 mm with 93 parts on 83 nets, routed with 637 tracks and 41 vias.
It is built around the DW01, FS8205A and TP4056, with the AO3400A among its other parts. Its parts include 34 resistors, 14 capacitors, 11 diodes, 11 connectors and 10 transistors.
Objectives:
Topology
Status: Complete. Exhibited. Working on Finalizing Documentation.
Additional Documentation: available on my Obsidian at suneaterlabs.com.
Why Joule Thief? This project was started as a New Year's Resolution to exhibit at Open Sauce 2025, and was finished 2 days prior to the event. I have no commercial intent with this project. I don't believe that it is particularly novel, and a close look by anyone experienced with energy harvesting & power electronics should rightly reveal it as something akin to a useless machine.
I teach myself new skills by designing projects that require to develop the skills I want in order to complete them. I put a high level of effort into this project because I wanted to go through the process of designing a relatively performant embedded system without referencing anyone else's work. Just pick functionalities and features, set a spec, and then flip through datasheets until you find the right combination. Then put it all together and prove that it works. Design the schematic, route a board, write the firmware, etc. and then package it all up and provide thorough documentation on the whole thing.
I had never done any of that before and I have no professional experience working as an electronics engineer. I do have an EE degree and currently work in power system analysis for hyperscale datacenters, so this project is actually something like a microcosm of my day job. There is little overlap though, and I consider myself self-taught here. I learned a lot!
The classic Joule Thief is a simple party trick involving a dead battery, a hand-wound toroid, and a BJT. It is essentially using the voltage spike from inductive kickback to PWM an LED back to life. My motivation for this project was to demonstrate that there is a considerable amount of energy left in alkaline cells when they are discarded, so I set out to build an overengineered energy harvester that could precisely quantify how much energy was actually left in a dead cell, and then store it into a lithium-based battery bank to further prove the point.
In order to improve performance and maximize both energy throughput and conversion efficiency, there is an INA219 shunt meter on either side of the LTC3105 boost chip allowing for efficiency tracking during processing & live diagnostics. Additionally, the LTC3105 includes an MPPC pin, which enables a variable resistance to throttle the inductor's switching in order to achieve a specified input voltage. With the addition of an AD5280-200kΩ digital potentiometer attached to the MPPC pin, it is possible to read in energy measurements from the INA219's into a microcontroller, and then adjust the setting of the LTC3105 accordingly. The result is a control loop that can maximize the energy extraction rate regardless of the target cell's health or state of charge.
This INA219+LTC3105+AD5280 system can be tuned for maximum efficiency or maximum average power extracted, but optimizing for energy throughput has far greater performance gains. Using a DC Electronic Load to produce a slow sweep of load resistance values across a fresh AA alkaline cell will result in no more than 400-500mW peak extraction rate, and chemical effects such as electrolyte gradient formation and ion depletion make this power output unstable and liable to rapidly decline. The dynamic approach explored in the Joule Thief is able to achieve 900-1100mW peak output power, and can reliably maintain 600-700mW extraction rate in the early life of a cell. Additionally, the MPPC schema prevents the cell's output capacity from being overwhelmed by the battery chemistry effects, and the cell will continuously output higher power than traditional Joule Thief circuits or static loads.
The Joule Thief Extraction Module is also designed to run in "headless" mode without an MCU. No diagnostics are available in this mode (obviously) and the board will be able to move the energy from a single AA cell into a single 18650 cell safely.
The Joule Chief begins with a low-voltage schottky diode on the output of the extraction module to prevent backflow. After the energy is delivered to the mainboard's input bus, all the energy is stored in a 1F supercapacitor. The Joule Thief Extraction Modules are all set to boost whatever energy source they are targeting to 5V and charge the 1F supercap to 5V accordingly.
Readings from the mainboard's INA219 allow the MCU to precisely track the voltage of the supercap as well as the power flowing into this buffer. The MCU is programmed to operate a schmitt trigger with thresholds at 2.5V and 5V, only enabling the 1F supercap's energy to pass through the mainboard's LTC3105 after 5V has been reached, and until 2.5V. This region of input voltage allows the boost chip to operate in a high-efficiency mode.
Once the energy has moved through the 1F supercap and through the LTC3105, it is stored in a second 1F supercap connected to the lithium cell charger. The cell charger is controlled by a second schmitt trigger running on the MCU as well. This schmitt trigger keeps the second 1F energy buffer between 4.5V and 5.0V, such that the buffer will always be an appropriate voltage for charging a lithium cell (3.0V to 4.3V).
The Joule Chief can handle an arbitrary number of extraction modules each working on arbitrarily weak or intermittent energy sources. This mainboard can effectively accumulate these energy sources and efficiently deposit this energy via intermittent pulses of energy into a rechargeable battery bank for later use while providing precise diagnostics at every stage of the harvesting process. The frequency of these charging pulses is dependent on the strength of the sources. Harvesting a sufficiently powerful source, such as a fresh AA cell, will allow the mainboard to achieve steady-state operation, and a continuous current flow into the 18650 becomes possible.
Both the Joule Thief and Joule Chief boards currently use a generic and inefficient BMS stack consisting of a DW01 for OC/OCD/SC protection, an FS8205 dual-FET package for breaking the circuit, and a TP4056 charging IC. This BMS is largely unnecessary given the low-power nature of this application, but was included for safety and peace of mind.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 11 | LED | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11 |
| 10 | 10k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R14, R26, R27, R28, R29, R30, R31, R32, R33, R34 |
| 10 | AO3400A | Package_TO_SOT_SMD:SOT-23 | Q1, Q2, Q3, Q4, Q5, Q6, Q7, Q8, Q9, Q10 |
| 9 | 1K | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R17, R18, R19, R20, R21, R22, R23, R24, R25 |
| 7 | 0.1u | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C1, C3, C9, C10, C11, C12, C13 |
| 7 | Conn_01x06 | Connector_JST:JST_PH_B6B-PH-K_1x06_P2.00mm_Vertical | J1, J2, J3, J4, J5, J6, J7 |
| 4 | 10 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R2, R3, R7, R8 |
| 4 | 1k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R10, R11, R12, R13 |
| 2 | 0.1R | Joule Thief Footprints:R_Shunt_2512_V2 | R1, R6 |
| 2 | 10u | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C6, C14 |
| 2 | 1F | Joule Thief Footprints:1F_Supercap | C2, C5 |
| 2 | 2k2 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R15, R16 |
| 2 | INA219AxD | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U1, U4 |
| 2 | MountingHole_3.2mm | Arduino_MountingHole:MountingHole_3.2mm | MH1, MH4 |
| 1 | 100 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R9 |
| 1 | 100u | Capacitor_THT:CP_Radial_D5.0mm_P2.00mm | C4 |
| 1 | 10u | Joule Thief Footprints:Power_Inductor_101040 | L1 |
| 1 | 18650 | Joule Thief Footprints:18650_Cell_Clip_V2 | LITH1 |
| 1 | 1M | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R4 |
| 1 | 1u | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C7 |
| 1 | 220k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R5 |
| 1 | 4.7u | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C8 |
| 1 | AD5280 | Package_SO:TSSOP-14_4.4x5mm_P0.65mm | U3 |
| 1 | Analog | Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_Vertical | J10 |
| 1 | DW01 | Package_TO_SOT_SMD:SOT-23-6_Handsoldering | U5 |
| 1 | Digital/PWM | Connector_PinSocket_2.54mm:PinSocket_1x10_P2.54mm_Vertical | J8 |
| 1 | Digital/PWM | Connector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_Vertical | J11 |
| 1 | FS8205A | Joule Thief Footprints:FS8205A_Wide | U7 |
| 1 | LOGO | LOGO | G*** |
| 1 | LTC3105xMS | Package_SO:MSOP-12_3x4.039mm_P0.65mm | U2 |
| 1 | Power | Connector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_Vertical | J9 |
| 1 | TP4056 | Joule Thief Footprints:V2_SOIC-8-1EP_3.9x4.9mm_P1.27mm_EP2.29x3mm | U6 |
| 1 | TestPoint_Alt | TestPoint:TestPoint_THTPad_1.0x1.0mm_Drill0.5mm | TPx1 |

fishPointer/Joule-Thief
I teach myself new skills by designing projects that require to develop the skills I want in order to complete them.


sequoia-hope/dancing-forest-pcb
The PCB design for the Dancing Forest art project



skrmsh/skirmish-hardware
Skirmish Hardware © 2022-2023 by Ole Lange is licensed under CC BY-NC-SA 4.0. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/4.0/



emmanuelprakash177-gi/RPI-AI-ASSISTANT
I want to create an ai assistant . Now a days am very much thinking about it . Then I got an idea to create a ai assistant fully offline. Running fully offline model
It measures 84 × 98 mm and has 2 copper layers, 1.6 mm thick.
93 parts, built around the DW01, FS8205A, TP4056 and AO3400A. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the fishPointer/Joule-Thief repository on GitHub, at the commit this page was made from: the board is KiCAD/Joule Chief/Joule Chief.kicad_pcb and its schematic KiCAD/Joule Chief/Joule Chief.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).