No way of bypassing this Lasertrigger circuit - and about calculating stuff - Page 1
Forum section: electronics / projects

author: HendriXML
author_rank: Super Contributor
timestamp: January 12, 2019, 12:40:13 pm
content: In your by lasers beams protected house of intellectual terror mission impossible Tom Cruise is comming for your very secret electronic designs. He bring his own set of lasers to satisfy the sensors, will he succeed or will it be impossible?Not with this circuit! because it drives not one, but two resettable latches. One that signals when a laser beam is broken. One that signals that the sensor is exposed when it shouldn’t. Those states are alternatively checked by pulsing the laser beam at roughly 7 kHz.If the beam is broken, the laser will for safety reasons shut down (it served it’s purpose anyway). This will as a side effect also trigger the other latch - I won’t remedy that. Another quirk is that it starts up being activated. Used with a micro controller a reset on both latches should remedy that.I will search for a more suited photo diode, because the one I use has a very high impedance in exposed and non-exposed conditions. However the discrimination between the laser exposure and surrounding light exposure is very good. Measuring millivolts with high impedances and long leads make it now too sensitive for external interference. Besides that it really works well, especially using the triangle wave to disable comparisons during signal transitions.The latches are also designed in such a way that a signal triumphs a reset.So no one is crossing my beam.Any comments or suggestions?

author: HendriXML
author_rank: Super Contributor
timestamp: January 13, 2019, 11:47:25 pm
content: Below I posted the calculations for this project. It uses a self-made scripting tool, which is able to define tasks. Within those tasks one can do calculations and simulations, or whatever. A task essentially produces / provides information to use either in schematics or for further calculations. The tool ensures every task is executed in the right order and only once.Technically a task sets fields of a newly created object. Depended task can read those fields for further calculations. I always report what is "consumed" from that object. In this way it is very well documented how data travels and what is affected by what when things change.There is also the possibility of creating asserts: states, values that you want to guard. If for example I tested a forward voltage on 20 mA, then I might want to ensure that the true current is calculated and checked against 20 mA. So when modifications alter the current, the task will fail. Giving the opportunity to do a new measurement and updating the forward voltage and current.Creating such a script is a lot of work, but is also supports thinking in a very modular way.The coarse dependency information NEEDS and NEEDED BY is generated, so no need to do that by hand.In the near future I will probably upgrade the BOM scripts (https://github.com/HendriXML/KiCad-BOM-reporter) to report calculated values against schematic values.

author: HendriXML
author_rank: Super Contributor
timestamp: January 13, 2019, 11:48:49 pm
content: CHOOSEN VALUESNEEDED BYEmpirical values TL082Empirical values 1N4004Exposed sensor LEDBreak signal LEDLaserdiode controlTriangle wave voltagesVirtual ground en reference voltage dividersComparator latchesPROVIDESvoltVCC : 5,00 VohmR3 : 100 kΩohmR6 : 47 kΩohmR23 : 4,7 kΩohmRV1 : 1 kΩohmRV3 : 500 ΩampVirtGndVoltageDividerTarget: 7,00 mAvoltVirtualGroundMargin : 250,00 mVDATASHEET VALUES 2N7000NEEDED BYLaserdiode controlComparator latchesPROVIDESohmOnResistance : 6,00 ΩEMPIRICAL VALUES 2N3906 Q3NEEDED BYLaserdiode controlPROVIDESvoltEC : 600,00 mVDATASHEET VALUES 2N3906 Q3NEEDED BYLaserdiode controlPROVIDESfactAmplificationAt30mA : 30,00 AvoltBESat : 700,00 mVDATASHEET VALUES LM339NEEDED BYExposed sensor LEDBreak signal LEDComparator latchesPROVIDESvoltLowlevelOutputVoltage: 150,00 mVEMPIRICAL VALUES TL082NEEDSChoosen valuesNEEDED BYVirtual ground target voltageTriangle wave voltagesCONSUMESChoosen valuesvoltVCC : 5,00 VPROVIDESvoltSwingToGroundNominal : 40,00 mVvoltSwingToVCCNominal : 3,70 VEMPIRICAL VALUES 1N4004NEEDSChoosen valuesNEEDED BYVirtual ground en reference voltage dividersCONSUMESChoosen valuesampVirtGndVoltageDividerTarget: 7,00 mAPROVIDESvoltForwardVoltage : 700,00 mVEMPIRICAL VALUES RED LEDNEEDED BYBreak signal LEDPROVIDESvoltForwardVoltage : 2,00 VampForwardCurrent : 20,00 mAEMPIRICAL VALUES BLUE LEDNEEDED BYExposed sensor LEDPROVIDESvoltForwardVoltage : 3,40 VampForwardCurrent : 20,00 mAEMPIRICAL VALUES LASER DIODENEEDED BYLaserdiode controlINTERMEDIATEvoltVoltageDrop : 726,00 mVvoltPackageVoltage : 3,00 VPROVIDESohmSerieResistor : 33,00 ΩvoltForwardVoltage : 2,27 VampForwardCurrent : 22,00 mAEXPOSED SENSOR LEDNEEDSChoosen valuesEmpirical values blue LEDDatasheet values LM339CONSUMESChoosen valuesvoltVCC : 5,00 VEmpirical values blue LEDvoltForwardVoltage : 3,40 VampForwardCurrent : 20,00 mADatasheet values LM339voltLowlevelOutputVoltage: 150,00 mVINTERMEDIATEvoltR21 : 1,45 VohmCalcR32 : 72,50 ΩPROVIDESohmR32 : 75 ΩBREAK SIGNAL LEDNEEDSChoosen valuesEmpirical values red LEDDatasheet values LM339CONSUMESChoosen valuesvoltVCC : 5,00 VEmpirical values red LEDvoltForwardVoltage : 2,00 VampForwardCurrent : 20,00 mADatasheet values LM339voltLowlevelOutputVoltage: 150,00 mVINTERMEDIATEvoltR21 : 2,85 VohmCalcR21 : 142,50 ΩPROVIDESohmR21 : 150 ΩLASERDIODE CONTROLNEEDSChoosen valuesEmpirical values laser diodeEmpirical values 2N3906 Q3Datasheet values 2N3906 Q3Datasheet values 2N7000CONSUMESChoosen valuesvoltVCC : 5,00 VohmR23 : 4,70 kΩEmpirical values laser diodeohmSerieResistor : 33,00 ΩvoltForwardVoltage : 2,27 VampForwardCurrent : 22,00 mAEmpirical values 2N3906 Q3voltEC : 600,00 mVDatasheet values 2N3906 Q3factAmplificationAt30mA : 30voltBESat : 700,00 mVDatasheet values 2N7000ohmOnResistance : 6,00 ΩINTERMEDIATEvoltR4sInternal : 2,13 VohmR4sInternal : 96,64 ΩohmCalcR4 : 63,64 ΩampGndBaseQ3 : 733,33 μAampR23 : 148,94 μAampR5 : 882,27 μAohmR5sOnResistance : 4,87 kΩohmCalcR5 : 4,87 kΩPROVIDESohmR4 : 68 ΩohmR5 : 4,7 kΩVIRTUAL GROUND TARGET VOLTAGENEEDSEmpirical values TL082NEEDED BYTriangle wave voltagesVirtual ground en reference voltage dividersCONSUMESEmpirical values TL082voltSwingToGroundNominal : 40,00 mVvoltSwingToVCCNominal : 3,70 VPROVIDESvoltNominalValue : 1,87 VTRIANGLE WAVE VOLTAGESNEEDSChoosen valuesEmpirical values TL082Virtual ground target voltageNEEDED BYVirtual ground en reference voltage dividersCONSUMESVirtual ground target voltagevoltNominalValue : 1,87 VEmpirical values TL082voltSwingToGroundNominal : 40,00 mVvoltSwingToVCCNominal : 3,70 VChoosen valuesohmR6 : 47,00 kΩohmR3 : 100,00 kΩPROVIDESvoltLow : 1,01 VvoltHigh : 2,73 VVIRTUAL GROUND EN REFERENCE VOLTAGE DIVIDERSNEEDSEmpirical values 1N4004Choosen valuesVirtual ground target voltageTriangle wave voltagesGOALDetermine resistance values such that:VirtGnd can be set voltVirtualGroundMargin higher or lower than the determined one with RV3Voltage difference between RefLow - RefHigh can be set to 25% of the voltage difference between voltTriangleWaveLow and voltTriangleWaveHighVoltage difference between RefLow - RefHigh can be set 10% higher than the voltage difference between voltTriangleWaveLow and voltTriangleWaveHighThe maximum settable voltSettableVirtGndLow should go as lease low as voltSettableVirtGndLowMaxThe minimal settable voltSettableVirtGndHigh should go at least as high as voltSettableVirtGndHighMinRV1 mid and RV3 mid should be optimized so that voltVirtGndCtrl matches voltVirtGndTargetMaximum current should be optimized to ampVirtGndVoltageDividerTargetCONSUMESChoosen valuesampVirtGndVoltageDividerTarget: 7,00 mAvoltVCC : 5,00 VohmRV1 : 1,00 kΩohmRV3 : 500,00 ΩvoltVirtualGroundMargin : 250,00 mVEmpirical values 1N4004voltForwardVoltage : 700,00 mVVirtual ground target voltagevoltVirtGndTarget : 1,87 VTriangle wave voltagesvoltTriangleWaveLow : 1,01 VvoltTriangleWaveHigh : 2,73 VINTERMEDIATEvoltVCCMinusD3 : 4,30 VvoltTriangleWaveDelta : 1,72 VvoltSettableReferenceDeltaLowMax: 430,05 mVvoltSettableReferenceDeltaHighMin: 1,89 VvoltSettableVirtGndLowMax: 1,62 VvoltSettableVirtGndHighMin: 2,12 VvoltSettableVirtGndLow : 618,36 mVvoltSettableVirtGndHigh : 2,25 VvoltSettableRefDeltaLow : 408,01 mVvoltSettableRefDeltaHigh : 1,91 VvoltVirtGndMidDif : 371,54 μVampTotMaxDif : 399,22 μAampMaxAmp : 7,40 mAPROVIDESohmR1 : 56 ΩohmR2 : 1,8 kΩohmR12 : 1,8 kΩohmR13 : 56 ΩohmR14 : 470 ΩCOMPARATOR LATCHESNEEDSChoosen valuesDatasheet values 2N7000Datasheet values LM339GOALDetermine resistance values such that:When BeamBreak signal is high the latch is always lowWhen BeamBreak signal is low, a closed switch SW1 can set the latch highWhen the output of U3A is high it stays high unless switch SW1 is pushed and BeamBreak signal is lowMaximum current should acceptable when switch is closed and Q2 is conductingDifferent voltages should have good spreadingCONSUMESChoosen valuesvoltVCC : 5,00 VDatasheet values 2N7000ohmOnResistance : 6,00 ΩDatasheet values LM339voltLowlevelOutputVoltage: 150,00 mVOptimumDelta : 3,33294702420633PROVIDESohmR15 : 12 kΩohmR16 : 27 kΩohmR17 : 82 kΩohmR18 : 33 kΩohmR20 : 39 kΩohmR29 : 12 kΩohmR28 : 27 kΩohmR30 : 82 kΩohmR27 : 33 kΩohmR31 : 39 kΩ

author: Yansi
author_rank: Super Contributor
timestamp: January 14, 2019, 12:01:32 am
content: You seem you have had just too much fun building this circuit.BTW, most IR opto-gates are made using a double modulation. First, there is a carrier frequency (usualy couple tens of kHz), so the light can be easily distinguished from a background noise and DC component of the ambient light completely canceled out at the sensor (just narrowband AC amplifiers/filters present). Then the carrier is OOK modulated at a couple of hundred Hz.Transmit side can be implement by a pair of oscillators (for example a couple of 555 timers), the receive side is quite simple too, when using an off-the shelf IR receiver with integrated demodulator (those obligatory 36, 38, 56kHz IR remote control receivers), the evaluating logic can then be made using a missing pulse detector and a pulse stretcher (which, quite funnily could be made also using a couple of 555 timers).

author: HendriXML
author_rank: Super Contributor
timestamp: January 14, 2019, 12:03:18 am
content: Instead of reporting all tasks, it is also possible to zoom in on one and its required tasks.

author: HendriXML
author_rank: Super Contributor
timestamp: January 14, 2019, 12:13:08 am
content: Quote from: Yansi on January 14, 2019, 12:01:32 amI'm still and will be in the stage of just experimenting for a lot of time. I don't think I will ever take it in use. It is indeed a nice way of learning and trying to progress. The same functionality could also be made with an Arduino, but what is the fun in that. Thanks for your suggestion though, I will certainly give it some thought.

author: HendriXML
author_rank: Super Contributor
timestamp: January 15, 2019, 10:42:51 am
content: When I designed this circuit I also only used components that where at hand and are very basic. For some components it means pushing them to their limits in regard to speed, noise, offsets, etc. I learned a lot that way, knowledge that can be used in other projects. Using specialized IC’s is probably more reliable, but would for me be less satisfying.My main goal is building up skills, like how to do complex problem solving with only simple math, how make good use of the oscilloscope, how to interpreted datasheet values, etc. Finally finding a way to do this in a documenting way, preserving the knowledge for other projects.In that regard a successful project: this sword will cut.

author: xani
author_rank: Frequent Contributor
timestamp: January 15, 2019, 01:00:40 pm
content: Clearly if you want max security you should instead beam AES-encoded and signed (or even go whole hog with ECDH and public/private key encryption) stream that sends ever-increasing number(to avoid replay attack) to the receiver

author: mycroft
author_rank: Regular Contributor
timestamp: January 15, 2019, 01:42:51 pm
content: Beware of real life! In real life a fly or a leaf can interrupt the beam. You will have too many false positives!

author: tggzzz
author_rank: Super Contributor
timestamp: January 15, 2019, 01:57:56 pm
content: Ineverysystem where safety is in question, you should concentrate on how the system canfail. That's much more difficult than how the system works. Understanding that is a key difference betweenprofessional engineeringandamateur tinkering.Start by understanding that extra complexity means extra failure mechanisms.Continue by determining what will happen if a component or connection fails.And don't forget to consider all the things that are outside the system.

author: HendriXML
author_rank: Super Contributor
timestamp: January 15, 2019, 02:33:57 pm
content: Quote from: mycroft on January 15, 2019, 01:42:51 pmPurely hypothetical, because the circuit is not really worth defending...If a fly crosses the beam it should signal that, that is not really a false possitive in regard to this circuit. If there would be exceptions / margins at this level, then it is also more vulnerable against attack’s. At a higher level when processing the output of this circuit one could define rules that take more things in account. Maybe 2 beams out of 10 should be signaled to set an alarm. Also I hate flies so I don’t want them to intrude as well.

author: HendriXML
author_rank: Super Contributor
timestamp: January 15, 2019, 02:43:36 pm
content: Quote from: tggzzz on January 15, 2019, 01:57:56 pmYour absolutely right. This circuit is amateurish and for study only, and I really like it in that regard. Installing laserbeams for protection is not very practical. And has very little WAF.You should see my other circuit:https://www.eevblog.com/forum/projects/bi-regulated-power-supply/That one is too sensitive and prone to failure as well, it would really give you the shivers. But is also an exploration of possibilities. One should allow themselves to do projects like that as well. And maybe only thoose before having sufficient skills.

author: HendriXML
author_rank: Super Contributor
timestamp: January 15, 2019, 02:50:49 pm
content: Quote from: xani on January 15, 2019, 01:00:40 pmI think random signals would suffice as well, ‘cause the end point knows what to expect!In both cases the system could be attacked by copying the laser pulses. But that can be made very hard to implement when the sensor is in a thin tube. The copying laser in that case won’t be able to hit the sensor without blocking the sytems one.

author: HendriXML
author_rank: Super Contributor
timestamp: January 15, 2019, 09:31:33 pm
content: :PI added functionality to my BOM reporter (just another script in the same tool) to merge calculated values in the designator report as well. If calculated values exists, they are reported on a second line. Specifications can also include powerratings, voltage ratings, etc. This way lots of information can be packed in to a single report. Another tab, the actual BOM report shows where stuff is located and how much (PartKeepr), I'll post that as well.By reporting the max current / voltage a resistor can take, it is easy to check which resistors might be at risk and do a calculation of its power consumption. The E-series are shown, because I prefer to use lower E-serie values over higher ones, because then its easer to maintain a stock.

author: HendriXML
author_rank: Super Contributor
timestamp: January 15, 2019, 09:34:41 pm
content: Designator specificationsC1 10nF E3 50V ceramic THT capacitorD1 LED ledD2 3,3V E6 1W 303mA zener diodeD3 LDD photodiodeD4 1N4004 diodeD5 LED ledD6 1N5817 schottky diodeD7 LED ledD8 1N5817 schottky diodeD9 1N5817 schottky diodeD10 1N5817 schottky diodeD11 1N5817 schottky diodeD12 1N5817 schottky diodeQ1 2N7000 n-mosfetQ2 2N7000 n-mosfetQ3 2N3906 pnp transistorQ4 2N3904 npn transistorQ5 2N3906 pnp transistorQ6 2N7000 n-mosfetQ7 2N7000 n-mosfetR1 56Ω E12 250mW 3,74V|66,8mA 2% metal film THT resistor56Ω E12R2 1,8kΩ E12 250mW 21,2V|11,7mA 2% metal film THT resistor1,8kΩ E12R3 100kΩ E3 250mW 158V|1,58mA 2% metal film THT resistor100kΩ E3R4 68Ω E6 250mW 4,12V|60,6mA 2% metal film THT resistor68Ω E6R5 4,7kΩ E3 250mW 34,2V|7,29mA 2% metal film THT resistor4,7kΩ E3R6 47kΩ E3 250mW 108V|2,3mA 2% metal film THT resistor47kΩ E3R7 47kΩ E3 250mW 108V|2,3mA 2% metal film THT resistorR8 12kΩ E12 250mW 54,7V|4,56mA 2% metal film THT resistorR9 180Ω E12 250mW 6,7V|37,2mA 2% metal film THT resistorR10 51kΩ E24 250mW 112V|2,21mA 2% metal film THT resistorR11 4,7kΩ E3 250mW 34,2V|7,29mA 2% metal film THT resistorR12 1,8kΩ E12 250mW 21,2V|11,7mA 2% metal film THT resistor1,8kΩ E12R13 56Ω E12 250mW 3,74V|66,8mA 2% metal film THT resistor56Ω E12R14 470Ω E3 250mW 10,8V|23mA 2% metal film THT resistor470Ω E3R15 12kΩ E12 250mW 54,7V|4,56mA 2% metal film THT resistor12kΩ E12R16 27kΩ E12 250mW 82,1V|3,04mA 2% metal film THT resistor27kΩ E12R17 82kΩ E12 250mW 143V|1,74mA 2% metal film THT resistor82kΩ E12R18 33kΩ E6 250mW 90,8V|2,75mA 2% metal film THT resistor33kΩ E6R19 4,7kΩ E3 250mW 34,2V|7,29mA 2% metal film THT resistorR20 39kΩ E12 250mW 98,7V|2,53mA 2% metal film THT resistor39kΩ E12R21 150Ω E6 250mW 6,12V|40,8mA 2% metal film THT resistor150Ω E6R22 12kΩ E12 250mW 54,7V|4,56mA 2% metal film THT resistorR23 4,7kΩ E3 250mW 34,2V|7,29mA 2% metal film THT resistor4,7kΩ E3R24 4,7kΩ E3 250mW 34,2V|7,29mA 2% metal film THT resistorR25 100kΩ E3 250mW 158V|1,58mA 2% metal film THT resistorR26 4,7kΩ E3 250mW 34,2V|7,29mA 2% metal film THT resistorR27 33kΩ E6 250mW 90,8V|2,75mA 2% metal film THT resistor33kΩ E6R28 27kΩ E12 250mW 82,1V|3,04mA 2% metal film THT resistor27kΩ E12R29 12kΩ E12 250mW 54,7V|4,56mA 2% metal film THT resistor12kΩ E12R30 82kΩ E12 250mW 143V|1,74mA 2% metal film THT resistor82kΩ E12R31 39kΩ E12 250mW 98,7V|2,53mA 2% metal film THT resistor39kΩ E12R32 75Ω E24 250mW 4,33V|57,7mA 2% metal film THT resistor75Ω E24R33 4,7kΩ E3 250mW 34,2V|7,29mA 2% metal film THT resistorR34 4,7kΩ E3 250mW 34,2V|7,29mA 2% metal film THT resistorR35 100kΩ E3 250mW 158V|1,58mA 2% metal film THT resistorRV1 1kΩ E3 variable resistor1kΩ E3RV2 5kΩ variable resistorRV3 500Ω variable resistor500ΩSW1 Reset latch componentSW2 SW_Push componentU1 TL082 op ampU2 LM339 comparatorU3 LM339 comparator

author: HendriXML
author_rank: Super Contributor
timestamp: January 15, 2019, 09:40:16 pm
content: Bill of materialsTitle: LaserTriggerAmount: 1xResistors2x 56Ω E12 250mW 3,74V|66,8mA 2% metal film THT (R1, R13)40x 56Ω E12 250mW 3,74V|66,8mA 2% metal film THT (40x #46 @VKD02R01K07)1x 68Ω E6 250mW 4,12V|60,6mA 2% metal film THT (R4)40x 68Ω E6 250mW 4,12V|60,6mA 2% metal film THT (40x #47 @VKD02R01K07)1x 75Ω E24 250mW 4,33V|57,7mA 2% metal film THT (R32)22x 75Ω E24 250mW 4,33V|57,7mA 2% metal film THT (22x #48 @VKD02R01K07)1x 150Ω E6 250mW 6,12V|40,8mA 2% metal film THT (R21)139x 150Ω E6 250mW 6,12V|40,8mA 2% metal film THT (139x #52 @VKD02R02K01)1x 180Ω E12 250mW 6,7V|37,2mA 2% metal film THT (R9)36x 180Ω E12 250mW 6,7V|37,2mA 2% metal film THT (36x #53 @VKD02R02K03)1x 470Ω E3 250mW 10,8V|23mA 2% metal film THT (R14)139x 470Ω E3 250mW 10,8V|23mA 2% metal film THT (139x #62 @VKD02R02K05)2x 1,8kΩ E12 250mW 21,2V|11,7mA 2% metal film THT (R2, R12)20x 1,8kΩ E12 250mW 21,2V|11,7mA 2% metal film THT (20x #447 @VKD02R03K03)8x 4,7kΩ E3 250mW 34,2V|7,29mA 2% metal film THT (R5, R11, R19, R23, R24, R26, R33, R34)125x 4,7kΩ E3 250mW 34,2V|7,29mA 2% metal film THT (125x #81 @VKD02R03K05)4x 12kΩ E12 250mW 54,7V|4,56mA 2% metal film THT (R8, R15, R22, R29)37x 12kΩ E12 250mW 54,7V|4,56mA 2% metal film THT (37x #88 @VKD02R04K01)2x 27kΩ E12 250mW 82,1V|3,04mA 2% metal film THT (R16, R28)40x 27kΩ E12 250mW 82,1V|3,04mA 2% metal film THT (40x #93 @VKD02R04K03)2x 33kΩ E6 250mW 90,8V|2,75mA 2% metal film THT (R18, R27)140x 33kΩ E6 250mW 90,8V|2,75mA 2% metal film THT (140x #96 @VKD02R04K05)2x 39kΩ E12 250mW 98,7V|2,53mA 2% metal film THT (R20, R31)40x 39kΩ E12 250mW 98,7V|2,53mA 2% metal film THT (40x #98 @VKD02R04K05)2x 47kΩ E3 250mW 108V|2,3mA 2% metal film THT (R6, R7)128x 47kΩ E3 250mW 108V|2,3mA 2% metal film THT (128x #100 @VKD02R04K05)1x 51kΩ E24 250mW 112V|2,21mA 2% metal film THT (R10)38x 51kΩ E24 250mW 112V|2,21mA 2% metal film THT (38x #102 @VKD02R04K05)2x 82kΩ E12 250mW 143V|1,74mA 2% metal film THT (R17, R30)40x 82kΩ E12 250mW 143V|1,74mA 2% metal film THT (40x #107 @VKD02R04K07)3x 100kΩ E3 250mW 158V|1,58mA 2% metal film THT (R3, R25, R35)131x 100kΩ E3 250mW 158V|1,58mA 2% metal film THT (131x #109 @VKD02R05K01)Variable resistors1x 500Ω (RV3)9x 500Ω (9x #248 @VKD08R01K01)1x 1kΩ E3 (RV1)5x 1kΩ E3 (5x #323 @VKD08R01K01)1x 5kΩ (RV2)10x 5kΩ (10x #251 @VKD08R01K02)Capacitors1x 10nF E3 50V ceramic THT (C1)30x 10nF E3 50V ceramic THT (30x #216 @VKD01R03K05)Zener diodes1x 3,3V E6 1W 303mA (D2)15x 3,3V E6 1W 303mA THT 1N4728 (15x #233 @VKD08R02K01)Diodes1x 1N4004 (D4)10x 1N4004 400V 1A 1,1V (10x #255 @VKD08R03K02)Schottky diodes6x 1N5817 (D6, D8, D9, D10, D11, D12)10x 1N5817 20V 1A 450mV (10x #259 @VKD08R03K03)Photodiodes1x LDD (D3)4x LDD (4x #21 @VKD01R04K05)NPN transistors1x 2N3904 (Q4)240x 2N3904 (240x #324 @VKD08R04K01)PNP transistors2x 2N3906 (Q3, Q5)240x 2N3906 (240x #220 @VKD08R04K01)N-MOSFETs4x 2N7000 (Q1, Q2, Q6, Q7)190x 2N7000 (190x #150 @VKD03R02K01)Op amps1x TL082 (U1)16x TL082 TL082CP (16x #159 @VKD03R03K07)Comparators2x LM339 (U2, U3)30x LM339 LM339N (30x #167 @VKD03R05K01)LEDs3x LED (D1, D5, D7)Components1x Reset latch (SW1)1x SW_Push (SW2)