diff --git a/8051/AT89C2051/Programmer/README.md b/8051/AT89C2051/Programmer/README.md index a83b96c88..39446c8b1 100644 --- a/8051/AT89C2051/Programmer/README.md +++ b/8051/AT89C2051/Programmer/README.md @@ -8,7 +8,7 @@ Building a programmer for the Intel MCS-51/8051 compatible AT89C2051, with host I've been meaning to dive a bit deeper into [Intel MCS-51/8051](https://en.wikipedia.org/wiki/Intel_MCS-51) devices and programming -ever since I built the [LEAP#088 ElectronicClockKit](https://leap.tardate.com/8051/electronicclockkit/). +ever since I built the [LEAP#088 ElectronicClockKit](../../ElectronicClockKit/). While it's long been EOL at Intel, [this article By Jon Wilder](https://www.microcontrollertips.com/intels-mcs-51-microcontroller-family-stay/) is a valiant argument for why they are still around. @@ -44,7 +44,7 @@ I'd recommend checking these out. In summary: Boiling down my wishlist/plan: -* use an Arduino-controlled charge pump for programming voltage, but control it with PMW similar to [LEAP#392 Dickson Charge Pump](https://leap.tardate.com/playground/dicksonchargepump/) +* use an Arduino-controlled charge pump for programming voltage, but control it with PMW similar to [LEAP#392 Dickson Charge Pump](../../../playground/DicksonChargePump/) * assign GPIO pins judiciously so can still use Arduino Uno/ATmega328 as the programmer * base the Arduino programming sketch on piotrb5e3's, but modified for charge pump control * hopefully maintain compatibility with at89overlord so it can be used as the host programming software, else adapt as required @@ -111,7 +111,9 @@ with the packaging of 0.3.0 that may cause problems; 0.4.0 works fine though) On my system, I have the Arduino plugged in and appearing on `/dev/tty.usbmodem14511`. -Using the hex file generated with the [LEAP#394 AT89C2051 Blinky code here](https://leap.tardate.com/8051/at89c2051/blinky/), programming a chip is as simple as this: +Using the hex file generated with the +[LEAP#394 AT89C2051 Blinky code here](../Blinky/), +programming a chip is as simple as this: ```sh $ at89overlord -p /dev/tty.usbmodem14511 -f ../Blinky/Blinky.hex @@ -164,9 +166,9 @@ This takes advantage of the Arduino Uno R3 design feature that if 12V supply is ## Credits and References -* [LEAP#394 AT89C2051 Blinky](https://leap.tardate.com/8051/at89c2051/blinky/) -* [LEAP#392 Dickson Charge Pump](https://leap.tardate.com/playground/dicksonchargepump/) -* [LEAP#088 ElectronicClockKit](https://leap.tardate.com/8051/electronicclockkit/) +* [LEAP#394 AT89C2051 Blinky](../Blinky/) +* [LEAP#392 Dickson Charge Pump](../../../playground/DicksonChargePump/) +* [LEAP#088 ElectronicClockKit](../../../8051/ElectronicClockKit/) * [Intel MCS-51](https://en.wikipedia.org/wiki/Intel_MCS-51) * [Intel’s MCS-51 Microcontroller Family – It’s Here to Stay](https://www.microcontrollertips.com/intels-mcs-51-microcontroller-family-stay/) by Jon Wilder * [AT89C2051 product info and datasheet](https://www.microchip.com/wwwproducts/en/AT89c2051) diff --git a/Audio/AudioAmps/GuitarHeadphoneAmp/README.md b/Audio/AudioAmps/GuitarHeadphoneAmp/README.md index 602aa9041..c10cb8189 100644 --- a/Audio/AudioAmps/GuitarHeadphoneAmp/README.md +++ b/Audio/AudioAmps/GuitarHeadphoneAmp/README.md @@ -39,6 +39,6 @@ How it performs: ## Credits and References * [LM386 datasheet](https://www.futurlec.com/Linear/LM386N-3.shtml) -* Based on "Project 07 - Guitar Headphone Amplifier" from [Beginning Analog Electronics through Projects](http://www.amazon.com/gp/product/0750672838/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0750672838&linkCode=as2&tag=itsaprli-20&linkId=QUZ3GKIDBEXGNSG7) +* Based on "Project 07 - Guitar Headphone Amplifier" from [Beginning Analog Electronics through Projects](../../../books/beginning-analog-electronics-through-projects/) * [my LittleGem/A386 build](../LittleGem) * [MXR™ Headphone Amp](http://www.generalguitargadgets.com/effects-projects/boosters/headphone-amp/) - circuit details of an alternative unit diff --git a/Audio/AudioAmps/VolumeControlPowerAmp/README.md b/Audio/AudioAmps/VolumeControlPowerAmp/README.md index f646c0e49..d62e659c5 100644 --- a/Audio/AudioAmps/VolumeControlPowerAmp/README.md +++ b/Audio/AudioAmps/VolumeControlPowerAmp/README.md @@ -4,16 +4,18 @@ An LM386 fixed-gain audio power amp with volume control. ## Notes -This variant in the line of LM386-based amplifiers is based on a design in [Beginning Analog Electronics through Projects](http://www.amazon.com/gp/product/0750672838/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0750672838&linkCode=as2&tag=itsaprli-20&linkId=QUZ3GKIDBEXGNSG7). +This variant in the line of LM386-based amplifiers is based on a design in +[Beginning Analog Electronics through Projects](../../../books/beginning-analog-electronics-through-projects/). It is similar the [Little Gem/A386](../LittleGem), but with a few differences: * The LM386 gain is actually fixed at 200x with 10μF C5, with volume control on the input provided by R1. -* it adds a small RF-bypass capacitor C2 to prevent RF-breakthough of radio signals +* it adds a small RF-bypass capacitor C2 to prevent RF-breakthrough of radio signals * the output coupling capacitor is slightly smaller at 10μF * additional 100nF low-pass filter on the power supply How it performs: + * the input volume control works fine, although it is pretty redundant as it is ding the same job as a guitar's onboard volume control * the RF-bypass capacitor does appear to give a cleaner signal * the lack of gain control means the overdrive level is fixed. It's a pretty nice and warm effect that cuts in with higher input volumes @@ -28,10 +30,9 @@ How it performs: ## Credits and References -* Based on "Project 05 - Variable-Gain Audio Power Amplifier" from [Beginning Analog Electronics through Projects](http://www.amazon.com/gp/product/0750672838/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0750672838&linkCode=as2&tag=itsaprli-20&linkId=QUZ3GKIDBEXGNSG7) +* Based on "Project 05 - Variable-Gain Audio Power Amplifier" from [Beginning Analog Electronics through Projects](../../../books/beginning-analog-electronics-through-projects/) * [my LittleGem/A386 build](../LittleGem) * [Smokey Amps](http://www.smokeyamps.com/) - official site * [Smokey Amp Analysis](http://www.electrosmash.com/smokey-amp-analysis) - excellent circuit analysis of the original Smokey amp. * [Observations on the Smokey circuit by Dave Stork](http://www.blueguitar.org/new/schem/_ss/smokey.txt) * [LM386 datasheet](https://www.futurlec.com/Linear/LM386N-3.shtml) - diff --git a/Audio/Visualization/UsbLedVolumeIndicatorKit/README.md b/Audio/Visualization/UsbLedVolumeIndicatorKit/README.md index 8d24cf273..0a66904dd 100644 --- a/Audio/Visualization/UsbLedVolumeIndicatorKit/README.md +++ b/Audio/Visualization/UsbLedVolumeIndicatorKit/README.md @@ -68,9 +68,9 @@ Layed out this way, the circuit behaviour is easily apparent. A quick summary: ![schematic](./assets/UsbLedVolumeIndicatorKit_schematic.jpg?raw=true) -The circuit is actually the basis of the LM3915 that I covered in -[#065 LevelIndicatorLM3915](https://leap.tardate.com/playground/LevelIndicatorLM3915/) and -[#202 Audio Level Indicator Kit](https://leap.tardate.com/audio/visualization/audiolevelindicatorkit/). +The circuit is actually the basis of the LM3915 that I covered in +[#065 LevelIndicatorLM3915](../../../playground/LevelIndicatorLM3915/) and +[#202 Audio Level Indicator Kit](../../Visualization/AudioLevelIndicatorKit/). Note that the resistors are not identical on the LM3915, but form a logarithmic scale. If a linear scale is needed, there is the LM3914 that is otherwise identical. Linear scale is usually better for voltage control of batteries, and logarithmic one for audio level. Construction complete: diff --git a/BoldportClub/TheMatrix/Firecracker/README.md b/BoldportClub/TheMatrix/Firecracker/README.md index 23eda94ff..5a36689a9 100644 --- a/BoldportClub/TheMatrix/Firecracker/README.md +++ b/BoldportClub/TheMatrix/Firecracker/README.md @@ -18,7 +18,7 @@ Exposing the LM35 to a naked flame is perhaps not such a good idea .. but it is The [Firecracker.ino](./Firecracker.ino) sketch instantiates ["Sparklies"](./sparklie.h) which represent individual animation elements. -Doxygen source documentation is available [here](https://leap.tardate.com/BoldportClub/TheMatrix/Firecracker/doc/html/index.html). +Doxygen source documentation is available [here](./doc/html/). ## Construction @@ -33,7 +33,7 @@ Doxygen source documentation is available [here](https://leap.tardate.com/Boldpo * [Wire library](https://www.arduino.cc/en/reference/wire) * [AS1130 datasheet and info](http://ams.com/eng/Products/Power-Management/LED-Drivers/AS1130) * [LuckyResistor/LRAS1130](https://github.com/LuckyResistor/LRAS1130) - A library to control the AS1130 LED driver chip. -* [LEAP#298 TheMatrix](../TheMatrix) +* [LEAP#298 TheMatrix](../) * [LM35 Datasheet](https://www.futurlec.com/Linear/LM35DZ.shtml) -* [LEAP#079 LedTemperatureDisplay](../../../playground/LedTemperatureDisplay) - more details on using the LM35 sensor +* [LEAP#079 LedTemperatureDisplay](../../../playground/LedTemperatureDisplay/) - more details on using the LM35 sensor * [..as mentioned on my blog](https://blog.tardate.com/2017/05/leap312-matrix-firecracker.html) diff --git a/BoldportClub/TheMatrix/KeypadControl/README.md b/BoldportClub/TheMatrix/KeypadControl/README.md index b5118975f..d04d42dbb 100644 --- a/BoldportClub/TheMatrix/KeypadControl/README.md +++ b/BoldportClub/TheMatrix/KeypadControl/README.md @@ -10,7 +10,8 @@ Here's a quick video showing it in action.. So... ways to get arbitrary messages onto the Boldport Matrix? -I happen to have a [LEAP#302 KeyboardMatrixModule](https://leap.tardate.com/playground/keyboardmatrixmodule/) that is coincidentally 5 keys high by 4 wide .. +I happen to have a [LEAP#302 KeyboardMatrixModule](../../../playground/KeyboardMatrixModule/) +that is coincidentally 5 keys high by 4 wide .. a number that neatly fits into the 24x5 display port of the Matrix. So I've wired it up and enabled a couple of commands in the [KeypadControl.ino](./KeypadControl.ino) sketch: @@ -47,7 +48,7 @@ fixed some issues with LED brightness control. Now everything is looking so much ## Credits and References -* [LEAP#298 TheMatrix](../TheMatrix) -* [LEAP#302 KeyboardMatrixModule](https://leap.tardate.com/playground/keyboardmatrixmodule/) +* [LEAP#298 TheMatrix](../) +* [LEAP#302 KeyboardMatrixModule](../../../playground/KeyboardMatrixModule/) * [LuckyResistor/LRAS1130](https://github.com/LuckyResistor/LRAS1130) - A library to control the AS1130 LED driver chip. * [..as mentioned on my blog](https://blog.tardate.com/2017/05/leap307-boldport-matrix-keypad-control.html) diff --git a/BoldportClub/ligemdio/README.md b/BoldportClub/ligemdio/README.md index 2df94dc48..28adb4a5b 100644 --- a/BoldportClub/ligemdio/README.md +++ b/BoldportClub/ligemdio/README.md @@ -4,7 +4,6 @@ An LED tester kit featuring a classic BJT constant current source. From The Bold ![Build](./assets/ligemdio_build.jpg?raw=true) - ## Notes Another beautiful board from the Boldport Club. @@ -80,7 +79,7 @@ Completed build, testing an SMD LED... ![ligemdio_testing_smd_led](./assets/ligemdio_testing_smd_led.jpg?raw=true) -More testing. 999 to go ;-) +More testing. 999 to go! ![999_to_go](./assets/999_to_go.jpg?raw=true) @@ -92,5 +91,5 @@ More testing. 999 to go ;-) * [LIGEMDIO](https://github.com/boldport/ligemdio) - OSH files on GitHub * [LIGEMDIO](http://community.boldport.club/projects/p08-ligemdio/) - club community site, packed with resources for the project * [PN2222ATA datasheet](http://parts.io/detail/1027929/PN2222ATA) -* [The Art of Electronics](https://www.goodreads.com/book/show/569775.The_Art_of_Electronics) +* [The Art of Electronics](../../books/the-art-of-electronics/) * [..as mentioned on my blog](https://blog.tardate.com/2017/04/leap263-boldport-ligemdio.html) diff --git a/BoldportClub/spoolt/.catalog_metadata b/BoldportClub/spoolt/.catalog_metadata index 2ccb15d2f..2058d974e 100644 --- a/BoldportClub/spoolt/.catalog_metadata +++ b/BoldportClub/spoolt/.catalog_metadata @@ -1,6 +1,6 @@ { "id": "#325", - "name": "BoldportClub/spoolt", + "name": "BoldportClub spoolt", "description": "pimp my spoolt - the Boldport Club solder dispenser (Project #15, July 2017)", "categories": "Boldport, Soldering", "relative_path": "BoldportClub/spoolt", diff --git a/BoldportClub/spoolt/README.md b/BoldportClub/spoolt/README.md index dfcc5e6f6..500d79f09 100644 --- a/BoldportClub/spoolt/README.md +++ b/BoldportClub/spoolt/README.md @@ -1,4 +1,4 @@ -# #325 spoolt +# #325 BoldportClub spoolt Pimp my spoolt - the Boldport Club solder dispenser (Project #15, July 2017). @@ -57,5 +57,5 @@ There are 10 LEDs in parallel, although there's actually space for more. * [spoolt](https://www.boldport.com/products/spoolt/) - Boldport Product Page * [spoolt](http://community.boldport.club/projects/p15-spoolt/) - on the community site * [2N3904 datasheet](https://www.futurlec.com/Transistors/2N3904.shtml) -* [LEAP#130 DarlingtonTouchSwitch](https://leap.tardate.com/electronics101/darlingtontouchswitch/) - more on Darlington touch switches +* [LEAP#130 DarlingtonTouchSwitch](../../Electronics101/DarlingtonTouchSwitch/) - more on Darlington touch switches * [..as mentioned on my blog](https://blog.tardate.com/2017/07/leap325-pimp-my-boldportclub-spoolt.html) diff --git a/BoldportClub/tap/README.md b/BoldportClub/tap/README.md index 39e3f7a70..eab1f517d 100644 --- a/BoldportClub/tap/README.md +++ b/BoldportClub/tap/README.md @@ -11,14 +11,15 @@ The [Touch Activated Programmer (TAP) Sensor from Elektor magazine of December 1 example of a capacitive touch circuit. And Boldport Club members were lucky enough to get a "modern" rendering of the same circuit. -The PCB design is as psychadelic as you would expect from a 70's vintage design. What is amazing is that the parts are still +The PCB design is as psychedelic as you would expect from a 70's vintage design. What is amazing is that the parts are still quite readily available. -The PCB is well up to Boldport standards. Altough this can create some assembly confusion - you must pay close attention to +The PCB is well up to Boldport standards. Although this can create some assembly confusion - you must pay close attention to which side of the board the parts are inserted. It looks just as good both ways. Electrically, touch pads A, B and C are connected to an NPN transistor pair in a Darlington configuration. -I've covered the operation of this kind of switch in [LEAP#130 DarlingtonTouchSwitch](https://leap.tardate.com/electronics101/darlingtontouchswitch/). +I've covered the operation of this kind of switch in +[LEAP#130 DarlingtonTouchSwitch](../../Electronics101/DarlingtonTouchSwitch/). All manner of outputs are provided. For each touchpad there are four: @@ -47,11 +48,11 @@ they are limited in the current they can sink (16mA). The S/S¯ outputs are controlled with low-side NPN switches and can sink up to 1A - the absolute maximum collector current for the PN2222ATA. -Higher currents would need closer attention to heatsinking and wire/connector ratings. +Higher currents would need closer attention to heat-sinking and wire/connector ratings. ## RB (Reset Bar) and CB (Contact Bar) -The RB and CB pins are intended to allow chaining of mulitple sensor units with a common reset/contact bus. +The RB and CB pins are intended to allow chaining of multiple sensor units with a common reset/contact bus. ### Parts and Unboxing @@ -99,7 +100,7 @@ Running some initial current tests. It never peaks beyond 23mA. ![kit_initial_test](./assets/kit_initial_test.jpg?raw=true) -Hooked up for monitoring under test (analog scopea and logic analyzer) +Hooked up for monitoring under test (analog scope and logic analyzer) ![kit_scope_test](./assets/kit_scope_test.jpg?raw=true) @@ -116,7 +117,7 @@ From this we can see that using the TAP as an input for a sensitive instrument w ![scope_A_analog](./assets/scope_A_analog.gif?raw=true) -Here is the same switch with alogic analyser. There's quite a delay (2-3µs) between the analog transition and the digital - but I think that is more the +Here is the same switch with a logic analyser. There's quite a delay (2-3µs) between the analog transition and the digital - but I think that is more the scope than the circuit. The important point is that we still see one bounce at logic levels, and the other outputs are as expected. * CH1 - Q1 output (trigger) @@ -141,5 +142,5 @@ scope than the circuit. The important point is that we still see one bounce at l * [SN7400N info and datasheet](http://parts.io/detail/931870/SN7400N) - parts.io * [PN2222ATA info and datasheet](http://parts.io/detail/1027929/PN2222ATA) - parts.io * [BC556BTA info and datasheet](http://parts.io/detail/1015198/BC556BTA) - parts.io -* [LEAP#130 DarlingtonTouchSwitch](https://leap.tardate.com/electronics101/darlingtontouchswitch/) +* [LEAP#130 DarlingtonTouchSwitch](../../Electronics101/DarlingtonTouchSwitch/) * [..as mentioned on my blog](https://blog.tardate.com/2017/05/leap285-the-boldport-tap.html) diff --git a/ESP32/GettingStarted/README.md b/ESP32/GettingStarted/README.md index d80c7f676..2a2d1706d 100644 --- a/ESP32/GettingStarted/README.md +++ b/ESP32/GettingStarted/README.md @@ -7,8 +7,8 @@ Getting started with the ESP32: connecting and programming from MacOSX with the ## Notes I've had an ESP32-WROOM-32 kicking around for a while. -Reading a copy of [The Complete ESP32 Projects Guide](https://www.goodreads.com/book/show/47562312-the-complete-esp32-projects-guide) by Dogan Ibrahim, -and its given me the motivation to finally fire it up! +Reading a copy of [The Complete ESP32 Projects Guide](../../books/the-complete-esp32-projects-guide/) by Dogan Ibrahim, +and it has given me the motivation to finally fire it up! The Espressif documentation is now quite impressive (a far cry from early ESP8266 days). The @@ -36,7 +36,7 @@ Power Supply Options: * 5V / GND header pins * 3V3 / GND header pins -Only one of the power options should be usde at a time. +Only one of the power options should be used at a time. Pinout guide from lastminuteengineers: @@ -198,7 +198,7 @@ fit on a standard breadboard (only one side of the board will have space to conn * [ESP32-DevKitC V4 Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/hw-reference/get-started-devkitc.html) * [ESP-IDF Programming Guide](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/) - espressif docs * [CP210x USB to UART Bridge VCP Drivers](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers) -* [The Complete ESP32 Projects Guide](https://www.goodreads.com/book/show/47562312-the-complete-esp32-projects-guide) by Dogan Ibrahim +* [The Complete ESP32 Projects Guide](../../books/the-complete-esp32-projects-guide/) by Dogan Ibrahim * [Insight Into ESP32 Features & Using It With Arduino IDE](https://lastminuteengineers.com/esp32-arduino-ide-tutorial/) - excellent resource by lastminuteengineers * [Arduino core for the ESP32](https://github.com/espressif/arduino-esp32) - GitHub * [Getting started with ESP32 and the Arduino IDE](https://www.elektormagazine.com/magazine/elektor-201707/40510) - elektormagazine diff --git a/ESP8266/SerialTest/README.md b/ESP8266/SerialTest/README.md index 396d58fa6..dd8c33d10 100644 --- a/ESP8266/SerialTest/README.md +++ b/ESP8266/SerialTest/README.md @@ -247,4 +247,4 @@ NB: diagrams drawn with the custom parts from [ESP8266_fritzing](https://github. * [ESP8266 Community Forum](http://www.esp8266.com/) * [nurdspace AT command reference](https://nurdspace.nl/ESP8266#AT_Commands) * [Arduino Wifi - ESP8266: Schematic and Getting Started Code](https://www.youtube.com/watch?v=ayF4Oymf08k) - David Watts/youtube -* [LEAP#134 BidirectionalLevelShifterModule](https://leap.tardate.com/electronics101/bidirectionallevelshiftermodule/) +* [LEAP#134 BidirectionalLevelShifterModule](../../Electronics101/BidirectionalLevelShifterModule/) diff --git a/Electronics101/555Timer/AstableOscillator/README.md b/Electronics101/555Timer/AstableOscillator/README.md index 2dfa88ab2..5e65fe637 100644 --- a/Electronics101/555Timer/AstableOscillator/README.md +++ b/Electronics101/555Timer/AstableOscillator/README.md @@ -8,7 +8,9 @@ Here's a quick video of the circuit in action: ## Notes -The oscillator circuit is based on project 1 from [Beginning Analog Electronics through Projects](http://www.amazon.com/gp/product/0750672838/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0750672838&linkCode=as2&tag=itsaprli-20&linkId=D6X64MWAYQPEYQJC), and any number of other examples you can find with a quick Google search. +The oscillator circuit is based on project 1 from +[Beginning Analog Electronics through Projects](../../../books/beginning-analog-electronics-through-projects/), +and any number of other examples you can find with a quick Google search. The a-stable mode of operation is actually well described in the [LM555 Datasheet](https://www.futurlec.com/Linear/LM555CN.shtml). This circuit produces a free-running square wave at the output pin 3, with frequency and duty cycle determined by the values of R1, R2, and C1. @@ -48,7 +50,8 @@ The output voltage is tapped at the anode of the LED, read with an analog input It's important to have the Arduino measure the voltage across the LED only, since with a 9V supply this will only be in the order of 2V or so, not the full 7V+ at the output pin 3 of the 555 timer. -[LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/) reads the data from the serial port and plots the output value over time, with some coloration effects thrown in for good measure. +[LEAP#090 PlotNValues (a simple Processing sketch)](../../../playground/PlotNValues/) +reads the data from the serial port and plots the output value over time, with some coloration effects thrown in for good measure. Here's a sample trace for [R1=10k, R2=330k and C1=2uF](https://visual555.tardate.com?r1=10&r2=330&c=2): @@ -66,4 +69,4 @@ Here's a sample trace for [R1=10k, R2=330k and C1=2uF](https://visual555.tardate * [LM555 Datasheet](https://www.futurlec.com/Linear/LM555CN.shtml) * [Visual 555 Calculator](https://visual555.tardate.com) -* [Beginning Analog Electronics through Projects](http://www.amazon.com/gp/product/0750672838/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0750672838&linkCode=as2&tag=itsaprli-20&linkId=D6X64MWAYQPEYQJC) +* [Beginning Analog Electronics through Projects](../../../books/beginning-analog-electronics-through-projects/) diff --git a/Electronics101/555Timer/Latch/README.md b/Electronics101/555Timer/Latch/README.md index 1c6ea603d..e26140e9c 100644 --- a/Electronics101/555Timer/Latch/README.md +++ b/Electronics101/555Timer/Latch/README.md @@ -13,7 +13,8 @@ Here's a quick demo.. Pressing the button will toggle the output between on and off. This is a simple latching circuit for push-button on/off control using the 555 timer. -See [LEAP#004](https://leap.tardate.com/playground/pushbuttonled/) for how you may do this with an Arduino instead. +See [LEAP#004](../../../playground/PushbuttonLED/) +for how you may do this with an Arduino instead. How it works: diff --git a/Electronics101/555Timer/Monostable/README.md b/Electronics101/555Timer/Monostable/README.md index 3ee7958a3..6bcb5ce91 100644 --- a/Electronics101/555Timer/Monostable/README.md +++ b/Electronics101/555Timer/Monostable/README.md @@ -33,7 +33,8 @@ The breadboard is powered directly from the Arduino 5V pin, although it could al The output voltage is tapped at the anode of the LED, read with an analog input pin and echoed to the Arduino serial port. -[LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/) reads the data from the serial port and plots the output value over time, with some coloration effects thrown in for good measure. In other words, we're using Arduino and Processing as a basic oscilloscope! And it kind of works, mainly because the frequency is so low. +[LEAP#090 PlotNValues (a simple Processing sketch)](../../../playground/PlotNValues/) +reads the data from the serial port and plots the output value over time, with some coloration effects thrown in for good measure. In other words, we're using Arduino and Processing as a basic oscilloscope! And it kind of works, mainly because the frequency is so low. Here's a sample trace: @@ -51,6 +52,6 @@ Here's a sample trace: * [LM555 Datasheet](https://www.futurlec.com/Linear/LM555CN.shtml) * [Visual 555 Calculator](https://visual555.tardate.com) -* [Beginning Analog Electronics through Projects](http://www.amazon.com/gp/product/0750672838/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0750672838&linkCode=as2&tag=itsaprli-20&linkId=D6X64MWAYQPEYQJC) +* [Beginning Analog Electronics through Projects](../../../books/beginning-analog-electronics-through-projects/) * [Download Processing](https://www.processing.org/download/) * [#216: Back to Basics: 555 based monostable multivibrator - 555 tutorial](https://youtu.be/MbWc70ZzTlI) - another great video from w2aew that tells you all you ever wanted to know about 555 monostable oscillators diff --git a/Electronics101/555Timer/TriangleWaveGen/README.md b/Electronics101/555Timer/TriangleWaveGen/README.md index 41e0c8d0c..f0644d223 100644 --- a/Electronics101/555Timer/TriangleWaveGen/README.md +++ b/Electronics101/555Timer/TriangleWaveGen/README.md @@ -74,7 +74,8 @@ With 𝛕 too low, the charge/discharge cycle falls well within the square wave The Arduino only acts as a measurement device in this circuit. -[LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/) reads the data from the serial port and plots the input and output value over time, with some coloration effects thrown in for good measure. In other words, we're using Arduino and Processing as a basic oscilloscope! And it kind of works, mainly because the frequency is so low. +[LEAP#090 PlotNValues (a simple Processing sketch)](../../../playground/PlotNValues/) +reads the data from the serial port and plots the input and output value over time, with some coloration effects thrown in for good measure. In other words, we're using Arduino and Processing as a basic oscilloscope! And it kind of works, mainly because the frequency is so low. ![The Breadboard](./assets/TriangleWaveGen_bb.jpg?raw=true) diff --git a/Electronics101/74HC04/RelaxationOscillator/README.md b/Electronics101/74HC04/RelaxationOscillator/README.md index b25f16c7f..f604458e7 100644 --- a/Electronics101/74HC04/RelaxationOscillator/README.md +++ b/Electronics101/74HC04/RelaxationOscillator/README.md @@ -39,4 +39,4 @@ Running on a breadboard, I am getting a somewhat different result: 7.04 kHz at 6 * [Waveform Generators](https://www.electronics-tutorials.ws/waveforms/generators.html) * [Circuit Properties of LS and HC Digital Logic](https://mysite.du.edu/~etuttle/electron/elect13.htm) * See also: - * [LEAP#588 74HC14 Schmitt Oscillator](https://leap.tardate.com/electronics101/74hc14/schmittoscillator/) + * [LEAP#588 74HC14 Schmitt Oscillator](../../74HC14/SchmittOscillator/) diff --git a/Electronics101/74HC14/SchmittOscillator/README.md b/Electronics101/74HC14/SchmittOscillator/README.md index 26a90d968..f11f3e02e 100644 --- a/Electronics101/74HC14/SchmittOscillator/README.md +++ b/Electronics101/74HC14/SchmittOscillator/README.md @@ -18,7 +18,7 @@ Key Specifications: ### Test Circuit: The Schmitt Oscillator -> Note: For comparison, I've covered the same circuit with 74LS family chips in [LEAP#582 74LS14 Schmitt Oscillator](https://leap.tardate.com/electronics101/74ls14/schmittoscillator/) +> Note: For comparison, I've covered the same circuit with 74LS family chips in [LEAP#582 74LS14 Schmitt Oscillator](../../74LS14/SchmittOscillator/) An inverter Schmitt oscillator circuit is a simple and widely used configuration for generating square wave signals, typically built using a Schmitt-trigger inverter (like the 74LS14) along with a resistor and capacitor. The circuit works by exploiting the hysteresis property of the Schmitt-trigger, which causes the inverter to switch states at different voltage thresholds. The capacitor charges and discharges through the resistor, creating a time delay that determines the oscillation frequency. When the capacitor voltage reaches the upper threshold, the inverter switches to a low output, causing the capacitor to discharge; when it falls to the lower threshold, the inverter switches back to a high output, repeating the cycle. This results in a continuous square wave output whose frequency is determined by the RC time constant (`f = 1 / (1.2 * R * C)`). The circuit is valued for its simplicity, reliability, and ability to produce stable oscillations, making it useful in applications like clock generation, tone generation, and timing circuits. @@ -84,5 +84,5 @@ Getting distorted at 1kΩ and C=1nF: * [Circuit Properties of LS and HC Digital Logic](https://mysite.du.edu/~etuttle/electron/elect13.htm) * [Schmitt Trigger Oscillator](https://electronics-course.com/schmitt-trigger-oscillator) * See also: - * [LEAP#022 Square Wave - Schmitt Oscillator](https://leap.tardate.com/electronics101/oscillators/schmittoscillator/) - * [LEAP#582 74LS14 Schmitt Oscillator](https://leap.tardate.com/electronics101/74ls14/schmittoscillator/) + * [LEAP#022 Square Wave - Schmitt Oscillator](../../Oscillators/SchmittOscillator/) + * [LEAP#582 74LS14 Schmitt Oscillator](../../74LS14/SchmittOscillator/) diff --git a/Electronics101/74LS14/SchmittOscillator/README.md b/Electronics101/74LS14/SchmittOscillator/README.md index 424f24fc6..d4edabed5 100644 --- a/Electronics101/74LS14/SchmittOscillator/README.md +++ b/Electronics101/74LS14/SchmittOscillator/README.md @@ -19,7 +19,9 @@ Key Specifications: ### Test Circuit: The Schmitt Oscillator -> Note: I've covered this circuit before in [LEAP#022 Square Wave - Schmitt Oscillator](https://leap.tardate.com/electronics101/oscillators/schmittoscillator/), but this is an updated and more detailed treatment. +> Note: I've covered this circuit before in +> [LEAP#022 Square Wave - Schmitt Oscillator](../../Oscillators/SchmittOscillator/), +> but this is an updated and more detailed treatment. An inverter Schmitt oscillator circuit is a simple and widely used configuration for generating square wave signals, typically built using a Schmitt-trigger inverter (like the 74LS14) along with a resistor and capacitor. The circuit works by exploiting the hysteresis property of the Schmitt-trigger, which causes the inverter to switch states at different voltage thresholds. The capacitor charges and discharges through the resistor, creating a time delay that determines the oscillation frequency. When the capacitor voltage reaches the upper threshold, the inverter switches to a low output, causing the capacitor to discharge; when it falls to the lower threshold, the inverter switches back to a high output, repeating the cycle. This results in a continuous square wave output whose frequency is determined by the RC time constant (`f = 1 / (1.2 * R * C)`). The circuit is valued for its simplicity, reliability, and ability to produce stable oscillations, making it useful in applications like clock generation, tone generation, and timing circuits. @@ -103,5 +105,5 @@ Getting distorted at 1kΩ and C=1nF: * [Circuit Properties of LS and HC Digital Logic](https://mysite.du.edu/~etuttle/electron/elect13.htm) * [Schmitt Trigger Oscillator](https://electronics-course.com/schmitt-trigger-oscillator) * See also: - * [LEAP#022 Square Wave - Schmitt Oscillator](https://leap.tardate.com/electronics101/oscillators/schmittoscillator/) - * [LEAP#588 74HC14 Schmitt Oscillator](https://leap.tardate.com/electronics101/74hc14/schmittoscillator/) + * [LEAP#022 Square Wave - Schmitt Oscillator](../../Oscillators/SchmittOscillator/) + * [LEAP#588 74HC14 Schmitt Oscillator](../../74HC14/SchmittOscillator/) diff --git a/Electronics101/BJT/CommonEmitterAmplifier/README.md b/Electronics101/BJT/CommonEmitterAmplifier/README.md index 09cb23e77..ac4c060c7 100644 --- a/Electronics101/BJT/CommonEmitterAmplifier/README.md +++ b/Electronics101/BJT/CommonEmitterAmplifier/README.md @@ -192,7 +192,7 @@ Under test, performs just fine.. ## Credits and References * "Hands-On Radio: The Common Emitter Amplifier" by Ward Silver, NØAX. Feb 2003 QST -* [The Art of Electronics, 2nd Edition](https://www.goodreads.com/book/show/569775.The_Art_of_Electronics) - 2.13 Biasing the common-emitter amplifier, p84. +* [The Art of Electronics, 2nd Edition](../../../books/the-art-of-electronics/) - 2.13 Biasing the common-emitter amplifier, p84. * [#113: Basics of Transistor bias point and the class of amplifier operation](https://www.youtube.com/watch?v=c6cmkm3UPUI) - w2aew * [w2aew's notes](http://www.qsl.net/w/w2aew//youtube/Bias_point_and_Class_of_operation.pdf) * [Common Emitter Amplifiers](http://www.electronics-tutorials.ws/amplifier/amp_2.html) - electronics-tutorials diff --git a/Electronics101/BJT/Comparator/README.md b/Electronics101/BJT/Comparator/README.md index 4104d8bb9..9a0d0e8e7 100644 --- a/Electronics101/BJT/Comparator/README.md +++ b/Electronics101/BJT/Comparator/README.md @@ -29,8 +29,8 @@ It seems the field jumped very quickly to OpAmp and Comparator ICs. The most useful references I found were: -* [Electronic Principles](https://www.goodreads.com/book/show/942642.Electronic_Principles) which presents a simplified schematic of an IC comparator in section 22-13, p853 -* [Art of Electronics](https://www.goodreads.com/book/show/569775.The_Art_of_Electronics) 2.22 Temperature controller, p105 - a circuit that includes a BJT comparator in the control circuit +* [Electronic Principles](../../../books/electronic-principles/) which presents a simplified schematic of an IC comparator in section 22-13, p853 +* [Art of Electronics](../../../books/the-art-of-electronics/) 2.22 Temperature controller, p105 - a circuit that includes a BJT comparator in the control circuit ## Design @@ -87,6 +87,6 @@ Here's a scope trace that captures some manual manipulation of the input and ref * [Voltage Comparator Circuits](http://www.bristolwatch.com/ele/vc.htm) * [OPERATIONAL AMPLIFIERS : part 17 (Operational amplifier models)](http://www.radio.walkingitaly.com/radio/RADIOSITO/za_fatti/tutorial/t_opamp/t_opamp_old/a1.htm) * [Op Amp Comparator Circuit](https://www.radio-electronics.com/info/circuits/opamp_comparator/op_amp_comparator.php) -* [Art of Electronics](https://www.goodreads.com/book/show/569775.The_Art_of_Electronics) 2.22 Temperature controller, p105 -* [Electronic Principles - Malvino](https://www.goodreads.com/book/show/942642.Electronic_Principles) section 22-13, p853 +* [Art of Electronics](../../../books/the-art-of-electronics/) 2.22 Temperature controller, p105 +* [Electronic Principles - Malvino](../../../books/electronic-principles/) section 22-13, p853 * [..as mentioned on my blog](https://blog.tardate.com/2018/08/leap412-bjt-comparator.html) diff --git a/Electronics101/BJT/MrBiJuT/README.md b/Electronics101/BJT/MrBiJuT/README.md index 386504dbc..5db5cfc96 100644 --- a/Electronics101/BJT/MrBiJuT/README.md +++ b/Electronics101/BJT/MrBiJuT/README.md @@ -12,7 +12,7 @@ Here's a quick demo.. ## Notes I found this neat little circuit in the -[Radio and Electronics Cookbook](https://www.goodreads.com/book/show/3415601-radio-and-electronics-cookbook) (69 A bipolar transistor tester, p240). +[Radio and Electronics Cookbook](../../../books/radio-and-electronics-cookbook/) (69 A bipolar transistor tester, p240). I tested it out on a breadboard, liked it's simplicity, and decided to do a little #FreeformFriday rendition: Mr BiJuT! @@ -95,5 +95,5 @@ Testing a PNP: ## Credits and References * [CD4011 datasheet](https://www.futurlec.com/4000Series/CD4011.shtml) -* [Radio and Electronics Cookbook](https://www.goodreads.com/book/show/3415601-radio-and-electronics-cookbook) - 69 A bipolar transistor tester, p240. +* [Radio and Electronics Cookbook](../../../books/radio-and-electronics-cookbook/) - 69 A bipolar transistor tester, p240. * [..as mentioned on my blog](https://blog.tardate.com/2019/03/leap465-mr-bijut.html) diff --git a/Electronics101/BJT/NegativeFeedbackAmplifier/README.md b/Electronics101/BJT/NegativeFeedbackAmplifier/README.md index 28ae6a2c5..6f8341688 100644 --- a/Electronics101/BJT/NegativeFeedbackAmplifier/README.md +++ b/Electronics101/BJT/NegativeFeedbackAmplifier/README.md @@ -15,7 +15,7 @@ and reduced sensitivity to component parameter variations. The circuit design used here is based on a fairly common "Negative Feedback Amplifier Kit" (easily found on Aliexpress or eBay). It essentially a two-stage common-emitter amplifier with a feedback loop from the output of the final stage to the emitter of the first stage. NB: the circuit is exactly as covered in 10-5 Two-Stage Feedback of -[Electronic Principles by Albert Paul Malvino](https://www.goodreads.com/book/show/942642.Electronic_Principles). +[Electronic Principles by Albert Paul Malvino](../../../books/electronic-principles/). The feedback loop creates an AC voltage divider between the output and ground: @@ -61,6 +61,6 @@ CH2 (Blue): output * [Chapter 4 - Bipolar Junction Transistors - Feedback](https://www.allaboutcircuits.com/textbook/semiconductors/chpt-4/feedback/) * [10.1 Cascade of two single transistor stages](https://wiki.analog.com/university/courses/electronics/text/chapter-10) - Analog wiki * [Design of 2 stage BJT CE amplifier](http://ampdesigns.tripod.com/2_Stage_BJT_amplifier.html) -* [Electronic Principles by Albert Paul Malvino](https://www.goodreads.com/book/show/942642.Electronic_Principles) -* [Multistage Transistor Amplifiers](http://www.youtube.com/watch?v=FbdZ46VdTjE) +* [Electronic Principles by Albert Paul Malvino](../../../books/electronic-principles/) +* [Multistage Transistor Amplifiers](https://www.youtube.com/watch?v=FbdZ46VdTjE) * [LEAP#389 TwoStageCommonEmitterAmplifier](../TwoStageCommonEmitterAmplifier) diff --git a/Electronics101/BJT/PhaseSplitter/README.md b/Electronics101/BJT/PhaseSplitter/README.md index f4c8246b0..a7c7e53d0 100644 --- a/Electronics101/BJT/PhaseSplitter/README.md +++ b/Electronics101/BJT/PhaseSplitter/README.md @@ -72,6 +72,6 @@ I put on a piece of protoboard in a breadboard-compatible layout: ## Credits and References -* [The Art of Electronics, 2nd Edition](https://www.goodreads.com/book/show/569775.The_Art_of_Electronics) - 2.08 Unity-gain phase splitter, p77. +* [The Art of Electronics, 2nd Edition](../../../books/the-art-of-electronics/) - 2.08 Unity-gain phase splitter, p77. * [2N3904 datasheet](https://www.futurlec.com/Transistors/2N3904.shtml) * [..as mentioned on my blog](https://blog.tardate.com/2018/02/leap378-bjt-phase-splitter.html) diff --git a/Electronics101/BJT/SawTooth/README.md b/Electronics101/BJT/SawTooth/README.md index 4cb1aa95b..95980f2b7 100644 --- a/Electronics101/BJT/SawTooth/README.md +++ b/Electronics101/BJT/SawTooth/README.md @@ -45,8 +45,9 @@ The capacitance of C1 affects the slope of the charge. Since we are using a cons So higher capacitor values will slow down the wave frequency and vice versa. Here I'm using a 10µF electrolytic to give a very slow wave, visible to the eye. -Here's a sample trace recorded using [LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/) to -read the data collected by the [SawTooth.ino](./SawTooth.ino) program: +Here's a sample trace recorded using +[LEAP#090 PlotNValues (a simple Processing sketch)](../../../playground/PlotNValues/) +to read the data collected by the [SawTooth.ino](./SawTooth.ino) program: ![processing trace](./assets/processing_trace.png?raw=true) diff --git a/Electronics101/BJT/TwoStageCommonEmitterAmplifier/README.md b/Electronics101/BJT/TwoStageCommonEmitterAmplifier/README.md index fc1ee04fc..f55f9fdca 100644 --- a/Electronics101/BJT/TwoStageCommonEmitterAmplifier/README.md +++ b/Electronics101/BJT/TwoStageCommonEmitterAmplifier/README.md @@ -11,7 +11,7 @@ Voltage gains from several hundred to several thousand are possible. I'm going to try and noodle out a theoretical design of a two-stage Class A amplifier, and then test the actual performance. Do *not* take my calculations as gospel. My main sources for the theory were -[Electronic Principles by Albert Paul Malvino](https://www.goodreads.com/book/show/942642.Electronic_Principles) +[Electronic Principles by Albert Paul Malvino](../../../books/electronic-principles/) and a [Multistage Transistor Amplifiers](https://www.youtube.com/watch?v=FbdZ46VdTjE) YouTube tutorial by The Offset Volt: [![clip](https://img.youtube.com/vi/FbdZ46VdTjE/0.jpg)](https://www.youtube.com/watch?v=FbdZ46VdTjE) @@ -189,7 +189,7 @@ Testing with an ugly-style build: * [Multistage Transistor Amplifiers](https://www.youtube.com/watch?v=FbdZ46VdTjE) by The Offset Volt * [Design of 2 stage BJT CE amplifier](http://ampdesigns.tripod.com/2_Stage_BJT_amplifier.html) -* [Electronic Principles by Albert Paul Malvino](https://www.goodreads.com/book/show/942642.Electronic_Principles) +* [Electronic Principles by Albert Paul Malvino](../../../books/electronic-principles/) * [Multistage Transistor Amplifiers](https://www.youtube.com/watch?v=FbdZ46VdTjE) * [2N3904 datasheet](https://www.futurlec.com/Transistors/2N3904.shtml) * [..as mentioned on my blog](https://blog.tardate.com/2018/05/leap389-two-stage-amp-design.html) diff --git a/Electronics101/BreatheLamp/README.md b/Electronics101/BreatheLamp/README.md index fcfdacf10..b84700f66 100644 --- a/Electronics101/BreatheLamp/README.md +++ b/Electronics101/BreatheLamp/README.md @@ -33,7 +33,7 @@ It also seems this could be simplified by reconfiguring as a and only require a single op-amp unit. I might try that later... From a parts cost and count perspective, I'm not sure there's much advantage in using an op-amp oscillator -over, for example, a [555 timer-based triangle wave generator](https://leap.tardate.com/electronics101/555timer/trianglewavegen/). +over, for example, a [555 timer-based triangle wave generator](../555Timer/TriangleWaveGen/). ## Construction diff --git a/Electronics101/CD40106/SchmittOscillator/README.md b/Electronics101/CD40106/SchmittOscillator/README.md index b5ff44359..12228a5a7 100644 --- a/Electronics101/CD40106/SchmittOscillator/README.md +++ b/Electronics101/CD40106/SchmittOscillator/README.md @@ -78,5 +78,5 @@ Top/tail distortion quite extreme with 220Ω and C=10nF: * [Circuit Properties of LS and HC Digital Logic](https://mysite.du.edu/~etuttle/electron/elect13.htm) * [Schmitt Trigger Oscillator](https://electronics-course.com/schmitt-trigger-oscillator) * See also: - * [LEAP#582 74LS14 Schmitt Oscillator](https://leap.tardate.com/electronics101/74ls14/schmittoscillator/) - * [LEAP#588 74HC14 Schmitt Oscillator](https://leap.tardate.com/electronics101/74hc14/schmittoscillator/) + * [LEAP#582 74LS14 Schmitt Oscillator](../../74LS14/SchmittOscillator/) + * [LEAP#588 74HC14 Schmitt Oscillator](../../74HC14/SchmittOscillator/) diff --git a/Electronics101/CD40106/VoltageMultiplier/README.md b/Electronics101/CD40106/VoltageMultiplier/README.md index adffc35d8..7bb86648b 100644 --- a/Electronics101/CD40106/VoltageMultiplier/README.md +++ b/Electronics101/CD40106/VoltageMultiplier/README.md @@ -36,7 +36,7 @@ The scope trace below captures the system in operation: * CH2 (Blue): voltage at OUT * Measured: 13.6V -Conclusion: the CD40106 is not as affective as the 74HC14 in this role. See [LEAP#593 74HC14 Inverter Voltage Multiplier](https://leap.tardate.com/electronics101/74hc14/voltagemultiplier/) for comparative results. +Conclusion: the CD40106 is not as affective as the 74HC14 in this role. See [LEAP#593 74HC14 Inverter Voltage Multiplier](../../74HC14/VoltageMultiplier/) for comparative results. ![oscillator](./assets/oscillator.gif) @@ -44,4 +44,4 @@ Conclusion: the CD40106 is not as affective as the 74HC14 in this role. See [LEA * [CD40106 Datasheet](https://www.futurlec.com/4000Series/CD40106.shtml) * See also: - * [LEAP#593 74HC14 Inverter Voltage Multiplier](https://leap.tardate.com/electronics101/74hc14/voltagemultiplier/) + * [LEAP#593 74HC14 Inverter Voltage Multiplier](../../74HC14/VoltageMultiplier/) diff --git a/Electronics101/CD4046/MainsLinkedPLL/README.md b/Electronics101/CD4046/MainsLinkedPLL/README.md index dacdecee7..779061698 100644 --- a/Electronics101/CD4046/MainsLinkedPLL/README.md +++ b/Electronics101/CD4046/MainsLinkedPLL/README.md @@ -155,7 +155,7 @@ A very clean 50 Hz square wave output * [CD4011 datasheet](https://www.futurlec.com/4000Series/CD4011.shtml) * [4N35 datasheet](https://www.futurlec.com/LED/4N35.shtml) * [The Phase-Locked Loop](https://mysite.du.edu/~etuttle/electron/elect12.htm) -* [The Art of Electronics](https://www.goodreads.com/book/show/569775.The_Art_of_Electronics) - 9.27 PHASE-LOCKED LOOPS, 2nd Edition p641 +* [The Art of Electronics](../../../books/the-art-of-electronics/) - 9.27 PHASE-LOCKED LOOPS, 2nd Edition p641 * [CMOS Phase-Locked-Loop Applications](http://www.ti.com/lit/an/scha003b/scha003b.pdf) - TI Application Report * [CD4046B Phase-Locked Loop](http://www.ti.com/lit/an/scha002a/scha002a.pdf) - TI Application Report * [74HC4046 PHASE-LOCKED-LOOP WITH VCO](https://www.electronics-tutorials.com/devices/74hc4046.htm) diff --git a/Electronics101/CD4046/VCO/README.md b/Electronics101/CD4046/VCO/README.md index 4229eb52f..a1ac76416 100644 --- a/Electronics101/CD4046/VCO/README.md +++ b/Electronics101/CD4046/VCO/README.md @@ -1,4 +1,4 @@ -# #382 CD4046/VCO +# #382 CD4046 VCO Audio range voltage-controlled oscillator using the CD4046 PLL/VCO IC. @@ -90,6 +90,5 @@ Measured maximum frequency: * [CD4046 Datasheet](https://www.futurlec.com/4000Series/CD4046.shtml) * CMOS Clock Circuits - Ray Marston. Radio-Electronics, November 1984. -* [Practical Oscillator Handbook](https://www.goodreads.com/book/show/3365243-practical-oscillator-handbook) - includes a page on CD4046 VCO -* [Practical Oscillator Circuits](https://www.goodreads.com/book/show/12491266-practical-oscillator-circuits) - apparently has good coverage of CD4046 VCO (I haven't read it) -* [The Art of Electronics](https://www.goodreads.com/book/show/569775.The_Art_of_Electronics) +* [Practical Oscillator Handbook](../../../books/practical-oscillator-handbook/) - includes a page on CD4046 VCO +* [The Art of Electronics](../../../books/the-art-of-electronics/) diff --git a/Electronics101/CD4049/RelaxationOscillator/README.md b/Electronics101/CD4049/RelaxationOscillator/README.md index 31604f41a..56b4932d1 100644 --- a/Electronics101/CD4049/RelaxationOscillator/README.md +++ b/Electronics101/CD4049/RelaxationOscillator/README.md @@ -42,4 +42,4 @@ The scope trace shows CH1 connected to OUT. * [Inverter-based RC oscillator and its waveform](https://www.researchgate.net/figure/nverter-based-RC-oscillator-and-its-waveform_fig1_337297970) * [Waveform Generators](https://www.electronics-tutorials.ws/waveforms/generators.html) * See also: - * [LEAP#590 74HC04 Relaxation Oscillator](https://leap.tardate.com/electronics101/74hc04/relaxationoscillator/) + * [LEAP#590 74HC04 Relaxation Oscillator](../../74HC04/RelaxationOscillator/) diff --git a/Electronics101/CD4069/PushButtonLatch/README.md b/Electronics101/CD4069/PushButtonLatch/README.md index d101865e5..595916b74 100644 --- a/Electronics101/CD4069/PushButtonLatch/README.md +++ b/Electronics101/CD4069/PushButtonLatch/README.md @@ -14,8 +14,8 @@ Latching push-button circuits are useful in any situation where one needs to tog There are many ways to achieve this. In the past I have covered: -* a 555 Timer based circuit, see [LEAP#692](https://leap.tardate.com/electronics101/555timer/latch/) -* an Arduino based solution, see [LEAP#004](https://leap.tardate.com/playground/pushbuttonled/) +* a 555 Timer based circuit, see [LEAP#692](../../555Timer/Latch/) +* an Arduino based solution, see [LEAP#004](../../../playground/PushbuttonLED/) A [discussions with steveschnepp](https://github.com/tardate/LittleArduinoProjects/issues/36) introduced me to an inverter-based solution. It has a number of benefits: diff --git a/Electronics101/Comparator741/README.md b/Electronics101/Comparator741/README.md index ae555d325..c551f5aa1 100644 --- a/Electronics101/Comparator741/README.md +++ b/Electronics101/Comparator741/README.md @@ -60,7 +60,8 @@ The comparator behaviour is demonstrated in the following trace with R=22kΩ and ![processing trace](./assets/processing_trace.png?raw=true) -[LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/) reads the data from the serial port and plots the values over time, with some coloration effects thrown in for good measure. In other words, we're using Arduino and Processing as a basic oscilloscope .. and it kind of works, mainly because the frequency is so low. +[LEAP#090 PlotNValues (a simple Processing sketch)](../../playground/PlotNValues/) +reads the data from the serial port and plots the values over time, with some coloration effects thrown in for good measure. In other words, we're using Arduino and Processing as a basic oscilloscope .. and it kind of works, mainly because the frequency is so low. ### Construction diff --git a/Electronics101/Connectors/Audio/README.md b/Electronics101/Connectors/Audio/README.md index 544847b5d..11c54d589 100644 --- a/Electronics101/Connectors/Audio/README.md +++ b/Electronics101/Connectors/Audio/README.md @@ -11,7 +11,7 @@ This project is a collection of notes on some of the connectors I use/have encou For more thorough coverage of the variety of audio connectors, see: -* Chapter 7 of John M. Hughes' [Practical Electronics: Components and Techniques](https://www.goodreads.com/book/show/21483234-practical-electronics). +* Chapter 7 of John M. Hughes' [Practical Electronics: Components and Techniques](../../../books/practical-electronics/). * [Tech Basics: Cables & Connectors](https://www.udemy.com/tech101-cables-and-connectors/) - udemy course ### 3.5mm Connectors @@ -62,6 +62,6 @@ e.g. ## Credits and References -* [Practical Electronics: Components and Techniques](https://www.goodreads.com/book/show/21483234-practical-electronics) +* [Practical Electronics: Components and Techniques](../../../books/practical-electronics/) * [Tech Basics: Cables & Connectors](https://www.udemy.com/tech101-cables-and-connectors/) - udemy course * [..as mentioned on my blog](https://blog.tardate.com/2017/05/leap309-audio-connectors.html) diff --git a/Electronics101/Connectors/RF/README.md b/Electronics101/Connectors/RF/README.md index eaddddeee..2a75b9b8e 100644 --- a/Electronics101/Connectors/RF/README.md +++ b/Electronics101/Connectors/RF/README.md @@ -111,7 +111,7 @@ Typical Crimp Die sizes ## Credits and References -* [Practical Electronics: Components and Techniques](https://www.goodreads.com/book/show/21483234-practical-electronics) +* [Practical Electronics: Components and Techniques](../../../books/practical-electronics/) * [Tech Basics: Cables & Connectors](https://www.udemy.com/tech101-cables-and-connectors/) - udemy course * [Coax Connectors - Peculiar Parts, the series](https://www.elektormagazine.com/magazine/elektor-201511/28193/) - elektor article * [AN-02H1 RG58 RG59 RG62 crimper BNC fiber optic Crimping Tool for crimping coaxial cable connectors](https://www.aliexpress.com/item/AN-02H1-RG58-RG59-RG62-crimper-BNC-fiber-optic-Crimping-Tool-for-crimping-coaxial-cable-connectors/1537820281.html) diff --git a/Electronics101/CrystalTester/README.md b/Electronics101/CrystalTester/README.md index 9914418d7..fb83d6f62 100644 --- a/Electronics101/CrystalTester/README.md +++ b/Electronics101/CrystalTester/README.md @@ -27,5 +27,5 @@ and is similar to [the one built by w2aew](https://youtu.be/blalAktxFoI) - excep * [G3PTO Xtal Tester](http://www.qsl.net/g3pto/xtest.html) - the original circuit reproduced here * [Single transistor crystal oscillator circuit](http://www.radio-electronics.com/info/circuits/transistor_crystal_oscillator/crystal_oscillator.php) - similar circuit, but with a single transistor * [Oscillator Crystal Test Circuit](https://youtu.be/EiBTzh7DQ0I) - Tony T's demo of the circuit -* [Victor VC3165 0.01Hz-2.4GHz Frequency Counter](http://www.amazon.com/gp/product/B00CW8Q2Z0/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=B00CW8Q2Z0&linkCode=as2&tag=itsaprli-20&linkId=3GSZ3KBONNZVLXTF) +* [Victor VC3165 0.01Hz-2.4GHz Frequency Counter](../../Equipment/VC3165/) * [#123: Build a crystal oscillator from schematic thru prototype construction and testing - DIY](https://youtu.be/blalAktxFoI) - great tutorial by w2aew of building a similar circuit using the island cutter technique diff --git a/Electronics101/Detectors/PeakDetector/README.md b/Electronics101/Detectors/PeakDetector/README.md index 4f4ac580d..660241367 100644 --- a/Electronics101/Detectors/PeakDetector/README.md +++ b/Electronics101/Detectors/PeakDetector/README.md @@ -24,7 +24,8 @@ will be better served by a shorter time constant). Feedback from the output node to the inverting OpAmp input will force the OpAmp to eliminate the diode voltage drop in the output (as best it can). -Here's a sample trace recorded using [LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/) +Here's a sample trace recorded using +[LEAP#090 PlotNValues (a simple Processing sketch)](../../../playground/PlotNValues/) * upper trace is the output of the peak detector * lower trace is the signal input (a variable "triangle" wave in this test) diff --git a/Electronics101/Detectors/SimplePeakDetector/README.md b/Electronics101/Detectors/SimplePeakDetector/README.md index 3d8c70590..30a18779a 100644 --- a/Electronics101/Detectors/SimplePeakDetector/README.md +++ b/Electronics101/Detectors/SimplePeakDetector/README.md @@ -23,7 +23,8 @@ will be better served by a shorter time constant). The main problem with this circuit is the fact we lose the diode forward voltage from the output, resulting in offset measurements and an equivalent minimum input voltage sensitivity. -Here's a sample trace recorded using [LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/) +Here's a sample trace recorded using +[LEAP#090 PlotNValues (a simple Processing sketch)](../../../playground/PlotNValues/) * upper trace is the output of the peak detector * lower trace is the signal input (a rough triangle wave source in this test) diff --git a/Electronics101/DigitalLogic/SRLatchFlipper/README.md b/Electronics101/DigitalLogic/SRLatchFlipper/README.md index f6eba6772..b9ae53906 100644 --- a/Electronics101/DigitalLogic/SRLatchFlipper/README.md +++ b/Electronics101/DigitalLogic/SRLatchFlipper/README.md @@ -15,7 +15,8 @@ SRLatch uses manual switch entry to control the flip-flop. This version of the circuit uses an Arduino to drive the set/reset inputs, and monitor the output state. For simplicity, the circuit is powered from the Arduino's 5V regulated pin. -Output state is read with analog ports, and the data sent to the serial port for plotting with [LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/). +Output state is read with analog ports, and the data sent to the serial port for plotting with +[LEAP#090 PlotNValues (a simple Processing sketch)](../../../playground/PlotNValues/). The processing trace below demonstrates the behaviour using 4 traces. From bottom to top: diff --git a/Electronics101/DigitalLogic/XorWithNandGates/README.md b/Electronics101/DigitalLogic/XorWithNandGates/README.md index a0b52184b..311b2be6d 100644 --- a/Electronics101/DigitalLogic/XorWithNandGates/README.md +++ b/Electronics101/DigitalLogic/XorWithNandGates/README.md @@ -29,7 +29,8 @@ So while a little wasteful, I'm using the four NAND gates of a single 74LS132 ch The [XorWithNandGates.ino](./XorWithNandGates.ino) sketch drives the A/B inputs with a state change every 500ms. Three Arduino analog pins are used to read the actual A, B and Q (output) voltages. -[LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/) reads the data from the serial port and plots the output value over time, with some coloration effects thrown in for good measure. +[LEAP#090 PlotNValues (a simple Processing sketch)](../../../playground/PlotNValues/) +reads the data from the serial port and plots the output value over time, with some coloration effects thrown in for good measure. Here's a sample trace: diff --git a/Electronics101/DiodeLogic/AND/README.md b/Electronics101/DiodeLogic/AND/README.md index 42120f1c5..0bb572c66 100644 --- a/Electronics101/DiodeLogic/AND/README.md +++ b/Electronics101/DiodeLogic/AND/README.md @@ -2,6 +2,8 @@ Test the basic diode-logic AND gate +![The Build](./assets/AND_build.jpg?raw=true) + ## Notes Diode logic was used extensively in early computers but is largely obsolete now, since it cannot isolate inputs or outputs @@ -19,6 +21,7 @@ Output is high only when all the inputs are high: | 1 | 1 | 1 | In this circuit with VCC of 5V and where Vf is the diode forward voltage of approx. 0.7V, Vr2 is the voltage drop across R2: + * Out logical "0" == Vf ~> 0.7V * Out logical "1" == VCC - Vr2 ~> 3.4V @@ -27,8 +30,11 @@ so the switch behaviour may appear inverse (more like a NOR gate) to the actual This apparently contradictory behaviour is resolved if a normally-closed switch is used. The Arduino is not a core part of the circuit. It only does the following: + * provides +5V power supply (for convenience) -* measures the input and output voltages for plotting. It uses the [PlotNValues](https://leap.tardate.com/playground/plotnvalues/) sketch for this purpose. +* measures the input and output voltages for plotting. +It uses the [PlotNValues](../../../playground/PlotNValues/) +sketch for this purpose. Here's a sample trace. The upper trace is the output, the lower traces the inputs. diff --git a/Electronics101/DiodeLogic/OR/README.md b/Electronics101/DiodeLogic/OR/README.md index 57ce61e19..b0c17efba 100644 --- a/Electronics101/DiodeLogic/OR/README.md +++ b/Electronics101/DiodeLogic/OR/README.md @@ -2,6 +2,8 @@ Test the basic diode-logic OR gate +![The Build](./assets/OR_build.jpg?raw=true) + ## Notes Diode logic was used extensively in early computers but is largely obsolete now, since it cannot isolate inputs or outputs @@ -19,14 +21,18 @@ Output is high given any of the inputs are high: | 1 | 1 | 1 | In this circuit with VCC of 5V and where Vf is the diode forward voltage of approx. 0.7V: + * Out logical "0" == 0V * Out logical "1" == VCC - 1 x Vf ~> 4.3V Pull-down resistors R2,R3 are used to prevent floating inputs. The Arduino is not a core part of the circuit. It only does the following: + * provides +5V power supply (for convenience) -* measures the input and output voltages for plotting. It uses the [PlotNValues](https://leap.tardate.com/playground/plotnvalues/) sketch for this purpose. +* measures the input and output voltages for plotting. It uses the +[PlotNValues](../../../playground/PlotNValues/) +sketch for this purpose. Here's a sample trace. The upper trace is the output, the lower traces the inputs. diff --git a/Electronics101/EdgeDetection/XorRcEdgeDetector/README.md b/Electronics101/EdgeDetection/XorRcEdgeDetector/README.md index 735de15b2..a79f066c0 100644 --- a/Electronics101/EdgeDetection/XorRcEdgeDetector/README.md +++ b/Electronics101/EdgeDetection/XorRcEdgeDetector/README.md @@ -17,9 +17,9 @@ A XOR gate can be used as an edge detector by feeding it with two signals: One way of doing this is to put and RC filter on the second input. That's the circuit demonstrated here: where a 10kΩ and 1µF RC filter yields a [10ms time constant](https://www.wolframalpha.com/input/?i=10k%CE%A9*1%C2%B5F). -Increasing the time constant will increase the minimum ouput pulse width, and also acts as a de-bouncing trick. +Increasing the time constant will increase the minimum output pulse width, and also acts as a de-bouncing trick. -Another technique is to rpelace the RC filter with an even number of inveters, the idea being that propagation delay in the inverters +Another technique is to replace the RC filter with an even number of inverters, the idea being that propagation delay in the inverters produces the differential input to the XOR gate. Note: I'm using a 74LS86, and configuring some of the XOR units as inverters "works" but only very poorly as the <23ns propagation delay only produces a very weak pulse when an edge is detected. @@ -49,4 +49,4 @@ I'm using a 74LS86 Quad 2-Input Exclusive-OR Gate in this demo. * [74LS86 datasheet](https://www.futurlec.com/74LS/74LS86.shtml) * [Rising edge pulse detector from logic gates](https://electronics.stackexchange.com/questions/165552/rising-edge-pulse-detector-from-logic-gates) * [Dual edge detector](https://electronics.stackexchange.com/a/270908/52289) -* [ARRL's Hands-On Radio Experiments Volume 3](https://www.goodreads.com/book/show/38899190-arrl-s-hands-on-radio-experiments-volume-3) Experiment #125 (covers Schmitt Trigger edge detection) +* [ARRL's Hands-On Radio Experiments Volume 3](../../../books/arrl-hands-on-radio-experiments-vol3/) Experiment #125 (covers Schmitt Trigger edge detection) diff --git a/Electronics101/FunctionGenerator324/README.md b/Electronics101/FunctionGenerator324/README.md index a64513b57..7d80ef95f 100644 --- a/Electronics101/FunctionGenerator324/README.md +++ b/Electronics101/FunctionGenerator324/README.md @@ -44,7 +44,9 @@ To transform the output from stage 3 (sine) to cosine, we use the final OpAmp un ### Measured Behaviour -[LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/) reads the data from the serial port and plots the output values over time, with some coloration effects thrown in for good measure. In other words, we're using Arduino and Processing as a basic oscilloscope ... and it kind of works, mainly because the frequency is so low. +[LEAP#090 PlotNValues (a simple Processing sketch)](../../playground/PlotNValues/) +reads the data from the serial port and plots the output values over time, with some coloration effects thrown in for good measure. +In other words, we're using Arduino and Processing as a basic oscilloscope ... and it kind of works, mainly because the frequency is so low. The behaviour is demonstrated in the following trace with R4 variable resistor at about 10kΩ. diff --git a/Electronics101/LDR/Comparator/README.md b/Electronics101/LDR/Comparator/README.md index 634a15322..3ec6c3f27 100644 --- a/Electronics101/LDR/Comparator/README.md +++ b/Electronics101/LDR/Comparator/README.md @@ -38,7 +38,7 @@ Note: the circuit as described does not follow ### Behaviour -Here's a sample trace taken with [LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/). +Here's a sample trace taken with [LEAP#090 PlotNValues (a simple Processing sketch)](../../../playground/PlotNValues/). The lower plot is the voltage at the base of the LDR as I roll a ball in the vicinity of the LDR. The upper plot is the comparator output demonstrating how it flips high when the light level goes below the preset threshold. diff --git a/Electronics101/LDR/StereoTripDetector/README.md b/Electronics101/LDR/StereoTripDetector/README.md index d83e99803..dc3dbebc8 100644 --- a/Electronics101/LDR/StereoTripDetector/README.md +++ b/Electronics101/LDR/StereoTripDetector/README.md @@ -38,7 +38,9 @@ Note: the circuit as described does not follow ### Behaviour -For plots of received light to triggering, see the [LDR Comparator project](https://leap.tardate.com/electronics101/ldr/comparator/). It is pretty much identical +For plots of received light to triggering, see the +[LDR Comparator project](../Comparator/). +It is pretty much identical to this circuit except uses a single LDR only and monitors results with an Arduino. ### Construction @@ -53,4 +55,4 @@ to this circuit except uses a single LDR only and monitors results with an Ardui * [LM324 datasheet](https://www.futurlec.com/Linear/LM324N.shtml) - Low Power Quad Op-Amp * [Properly terminating an unused op amp](http://www.electronicproducts.com/Analog_Mixed_Signal_ICs/Amplifiers/Properly_terminating_an_unused_op_amp.aspx) -* A similar application of an OpAmp is in "Project 06 - Hi-Lo Trip Detector" from [Beginning Digital Electronics Through Projects](http://www.amazon.com/gp/product/0750672692/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0750672692&linkCode=as2&tag=itsaprli-20&linkId=S6GVIV6DHZABMHTA) +* A similar application of an OpAmp is in "Project 06 - Hi-Lo Trip Detector" from [Beginning Digital Electronics Through Projects](../../../books/beginning-digital-electronics-through-projects/) diff --git a/Electronics101/LM723/HighVoltageRegulator/README.md b/Electronics101/LM723/HighVoltageRegulator/README.md index ffcfa70ba..53ccc0aca 100644 --- a/Electronics101/LM723/HighVoltageRegulator/README.md +++ b/Electronics101/LM723/HighVoltageRegulator/README.md @@ -14,7 +14,7 @@ This little project is a straight-forward build of the reference circuit for hig Some great resources for the LM723 are: -* [The Art of Electronics](https://www.goodreads.com/book/show/569775.The_Art_of_Electronics) - Chapter 6, Second Edition +* [The Art of Electronics](../../../books/the-art-of-electronics/) - Chapter 6, Second Edition * [Bob Widlar's 723 Chip Toolkit Adventures](https://www.boldport.com/blog/bob-widlar-723) - Jenny List, Boldport blog See also [LEAP#383 LM723/LowVoltageRegulator](../LowVoltageRegulator) for more background and resources for the LM723. @@ -75,4 +75,4 @@ As I reduce the supply voltage, it starts to lose regulation at about 10.6V. ## Credits and References * [LM723 Datasheet](https://www.futurlec.com/Linear/LM723CN.shtml) -* [The Art of Electronics](https://www.goodreads.com/book/show/569775.The_Art_of_Electronics)- Chapter 6, Second Edition +* [The Art of Electronics](../../../books/the-art-of-electronics/)- Chapter 6, Second Edition diff --git a/Electronics101/LM723/LowVoltageRegulator/README.md b/Electronics101/LM723/LowVoltageRegulator/README.md index e1785bc25..9f00de760 100644 --- a/Electronics101/LM723/LowVoltageRegulator/README.md +++ b/Electronics101/LM723/LowVoltageRegulator/README.md @@ -12,7 +12,7 @@ it is widely discussed and documented, so makes an excellent learning tool. Some great resources for the LM723 are: -* [The Art of Electronics](https://www.goodreads.com/book/show/569775.The_Art_of_Electronics) - Chapter 6, Second Edition +* [The Art of Electronics](../../../books/the-art-of-electronics/) - Chapter 6, Second Edition * [Bob Widlar's 723 Chip Toolkit Adventures](https://www.boldport.com/blog/bob-widlar-723) - Jenny List, Boldport blog This little project is a first dip into the device, with a straight-forward build of the reference circuit for low voltage regulation. @@ -88,4 +88,4 @@ As I reduce the supply voltage, it starts to lose regulation at about 8.9V. * [LM723 Datasheet](https://www.futurlec.com/Linear/LM723CN.shtml) * [Bob Widlar's 723 Chip Toolkit Adventures](https://www.boldport.com/blog/bob-widlar-723) - Jenny List, Boldport blog -* [The Art of Electronics](https://www.goodreads.com/book/show/569775.The_Art_of_Electronics)- Chapter 6, Second Edition +* [The Art of Electronics](../../../books/the-art-of-electronics/)- Chapter 6, Second Edition diff --git a/Electronics101/Mixers/README.md b/Electronics101/Mixers/README.md index f5c344c9d..d723d9e22 100644 --- a/Electronics101/Mixers/README.md +++ b/Electronics101/Mixers/README.md @@ -20,18 +20,16 @@ And the output: * IF - intermediate frequency. -Section 5 of [Experimental Methods in RF Design](https://www.goodreads.com/book/show/2386153.Experimental_Methods_in_RF_Design) +Section 5 of [Experimental Methods in RF Design](../../books/experimental-methods-in-rf-design/) provides thorough and very understandable introduction to mixers of various types. Some mixer implementations I have experimented with: * [LEAP#327](./RFDiodeRing) - double-balanced diode ring mixer - ### Theoretical Basis - -``` +```c cos(ω1t)cos(ω2t) = 1/2cos(ω1t - ω2t) + 1/2cos(ω1t + ω2t) f(if) = ± m.f(rf) ± m.f(lo) ``` @@ -43,7 +41,6 @@ f(if) = ± m.f(rf) ± m.f(lo) | 3rd order | 2f(lo) - f(rf), 2f(lo) + f(rf), f(lo) - 2f(rf), f(lo) + 2f(rf) | | ... | etc | - Typically want the upper or lower 2nd order products from the IF. * the upper product (sum) is often called upper sideband, and is probably the one we want @@ -52,7 +49,7 @@ Typically want the upper or lower 2nd order products from the IF. ### Balanced Designs So-called "balanced mixers" eliminate feed-through of the input signals. -A double-blanaced design means both inputs (1st order products) are eliminated from the output. +A double-balanced design means both inputs (1st order products) are eliminated from the output. ### Filtering @@ -64,8 +61,6 @@ Filters are often used in practical designs, potentially on all ports: * LO - to eliminate oscillator harmonics * IF - to select the desired product. - - ### Active and Passive Mixers can be classified as active or passive: @@ -82,18 +77,15 @@ single-ended RF, LO, and IF port connections * [SA602A](http://www.nxp.com/docs/en/data-sheet/SA602A.pdf) - low-power VHF monolithic double-balanced mixer with input amplifier, on-board oscillator, and voltage regulator -Mixers are also available as packaged/connectorised units, for example: +Mixers are also available as packaged units, for example: * [T3-03 High Linearity Triple Balanced RF Mixer](http://www.markimicrowave.com/T3-03-High-Linearity-Triple-Balanced-RF-Mixer-P1.aspx) - - - ## Credits and References * [Frequency mixer](https://en.wikipedia.org/wiki/Frequency_mixer) - wikipedia * [The Basics of Mixers](https://www.digikey.com/en/articles/techzone/2011/oct/the-basics-of-mixers) - digikey -* [Experimental Methods in RF Design](https://www.goodreads.com/book/show/2386153.Experimental_Methods_in_RF_Design) - chapter 5.2 +* [Experimental Methods in RF Design](../../books/experimental-methods-in-rf-design/) - chapter 5.2 * [#83: Basics of RF Mixers in Radio Receivers / Mixer Tutorial / Frequency Conversion](https://www.youtube.com/watch?v=Mm7WfVzr1ao) - w2aew * [RF Mixers: Three Options](https://www.youtube.com/watch?v=8q7GaTYpHn0) - Stan Gibilisco * [LT5560 info and datasheet](https://www.digikey.com/product-detail/en/LT5560EDD%23PBF/LT5560EDD%23PBF-ND/1620364) diff --git a/Electronics101/Mixers/RFDiodeRing/.catalog_metadata b/Electronics101/Mixers/RFDiodeRing/.catalog_metadata index 61b2d2238..1eba2d07c 100644 --- a/Electronics101/Mixers/RFDiodeRing/.catalog_metadata +++ b/Electronics101/Mixers/RFDiodeRing/.catalog_metadata @@ -1,6 +1,6 @@ { "id": "#327", - "name": "Mixers/RFDiodeRing", + "name": "RF Diode Ring Mixer", "description": "a diode ring double-balanced frequency mixer", "categories": "Radio, Mixers", "relative_path": "Electronics101/Mixers/RFDiodeRing", diff --git a/Electronics101/Mixers/RFDiodeRing/README.md b/Electronics101/Mixers/RFDiodeRing/README.md index e324ed20f..ea2f80075 100644 --- a/Electronics101/Mixers/RFDiodeRing/README.md +++ b/Electronics101/Mixers/RFDiodeRing/README.md @@ -1,4 +1,4 @@ -# #327 Mixers/RFDiodeRing +# #327 RF Diode Ring Mixer A diode ring double-balanced frequency mixer. @@ -7,9 +7,9 @@ A diode ring double-balanced frequency mixer. ## Notes My build here is inspired by another great tutorial from w2aew - -[#167: How a Diode Ring Mixer works | Mixer operation theory and measurement](https://www.youtube.com/watch?v=junuEwmQVQ8). +[#167: How a Diode Ring Mixer works - Mixer operation theory and measurement](https://www.youtube.com/watch?v=junuEwmQVQ8). -Section 5.2 of [Experimental Methods in RF Design](https://www.goodreads.com/book/show/2386153.Experimental_Methods_in_RF_Design) +Section 5.2 of [Experimental Methods in RF Design](../../../books/experimental-methods-in-rf-design/) includes a complete evolution of the diode ring mixer and a very clear explanation of how it works. See [LEAP#326](../) for my notes on mixer theory and types. @@ -36,7 +36,6 @@ This works pretty well, alough my signals are quite noisy. ![scope_test_1_fft](./assets/scope_test_1_fft.gif?raw=true) - ### Test 2: 5MHz LO + 10MHz RF With the LO as an even factor of the RF signal, I'm seeing what I'd expect here: very strong sum and difference signals and no other products @@ -45,7 +44,6 @@ With the LO as an even factor of the RF signal, I'm seeing what I'd expect here: ![scope_test_2_fft](./assets/scope_test_2_fft.gif?raw=true) - ### Test 2: 18MHz LO + 2MHz RF With the LO and RF frequencies separated significantly, sum and difference are strong over other products. @@ -54,7 +52,6 @@ With the LO and RF frequencies separated significantly, sum and difference are s ![scope_test_3_fft](./assets/scope_test_3_fft.gif?raw=true) - ## Construction I'm using 1N5711 small signal schottky diodes (as did w2aew), which are well suited to this application: @@ -73,8 +70,8 @@ For the transformers, I'm using 68-26 iron ferrite toroids with 30AWG solid wire ## Credits and References * [LEAP#326 Mixers](../) - my notes on mixer theory and types -* [Experimental Methods in RF Design](https://www.goodreads.com/book/show/2386153.Experimental_Methods_in_RF_Design) - chapter 5.2 -* [#167: How a Diode Ring Mixer works | Mixer operation theory and measurement](https://www.youtube.com/watch?v=junuEwmQVQ8) - w2aew +* [Experimental Methods in RF Design](../../../books/experimental-methods-in-rf-design/) - chapter 5.2 +* [#167: How a Diode Ring Mixer works - Mixer operation theory and measurement](https://www.youtube.com/watch?v=junuEwmQVQ8) - w2aew * [#166: How to wind a trifilar toroid transformer for a diode ring mixer](https://www.youtube.com/watch?v=a8ViWS61hsU) - w2aew * [1N5711 datasheet](https://www.futurlec.com/Diodes/1N5711.shtml) * [..as mentioned on my blog](https://blog.tardate.com/2017/07/leap327-diode-ring-mixer.html) diff --git a/Electronics101/Monostable122/README.md b/Electronics101/Monostable122/README.md index 0530be46f..7a3b331e7 100644 --- a/Electronics101/Monostable122/README.md +++ b/Electronics101/Monostable122/README.md @@ -27,8 +27,7 @@ so they will toggle as the pulse goes high and low respectively. ![The Schematic](./assets/Monostable122_schematic.jpg?raw=true) - ## Credits and References * [74LS122 Datasheet](https://www.futurlec.com/74LS/74LS122.shtml) -* A similar circuit can be found in "Project 18 - 74LS122 Monostable" from [Beginning Digital Electronics Through Projects](http://www.amazon.com/gp/product/0750672692/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0750672692&linkCode=as2&tag=itsaprli-20&linkId=S6GVIV6DHZABMHTA) +* A similar circuit can be found in "Project 18 - 74LS122 Monostable" from [Beginning Digital Electronics Through Projects](../../books/beginning-digital-electronics-through-projects/) diff --git a/Electronics101/NOR7402/README.md b/Electronics101/NOR7402/README.md index 53ee26c2f..83cdbebc6 100644 --- a/Electronics101/NOR7402/README.md +++ b/Electronics101/NOR7402/README.md @@ -30,7 +30,8 @@ The NOR gate output drives an LED and is also measured by the Arduino with an an ### Behaviour -Here's a sample trace taken with [LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/). +Here's a sample trace taken with +[LEAP#090 PlotNValues (a simple Processing sketch)](../../playground/PlotNValues/). The lower two traces are the gate inputs, and the upper trace is the gate output. The HIGH output voltage measures at 3.42V (a tad over typical value according to the datasheet) @@ -47,4 +48,4 @@ The HIGH output voltage measures at 3.42V (a tad over typical value according to ## Credits and References * [74LS02 datasheet](https://www.futurlec.com/74LS/74LS02.shtml) -* [7400 series](http://en.wikipedia.org/wiki/7400_series) +* [7400 series](../../notebook/logic_families/) diff --git a/Electronics101/NonInverting324/README.md b/Electronics101/NonInverting324/README.md index 278cdeb32..b4449bbd7 100644 --- a/Electronics101/NonInverting324/README.md +++ b/Electronics101/NonInverting324/README.md @@ -28,7 +28,8 @@ the upper trace is the amplified signal output from the OpAmp: The Arduino only acts as a measurement device in this circuit. -[LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/) reads the data from the serial port and plots the input and output value over time, with some coloration effects thrown in for good measure. In other words, we're using Arduino and Processing as a basic oscilloscope! And it kind of works, mainly because the frequency is so low. +[LEAP#090 PlotNValues (a simple Processing sketch)](../../playground/PlotNValues/) +reads the data from the serial port and plots the input and output value over time, with some coloration effects thrown in for good measure. In other words, we're using Arduino and Processing as a basic oscilloscope! And it kind of works, mainly because the frequency is so low. ![The Breadboard](./assets/NonInverting324_bb.jpg?raw=true) diff --git a/Electronics101/OpAmp/Transconductance/README.md b/Electronics101/OpAmp/Transconductance/README.md index 3b0509c80..c9e0e3d37 100644 --- a/Electronics101/OpAmp/Transconductance/README.md +++ b/Electronics101/OpAmp/Transconductance/README.md @@ -13,7 +13,7 @@ Here's a quick demo A Transconductance Amplifier is a circuit where differential input voltage produces a proportional output current. Specialised operational transconductance amplifiers such as the CA3080 used to be produced. The circuit here demonstrates how the effect can be achieved with a standard op-amp. The circuit inspiration comes from the -[Engineer's Mini-Notebook - Op Amp IC Circuits](https://www.goodreads.com/book/show/12287008-engineer-s-mini-notebook-op-amp-circuits). +[Engineer's Mini-Notebook - Op Amp IC Circuits](../../../books/engineers-mini-notebook-op-amp-circuits/). ## Circuit Theory @@ -156,5 +156,5 @@ however there are limitations particualrly in terms of the operational voltage r * [LM741 Datasheet](https://www.futurlec.com/Linear/LM741CN.shtml) * [1N4148 Datasheet](https://www.futurlec.com/Diodes/1N4148.shtml) * [1N4728 Datasheet](https://www.futurlec.com/Diodes/1N4728.shtml) -* [Engineer's Mini-Notebook - Op Amp IC Circuits](https://www.goodreads.com/book/show/12287008-engineer-s-mini-notebook-op-amp-circuits) - by Forrest M. Mims III, p14 Transconductance Amplifier +* [Engineer's Mini-Notebook - Op Amp IC Circuits](../../../books/engineers-mini-notebook-op-amp-circuits/) - p14 Transconductance Amplifier * [Operational transconductance amplifier](https://en.wikipedia.org/wiki/Operational_transconductance_amplifier) - wikipedia diff --git a/Electronics101/OpAmp/TwinTeeOscillator/README.md b/Electronics101/OpAmp/TwinTeeOscillator/README.md index d090e47d3..7250735dc 100644 --- a/Electronics101/OpAmp/TwinTeeOscillator/README.md +++ b/Electronics101/OpAmp/TwinTeeOscillator/README.md @@ -59,7 +59,7 @@ Here's the basic layout I used. It includes: With a 5V supply and R1 = 4.7kΩ, I get oscillation at about 3.084kHz. The wave is not a perfect sine wave, with two main distortions present: -* noticable cross-over distortion in both directions +* noticeable cross-over distortion in both directions * clipping at the top of the wave if R2 not adjusted correctly ![scope_pb_5v_4k7](./assets/scope_pb_5v_4k7.gif?raw=true) @@ -78,4 +78,4 @@ Some measurements with a selection of R1 values: * [TL072 datasheet](https://www.futurlec.com/Linear/TL072CP.shtml) * [Twin-T oscillator](https://en.wikipedia.org/wiki/RC_oscillator#Twin-T_oscillator) - wikipedia -* [Engineer's Mini-Notebook - Op Amp IC Circuits](https://www.goodreads.com/book/show/12287008-engineer-s-mini-notebook-op-amp-circuits) - p47 Sine Wave Oscillator +* [Engineer's Mini-Notebook - Op Amp IC Circuits](../../../books/engineers-mini-notebook-op-amp-circuits/) - p47 Sine Wave Oscillator diff --git a/Electronics101/OpAmpTimer/README.md b/Electronics101/OpAmpTimer/README.md index a235fa3d4..8457ba086 100644 --- a/Electronics101/OpAmpTimer/README.md +++ b/Electronics101/OpAmpTimer/README.md @@ -22,7 +22,7 @@ R1 is included to set a minimum resistance and avoid a short if R4 is dialed to The time it takes to switch can be determined from the RC complete response formula. Assuming a 5V supply: -``` +```sh v(t) = v(∞) + [v(0) - v(∞)] e^(-t/𝛕) 2.5 = 5 - 5 e^(-t/𝛕) 2.5/5 = e^(-t/𝛕) @@ -43,7 +43,8 @@ With a 5V supply, the particular unit used here only measures a 2.6V swing: * output low: 1.6V * output high: 4.2V -Here's a sample trace of the circuit behaviour recorded using [LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/) +Here's a sample trace of the circuit behaviour recorded using +[LEAP#090 PlotNValues (a simple Processing sketch)](../../playground/PlotNValues/): * upper trace is the op-amp output * lower trace is the non-inverting input (i.e. C1 voltage) diff --git a/Electronics101/Oscillators/AstableOpamp/README.md b/Electronics101/Oscillators/AstableOpamp/README.md index 2acc6efc1..8c7020601 100644 --- a/Electronics101/Oscillators/AstableOpamp/README.md +++ b/Electronics101/Oscillators/AstableOpamp/README.md @@ -30,7 +30,7 @@ The lower trace is at the inverted input, the upper trace is the output. The Arduino only acts as a measurement device in this circuit. -[LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/) reads the data from the serial port and plots the input and output value over time, with some coloration effects thrown in for good measure. In other words, we're using Arduino and Processing as a basic oscilloscope! And it kind of works, mainly because the frequency is so low. +[LEAP#090 PlotNValues (a simple Processing sketch)](../../../playground/PlotNValues/) reads the data from the serial port and plots the input and output value over time, with some coloration effects thrown in for good measure. In other words, we're using Arduino and Processing as a basic oscilloscope! And it kind of works, mainly because the frequency is so low. ![The Breadboard](./assets/AstableOpamp_bb.jpg?raw=true) diff --git a/Electronics101/Oscillators/CommonEmitterHartley/README.md b/Electronics101/Oscillators/CommonEmitterHartley/README.md index b9257d23f..c965c74e7 100644 --- a/Electronics101/Oscillators/CommonEmitterHartley/README.md +++ b/Electronics101/Oscillators/CommonEmitterHartley/README.md @@ -13,7 +13,6 @@ There are many variations in design possible. In this case I'm using one of the most straight-forward designs based on a project described on [http://www.learnabout-electronics.org](http://www.learnabout-electronics.org/Oscillators/osc22.php). - Main benefits of a Hartley oscillator: * wide tuning range more easily realised than with Colpitts @@ -23,7 +22,6 @@ Main issues with Hartley oscillators: * at the higher limits of this range and above, The Colpitts oscillator is usually preferred - ## Theoretical Frequency Given by: @@ -35,7 +33,6 @@ Where L = L1 + L2. If significant mutual inductance is present (e.g. when induct In the tests that follow, experimental results are quite wide of the mark (except around 1.4MHz). This may largely be due to component tolerances(?) - ## Schematic The tank circuit comprises: @@ -48,7 +45,6 @@ I used 1/4W RF chokes for the inductors and ceramic capacitors ![Schematic](./assets/CommonEmitterHartley_schematic.jpg?raw=true) - ## Breadboard Construction First testing with a breadboard build.. @@ -73,7 +69,6 @@ FFT for C1=100pF. In all cases, significant harmonic content is apparent in the ![scope_bb_100pF](./assets/scope_bb_100pF_fft.gif?raw=true) - ## Protoboard Construction Now putting the circuit on a piece of protoboard, with C1 values selected with a jumper: @@ -105,10 +100,8 @@ Scope trace for C1=100pF: ![scope_pb_100pF](./assets/scope_pb_100pF.gif?raw=true) - ## Improving the Waveform - Reducing R3 to [17Ω](https://toolbox.tardate.com/?formula=22%7C68#ResistorCalculator) (put putting a 68Ω resistor in parallel) eliminates the worst (clipping) distortion especially at higher frequencies. Some revised results with this configuration: @@ -130,12 +123,11 @@ Scope trace for C1=100pF, R3=17Ω: ![scope_pb_v2_100pF](./assets/scope_pb_v2_100pF.gif?raw=true) - ## Credits and References -* [The Hartley Oscillator](http://www.learnabout-electronics.org/Oscillators/osc21.php) - www.learnabout-electronics.org +* [The Hartley Oscillator](http://www.learnabout-electronics.org/Oscillators/osc21.php) - * [Hartley Oscillator](https://en.wikipedia.org/wiki/Hartley_oscillator) - wikipedia -* [Experimental Methods in RF Design](https://www.goodreads.com/book/show/2386153.Experimental_Methods_in_RF_Design) - section 4.2 +* [Experimental Methods in RF Design](../../../books/experimental-methods-in-rf-design/) - section 4.2 * [Hartley Oscillator - Working, Design using Op-Amp](https://www.electronicshub.org/hartley-oscillator/) * [2N3904 datasheet](https://www.futurlec.com/Transistors/2N3904.shtml) * [..as mentioned on my blog](https://blog.tardate.com/2018/10/leap418-hartley-oscillator.html) diff --git a/Electronics101/Oscillators/HighFrequencyOpAmpOscillators/README.md b/Electronics101/Oscillators/HighFrequencyOpAmpOscillators/README.md index 0717347e7..b37818ac8 100644 --- a/Electronics101/Oscillators/HighFrequencyOpAmpOscillators/README.md +++ b/Electronics101/Oscillators/HighFrequencyOpAmpOscillators/README.md @@ -8,7 +8,7 @@ Here's a quick demo of the circuit in action: ## Notes -I've previously wired up a classic single-rail op-amp oscillator in the [LEAP#039 Astable Opamp Oscillators](https://leap.tardate.com/electronics101/oscillators/astableopamp/) project, +I've previously wired up a classic single-rail op-amp oscillator in the [LEAP#039 Astable Opamp Oscillators](../AstableOpamp/) project, but this was running at very low frequencies, and its behaviour matched the theory quite closely. The essence of an op-amp oscillator is to use an RC circuit to throw an op-amp comparator from one rail to the other. diff --git a/Electronics101/Oscillators/NORGateOscillator/README.md b/Electronics101/Oscillators/NORGateOscillator/README.md index 16bdd9b20..17d4270a6 100644 --- a/Electronics101/Oscillators/NORGateOscillator/README.md +++ b/Electronics101/Oscillators/NORGateOscillator/README.md @@ -11,11 +11,14 @@ Here's a quick video of the circuit in action: ## Notes This circuit demonstrates a free-running oscillator based on two NOR gates - using 2/4 of a 74LS02. -I got the idea from [Beginning Digital Electronics Through Projects](http://www.amazon.com/gp/product/0750672692/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0750672692&linkCode=as2&tag=itsaprli-20&linkId=S6GVIV6DHZABMHTA) which features a NOR gate metronome. The circuit needed a few tweaks to get running with a different NOR IC and supply voltage. +I got the idea from +[Beginning Digital Electronics Through Projects](../../../books/beginning-digital-electronics-through-projects/) +which features a NOR gate metronome. The circuit needed a few tweaks to get running with a different NOR IC and supply voltage. It's quite an interesting circuit, as you wouldn't necessarily think that two NOR gates could form a reliable oscillator. The basic operating principle (as far as I understand it so far): + * when NOR(1) output is high, NOR(2) input is high and output low, and vice versa * the switching of the NOR(1) gate input is delayed by the RC network: * when NOR(2) output is low, C1 charges through the R4/R5 series from the NOR(1) high output @@ -24,11 +27,13 @@ The basic operating principle (as far as I understand it so far): * rinse and repeat The Arduino is not really a core part of the circuit. It only does the following: + * provides +5V power supply (for convenience) * measures the input and output voltages for plotting -Here's a sample trace recorded using the [PlotNValues](https://leap.tardate.com/playground/plotnvalues/) sketch. +Here's a sample trace recorded using the [PlotNValues](../../../playground/PlotNValues/) sketch. It has four traces, from top to bottom: + * output of the first OR gate (which I belatedly realised was exactly the same node as the first trace, hence excluded from the schematics) * inputs to the first OR gate * output of the second OR gate (tapped as the main output) @@ -47,4 +52,4 @@ It has four traces, from top to bottom: ## Credits and References * [74LS02 datasheet](https://www.futurlec.com/74LS/74LS02.shtml) -* A similar circuit may be found in "Project 17 - NOR Gate Metronome" from [Beginning Digital Electronics Through Projects](http://www.amazon.com/gp/product/0750672692/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0750672692&linkCode=as2&tag=itsaprli-20&linkId=S6GVIV6DHZABMHTA) +* A similar circuit may be found in "Project 17 - NOR Gate Metronome" from [Beginning Digital Electronics Through Projects](../../../books/beginning-digital-electronics-through-projects/) diff --git a/Electronics101/Oscillators/ProgrammableFrequencyReference/README.md b/Electronics101/Oscillators/ProgrammableFrequencyReference/README.md index b66200d7c..fd37a13ed 100644 --- a/Electronics101/Oscillators/ProgrammableFrequencyReference/README.md +++ b/Electronics101/Oscillators/ProgrammableFrequencyReference/README.md @@ -7,7 +7,7 @@ Build and test a programmable frequency reference capable of dialing in 4095 dis ## Notes I discovered this interesting little circuit in -[ARRL's Hands-on Radio Experiments Volume 2](https://www.goodreads.com/book/show/40198290-arrl-s-hands-on-radio-experiments-volume-2) by H. Ward Silver. +[ARRL's Hands-on Radio Experiments Volume 2](../../../books/arrl-hands-on-radio-experiments-vol2/) by H. Ward Silver. It is Experiment 97, p91. ### How if Works @@ -111,7 +111,7 @@ DIP 000000000111b, expected output frequency 250kHz: ## Credits and References -* [ARRL's Hands-on Radio Experiments Volume 2](https://www.goodreads.com/book/show/40198290-arrl-s-hands-on-radio-experiments-volume-2) - H. Ward Silver, Experiment 97, p91 +* [ARRL's Hands-on Radio Experiments Volume 2](../../../books/arrl-hands-on-radio-experiments-vol2/) - H. Ward Silver, Experiment 97, p91 * [CD4001 datasheet](https://www.futurlec.com/4000Series/CD4001.shtml) * [CD4027 datasheet](https://www.futurlec.com/4000Series/CD4027.shtml) Dual J-K Master/Slave Flip-Flop with Set and Reset * [CD4040 datasheet](https://www.futurlec.com/4000Series/CD4040.shtml) diff --git a/Electronics101/Oscillators/SchmittOscillator/README.md b/Electronics101/Oscillators/SchmittOscillator/README.md index f760280ca..352cc082a 100644 --- a/Electronics101/Oscillators/SchmittOscillator/README.md +++ b/Electronics101/Oscillators/SchmittOscillator/README.md @@ -23,7 +23,7 @@ The frequency of the oscillation is calculated as The oscillating output from the inverter is used to drive the base of a general-purpose NPN transistor, switching a LED on and off in turn. The transistor is used to isolate the 74LS14 from the load, as it is not designed to directly handle any significant current. -Here's a sample trace recorded using [LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/) to +Here's a sample trace recorded using [LEAP#090 PlotNValues (a simple Processing sketch)](../../../playground/PlotNValues/) to read the data collected by the [SchmittOscillator.ino](./SchmittOscillator.ino) program. The lower trace is the input, and the upper trace is the output of the inverter: @@ -38,7 +38,7 @@ Apparently 74HC14 has a duty cycle more like 50% and can handle higher values of See [Schmitt Waveform Generators](https://www.electronics-tutorials.ws/waveforms/generators.html) for more, and [Circuit Properties of LS and HC Digital Logic](https://mysite.du.edu/~etuttle/electron/elect13.htm) for comparison of LS and HC characteristics. -See the [RingOscillator](https://leap.tardate.com/electronics101/oscillators/ringoscillator/ ) project for a related application of inverters in waveform generation. +See the [RingOscillator](../RingOscillator/) project for a related application of inverters in waveform generation. ### Construction diff --git a/Electronics101/Power/LinearRegulators/LM317/README.md b/Electronics101/Power/LinearRegulators/LM317/README.md index d11087e48..ce6907ce3 100644 --- a/Electronics101/Power/LinearRegulators/LM317/README.md +++ b/Electronics101/Power/LinearRegulators/LM317/README.md @@ -59,7 +59,7 @@ For more detail, John Errington's Experiments with an Arduino includes an excell The Arduino only acts as a measurement device in this circuit. Analog pin is used to read Vout via a voltage divider (Rd1/Rd2). The voltage divider is to ensure that the Arduino never sees more than half the battery voltage (4.5V) on the analog pin. -[LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/) reads the data from the serial port and plots the input and output value over time, with some coloration effects thrown in for good measure. In other words, we're using Arduino and Processing as a basic oscilloscope! And it kind of works, mainly because the frequency is so low. +[LEAP#090 PlotNValues (a simple Processing sketch)](../../../../playground/PlotNValues/) reads the data from the serial port and plots the input and output value over time, with some coloration effects thrown in for good measure. In other words, we're using Arduino and Processing as a basic oscilloscope! And it kind of works, mainly because the frequency is so low. ![The Breadboard](./assets/LM317_bb.jpg?raw=true) diff --git a/Electronics101/Power/LinearRegulators/LM7805/README.md b/Electronics101/Power/LinearRegulators/LM7805/README.md index f62e751e9..8204d6234 100644 --- a/Electronics101/Power/LinearRegulators/LM7805/README.md +++ b/Electronics101/Power/LinearRegulators/LM7805/README.md @@ -38,7 +38,7 @@ For more detail, John Errington's Experiments with an Arduino includes an excell The Arduino only acts as a measurement device in this circuit. Analog pin is used to read Vout via a voltage divider (Rd1/Rd2). The voltage divider is to ensure that the Arduino never sees more than half the battery voltage (4.5V) on the analog pin. -[LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/) reads the data from the serial port and plots the input and output value over time, with some coloration effects thrown in for good measure. In other words, we're using Arduino and Processing as a basic oscilloscope! And it kind of works, mainly because the frequency is so low. +[LEAP#090 PlotNValues (a simple Processing sketch)](../../../../playground/PlotNValues/) reads the data from the serial port and plots the input and output value over time, with some coloration effects thrown in for good measure. In other words, we're using Arduino and Processing as a basic oscilloscope! And it kind of works, mainly because the frequency is so low. ![The Breadboard](./assets/LM7805_bb.jpg?raw=true) diff --git a/Electronics101/Power/LinearRegulators/Zener/README.md b/Electronics101/Power/LinearRegulators/Zener/README.md index 1e8e70217..ed4549637 100644 --- a/Electronics101/Power/LinearRegulators/Zener/README.md +++ b/Electronics101/Power/LinearRegulators/Zener/README.md @@ -39,7 +39,7 @@ For more detail, John Errington's Experiments with an Arduino includes an excell The Arduino only acts as a measurement device in this circuit. Analog pin is used to read Vout via a voltage divider (Rd1/Rd2). The voltage divider is to ensure that the Arduino never sees more than half the battery voltage (4.5V) on the analog pin. -[LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/) reads the data from the serial port and plots the input and output value over time, with some coloration effects thrown in for good measure. In other words, we're using Arduino and Processing as a basic oscilloscope! And it kind of works, mainly because the frequency is so low. +[LEAP#090 PlotNValues (a simple Processing sketch)](../../../../playground/PlotNValues/) reads the data from the serial port and plots the input and output value over time, with some coloration effects thrown in for good measure. In other words, we're using Arduino and Processing as a basic oscilloscope! And it kind of works, mainly because the frequency is so low. ![The Breadboard](./assets/Zener_bb.jpg?raw=true) diff --git a/Electronics101/Power/MB102BreadboardPowerSupply/README.md b/Electronics101/Power/MB102BreadboardPowerSupply/README.md index 9f06055c6..b752e2f88 100644 --- a/Electronics101/Power/MB102BreadboardPowerSupply/README.md +++ b/Electronics101/Power/MB102BreadboardPowerSupply/README.md @@ -50,7 +50,7 @@ The Arduino only acts as a measurement device in this circuit. Analog pins are used to read Vout via voltage dividers (Rd1/Rd2 and Rd3/Rd4). The voltage dividers are to ensure that the Arduino never sees more than half the battery voltage (4.5V) on the analog pin. -[LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/) reads the data from the serial port and plots the input and output value over time, with some coloration effects thrown in for good measure. In other words, we're using Arduino and Processing as a basic oscilloscope! And it kind of works, mainly because the frequency is so low. +[LEAP#090 PlotNValues (a simple Processing sketch)](../../../playground/PlotNValues/) reads the data from the serial port and plots the input and output value over time, with some coloration effects thrown in for good measure. In other words, we're using Arduino and Processing as a basic oscilloscope! And it kind of works, mainly because the frequency is so low. ![The Breadboard](./assets/MB102BreadboardPowerSupply_bb.jpg?raw=true) diff --git a/Electronics101/Power/SwitchModePowerSupplies/BasicInvertingBuckBoostAvrControl/.catalog_metadata b/Electronics101/Power/SwitchModePowerSupplies/BasicInvertingBuckBoostAvrControl/.catalog_metadata index ec4f12b56..3b03f4172 100644 --- a/Electronics101/Power/SwitchModePowerSupplies/BasicInvertingBuckBoostAvrControl/.catalog_metadata +++ b/Electronics101/Power/SwitchModePowerSupplies/BasicInvertingBuckBoostAvrControl/.catalog_metadata @@ -1,6 +1,6 @@ { "id": "#288", - "name": "Basic Inverting Buck-Boost AVR-control", + "name": "Basic AVR-controlled Inverting Buck-boost", "description": "build and test an inverting buck-boost converter controlled by an ATtiny85", "categories": "Power, ATtiny, Arduino", "relative_path": "Electronics101/Power/SwitchModePowerSupplies/BasicInvertingBuckBoostAvrControl", diff --git a/Electronics101/Power/SwitchModePowerSupplies/BasicInvertingBuckBoostAvrControl/README.md b/Electronics101/Power/SwitchModePowerSupplies/BasicInvertingBuckBoostAvrControl/README.md index 97f4855c5..23bcad2fd 100644 --- a/Electronics101/Power/SwitchModePowerSupplies/BasicInvertingBuckBoostAvrControl/README.md +++ b/Electronics101/Power/SwitchModePowerSupplies/BasicInvertingBuckBoostAvrControl/README.md @@ -1,4 +1,4 @@ -# #288 BasicInvertingBuckBoostAvrControl +# #288 Basic AVR-controlled Inverting Buck-boost Build and test an inverting buck-boost converter controlled by an ATtiny85. @@ -35,7 +35,6 @@ This allows for a minimum voltage of around 1.7V. I've only breadboarded this so far, and it works reasonably well - at least as an investigation of how inverting buck-boost converters actually work. - ### PWM Control The [BasicInvertingBuckBoostAvrControl.ino](./BasicInvertingBuckBoostAvrControl.ino) sketch @@ -66,7 +65,6 @@ Settings (buck mode): Required duty cycle: - `D = Vout/(Vout - Vin) =` [42.86%](https://www.wolframalpha.com/input/?i=9V%2F(12V+-+-9V)) **Output ripple voltage:** @@ -75,17 +73,14 @@ Required duty cycle: `∆Vc = Ia * D / (fs * C) =` [0.05528mV](https://www.wolframalpha.com/input/?i=0.9mA+*+0.4286+%2F+(31.72kHz+*+220%C2%B5F)) - **Average input current:** `Is = Ia * D / (1 - D) =` [0.68mA](https://www.wolframalpha.com/input/?i=0.9mA+*+0.4286+%2F+(1+-+0.4286)) - **Average inductor current:** `Il = Ia / (1 - D) =` [1.58mA](https://www.wolframalpha.com/input/?i=0.9mA+%2F+(1+-+0.4286)) - **Inductor peak-peak ripple current:** `∆Ii = Vin * D / (fs * L) =` [4.913A](https://www.wolframalpha.com/input/?i=12V+*+0.4286+%2F+(31.72+kHz+*+33%C2%B5H)) @@ -95,6 +90,7 @@ That's quite a spike #### Actual Performance Here are some scope traces of the PWM and control signals in action. + * CH1 (yellow). * CH2 (blue) is the feedback FB input * CH3 (red) is the buffered VSET input @@ -107,7 +103,6 @@ VREF adjusted to a mid-point: ![scope_mid_out](./assets/scope_mid_out.gif?raw=true) - ## Construction ![Breadboard](./assets/BasicInvertingBuckBoostAvrControl_bb.jpg?raw=true) @@ -122,7 +117,7 @@ VREF adjusted to a mid-point: * [DIY Buck/Boost Converter (Flyback) || How to step up/down DC voltage efficiently](https://www.youtube.com/watch?v=ZiD_X-uo_TQ) - video by GreatScott! * [DIY Buck/Boost Converter](https://www.instructables.com/id/DIY-BuckBoost-Converter-Flyback/?ALLSTEPS) - instructables * [Buck–boost converter](https://en.wikipedia.org/wiki/Buck%E2%80%93boost_converter) - wikipedia -* [Power-Switching Converters](https://www.goodreads.com/book/show/1908950.Power_Switching_Converters) - Simon Ang, Alejandro Oliva +* [Power-Switching Converters](../../../../books/power-switching-converters/) - Simon Ang, Alejandro Oliva * [IRF3205 datasheet](http://parts.io/detail/215337130/IRF3205PBF) - parts.io * [LMC6482 datasheet](http://parts.io/detail/11889183/LMC6482AIMX%2FNOPB) - parts.io * [ATTINY85 datasheet](http://parts.io/detail/1452093/ATTINY85-20PU) - parts.io diff --git a/Electronics101/QuadLatch/README.md b/Electronics101/QuadLatch/README.md index cbb8e12d3..664e18524 100644 --- a/Electronics101/QuadLatch/README.md +++ b/Electronics101/QuadLatch/README.md @@ -22,7 +22,7 @@ Here's a sample trace, with Q1-4 plots stacked: ![processing trace](./assets/processing_trace.png?raw=true) -The trace is generated with [LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/). +The trace is generated with [LEAP#090 PlotNValues (a simple Processing sketch)](../../playground/PlotNValues/). It reads the data from the serial port and plots the input and output value over time, with some coloration effects thrown in for good measure. In other words, we're using Arduino and Processing as a basic oscilloscope! And it kind of works, mainly because the frequency is so low. diff --git a/Electronics101/RgbLedGlow/README.md b/Electronics101/RgbLedGlow/README.md index 9695a1469..6f49733ef 100644 --- a/Electronics101/RgbLedGlow/README.md +++ b/Electronics101/RgbLedGlow/README.md @@ -29,7 +29,7 @@ Basically, these are just three LED dies in the one package. ### Triangle Wave Generator -I borrowed the basic idea from [Breathing Lamp Effect](https://leap.tardate.com/electronics101/breathelamp/), and adjusted the components for best effect. +I borrowed the basic idea from [Breathing Lamp Effect](../BreatheLamp/), and adjusted the components for best effect. The three oscillators are independent and nominally run at the same frequency. But component tolerances introduce enough variation that the phase difference of the three oscillators drift slowly, resulting in a continually @@ -70,5 +70,5 @@ The [demo video](https://www.youtube.com/watch?v=9PpOC6A96As) is using the rever * [RGB LED datasheet](https://www.futurlec.com/LED/RGB5LED.shtml) * [LM358N Datasheet](https://www.futurlec.com/Linear/LM358N.shtml) * [RGB LED](https://www.aliexpress.com/item/50pcs-4-pins-5mm-RGB-LED-full-color-Tri-Color-Common-Anode-LED-Red-Green-Blue/32802378189.html) - aliexpress seller -* [Breathing Lamp Effect](https://leap.tardate.com/electronics101/breathelamp/) +* [Breathing Lamp Effect](../BreatheLamp/) * [..as mentioned on my blog](https://blog.tardate.com/2017/08/leap337-rgb-led-glow-with-opamps.html) diff --git a/Electronics101/RotaryEncoders/IncrementalTester/README.md b/Electronics101/RotaryEncoders/IncrementalTester/README.md index c8124e323..32202a9c4 100644 --- a/Electronics101/RotaryEncoders/IncrementalTester/README.md +++ b/Electronics101/RotaryEncoders/IncrementalTester/README.md @@ -17,7 +17,7 @@ Incremental [Rotary encoders](https://en.wikipedia.org/wiki/Rotary_encoder) typi [LEAP#118 RotaryEncoderMethods](../../../playground/RotaryEncoderMethods) demonstrates various ways of using a rotary encoder with an Arduino, but I'm inspired to throw away the microcontroller for a more basic demonstration after reading [Experiment 101: Rotary Encoders](http://www.arrl.org/files/file/protected/Group/Members/ProductReview/Hands%20On%20Radio%20June%202011.pdf) -from [ARRL Hands-on Radio (Vol 2)](https://www.goodreads.com/book/show/40198290-arrl-s-hands-on-radio-experiments-volume-2). +from [ARRL Hands-on Radio (Vol 2)](../../../books/arrl-hands-on-radio-experiments-vol2/). This project demonstrates a forward/reverse LED indicator using simple digital logic and a [mini rotary encoder (from seller on aliexpress)](https://www.aliexpress.com/item/10-pcs-Handle-Length-15MM-EC12-E12-Audio-Encoder-360-Degree-Rotary-Encoder-Tripod/32308666522.html). diff --git a/Electronics101/SchmittInverter/README.md b/Electronics101/SchmittInverter/README.md index a07aa0f6a..691848134 100644 --- a/Electronics101/SchmittInverter/README.md +++ b/Electronics101/SchmittInverter/README.md @@ -13,7 +13,7 @@ The input and output levels are read with analog input pins, and the values is e All unused outputs on the 74LS14 are left open circuit. Unused inputs are grounded, as is recommended to avoid unstable operation. -[LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/) reads the data from the serial port and plots the input and output value over time, with some coloration effects thrown in for good measure. In other words, we're using Arduino and Processing as a basic oscilloscope! And it kind of works, mainly because the frequency is so low. +[LEAP#090 PlotNValues (a simple Processing sketch)](../../playground/PlotNValues/) reads the data from the serial port and plots the input and output value over time, with some coloration effects thrown in for good measure. In other words, we're using Arduino and Processing as a basic oscilloscope! And it kind of works, mainly because the frequency is so low. Here's a sample trace. The lower trace is the signal input, and the upper trace is the output of the inverter. diff --git a/Electronics101/SchmittTrigger/BasicDiscrete/README.md b/Electronics101/SchmittTrigger/BasicDiscrete/README.md index 6194d1590..e7f2b050a 100644 --- a/Electronics101/SchmittTrigger/BasicDiscrete/README.md +++ b/Electronics101/SchmittTrigger/BasicDiscrete/README.md @@ -76,6 +76,6 @@ Arranged and put on a protoboard for final tests: * [Schmitt Trigger](https://en.wikipedia.org/wiki/Schmitt_trigger) - wikipedia * [Transistor Schmitt Trigger](http://howtomechatronics.com/how-it-works/electrical-engineering/transistor-schmitt-trigger/) -* [Art of Electronics](https://www.goodreads.com/book/show/569775.The_Art_of_Electronics) - Second Edition p232 +* [Art of Electronics](../../../books/the-art-of-electronics/) - Second Edition p232 * [2N3904 datasheet](https://www.futurlec.com/Transistors/2N3904.shtml) * [..as mentioned on my blog](https://blog.tardate.com/2017/06/leap317-discrete-schmitt-trigger.html) diff --git a/Electronics101/SchmittTrigger/PowerOkIndicator/README.md b/Electronics101/SchmittTrigger/PowerOkIndicator/README.md index ea5faa128..d9c73995a 100644 --- a/Electronics101/SchmittTrigger/PowerOkIndicator/README.md +++ b/Electronics101/SchmittTrigger/PowerOkIndicator/README.md @@ -12,7 +12,7 @@ A practical "power OK" indicator is a signal that ideally: * immediately asserts an "OFF" signal once power is removed The circuit demonstrated here is based on Experiment #125 from -[ARRL's Hands-On Radio Experiments Volume 3](https://www.goodreads.com/book/show/38899190-arrl-s-hands-on-radio-experiments-volume-3). +[ARRL's Hands-On Radio Experiments Volume 3](../../../books/arrl-hands-on-radio-experiments-vol3/). Features of the circuit: @@ -47,5 +47,5 @@ The on-off cycle is captured in the following scope trace where ## Credits and References -* [ARRL's Hands-On Radio Experiments Volume 3](https://www.goodreads.com/book/show/38899190-arrl-s-hands-on-radio-experiments-volume-3) Experiment #125 +* [ARRL's Hands-On Radio Experiments Volume 3](../../../books/arrl-hands-on-radio-experiments-vol3/) Experiment #125 * [74HC14 Datasheet](https://www.futurlec.com/74HC/74HC14SMD.shtml) diff --git a/Electronics101/SchmittTrigger/SwitchDebouncer/README.md b/Electronics101/SchmittTrigger/SwitchDebouncer/README.md index 8c2107a80..2de72fa26 100644 --- a/Electronics101/SchmittTrigger/SwitchDebouncer/README.md +++ b/Electronics101/SchmittTrigger/SwitchDebouncer/README.md @@ -12,7 +12,7 @@ The hysteresis of a Schmitt Trigger used in conjunction with a suitable RC filte * Schmitt Trigger hysteresis can help with ensuring positive on and off transitions The circuit demonstrated here is based on Experiment #125 from -[ARRL's Hands-On Radio Experiments Volume 3](https://www.goodreads.com/book/show/38899190-arrl-s-hands-on-radio-experiments-volume-3). +[ARRL's Hands-On Radio Experiments Volume 3](../../../books/arrl-hands-on-radio-experiments-vol3/). ## Construction @@ -43,5 +43,5 @@ The on-off cycle is captured in the following scope trace where ## Credits and References -* [ARRL's Hands-On Radio Experiments Volume 3](https://www.goodreads.com/book/show/38899190-arrl-s-hands-on-radio-experiments-volume-3) Experiment #125 +* [ARRL's Hands-On Radio Experiments Volume 3](../../../books/arrl-hands-on-radio-experiments-vol3/) Experiment #125 * [74HC14 Datasheet](https://www.futurlec.com/74HC/74HC14SMD.shtml) diff --git a/Electronics101/SwitchNPN/README.md b/Electronics101/SwitchNPN/README.md index 0d5ef98d3..2024d8200 100644 --- a/Electronics101/SwitchNPN/README.md +++ b/Electronics101/SwitchNPN/README.md @@ -2,6 +2,8 @@ Use an Arduino to demonstrate a digital switch using an NPN BJT, and plot the results with [Processing](https://www.processing.org). +![The Build](./assets/SwitchNPN_build.jpg?raw=true) + ## Notes This is a demonstration a standard small-signal switching circuit using an NPN transistor. @@ -22,7 +24,7 @@ Looking at my parts box, I picked 330kΩ instead. Actual current measurements wi | Ic | 2mA | 2.86mA | | Ib | 9uA | 9uA | -Aside from the LED, an analog input pin is used to read a voltage in the load chain to see what is going on and send the data to [LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/) for plotting over time. +Aside from the LED, an analog input pin is used to read a voltage in the load chain to see what is going on and send the data to [LEAP#090 PlotNValues (a simple Processing sketch)](../../playground/PlotNValues/) for plotting over time. Here's a sample trace. It also illustrates the impact of the filter capacitor C1 - the first 5 cycles in the plot are without C1, the remainder with C1 in place. diff --git a/Electronics101/SwitchPNP/README.md b/Electronics101/SwitchPNP/README.md index 5f268aef3..6244599b6 100644 --- a/Electronics101/SwitchPNP/README.md +++ b/Electronics101/SwitchPNP/README.md @@ -2,6 +2,8 @@ Use an Arduino to demonstrate a digital switch using an PNP BJT, and plot the results with [Processing](https://www.processing.org). +![The Build](./assets/SwitchPNP_build.jpg?raw=true) + ## Notes This is a demonstration a standard small-signal switching circuit using an PNP transistor. @@ -22,7 +24,7 @@ Looking at my parts box, I picked 330kΩ instead. Actual current measurements wi | Ic | 2mA | 2.85mA | | Ib | 9uA | 12uA | -Aside from the LED, an analog input pin is used to read a voltage in the load chain to see what is going on and send the data to [LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/) for plotting over time. +Aside from the LED, an analog input pin is used to read a voltage in the load chain to see what is going on and send the data to [LEAP#090 PlotNValues (a simple Processing sketch)](../../playground/PlotNValues/) for plotting over time. Here's a sample trace. It also illustrates the impact of the filter capacitor C1 - the first 5 cycles in the plot are without C1, the remainder with C1 in place. diff --git a/Electronics101/Switches/README.md b/Electronics101/Switches/README.md index 56d3842a4..a435d8edc 100644 --- a/Electronics101/Switches/README.md +++ b/Electronics101/Switches/README.md @@ -9,8 +9,8 @@ Notes on miscellaneous mechanical switches used in electrical circuits. Switches are the most basic of "input" devices for electrical systems. Thorough coverage of the variety of switches can be found in Chapter 6 of Charles Platt's excellent -[Encyclopedia of Electronic Components Volume 1](https://www.goodreads.com/book/show/17017467-encyclopedia-of-electronic-components-volume-1), -and also (coincidentally) Chapter 6 of John M. Hughes' [Practical Electronics: Components and Techniques](https://www.goodreads.com/book/show/21483234-practical-electronics). +[Encyclopedia of Electronic Components Volume 1](../../books/encyclopedia-of-electronic-components/), +and also (coincidentally) Chapter 6 of John M. Hughes' [Practical Electronics: Components and Techniques](../../books/practical-electronics/). ### Pole and Throw Terminology @@ -34,6 +34,6 @@ The number of "throws" is the number of separate wiring path choices other than ## Credits and References * [Switch](https://en.wikipedia.org/wiki/Switch) - wikipedia -* [Encyclopedia of Electronic Components Volume 1](https://www.goodreads.com/book/show/17017467-encyclopedia-of-electronic-components-volume-1) -* [Practical Electronics: Components and Techniques](https://www.goodreads.com/book/show/21483234-practical-electronics) +* [Encyclopedia of Electronic Components Volume 1](../../books/encyclopedia-of-electronic-components/) +* [Practical Electronics: Components and Techniques](../../books/practical-electronics/) * [..as mentioned on my blog](https://blog.tardate.com/2017/01/leap243-switches.html) diff --git a/Electronics101/VoltageControlledOscillator/README.md b/Electronics101/VoltageControlledOscillator/README.md index b681774d3..b8b9f39e3 100644 --- a/Electronics101/VoltageControlledOscillator/README.md +++ b/Electronics101/VoltageControlledOscillator/README.md @@ -17,7 +17,7 @@ This is a feature of all diodes, but is more pronounced in those produced specif In my version of the circuit I am using the KV1471 diode. The demonstration circuit is based on a design presented in Chapter 4.6 of -[Experimental Methods in RF Design](https://www.goodreads.com/book/show/2386153.Experimental_Methods_in_RF_Design). +[Experimental Methods in RF Design](../../books/experimental-methods-in-rf-design/). The basic circuit is a Colpitts oscillator. The varicap diode: @@ -140,11 +140,11 @@ The pin header provides convenient access to (from left to right): ## Credits and References -* [#147: Basics of Varactor Diodes | Voltage Controlled Oscillator VCO Example](https://youtu.be/icw8terKP-M) - from w2aew +* [#147: Basics of Varactor Diodes - Voltage Controlled Oscillator VCO Example](https://youtu.be/icw8terKP-M) - from w2aew * [w2aew's notes](http://www.qsl.net/w/w2aew//youtube/Varactor_diodes_with_VCO_example.pdf) * [Varicap](https://en.wikipedia.org/wiki/Varicap) - wikipedia * [Varicap, Varactor Diode circuit demo](https://www.youtube.com/watch?v=68qOrDl55tc) - AllAmericanFiveRadio -* [Experimental Methods in RF Design](https://www.goodreads.com/book/show/2386153.Experimental_Methods_in_RF_Design) +* [Experimental Methods in RF Design](../../books/experimental-methods-in-rf-design/) * [KV1471 datasheet](http://www.sumzi.com/upload/files/2007/06/2007062317524107881.PDF) * [J310 datasheet](https://www.futurlec.com/Transistors/J310.shtml) * [MV104 datasheet](http://www.onsemi.com/pub_link/Collateral/MV104-D.PDF) diff --git a/Equipment/BlackMagicProbe/README.md b/Equipment/BlackMagicProbe/README.md index 0f160a43d..3200e0fb9 100644 --- a/Equipment/BlackMagicProbe/README.md +++ b/Equipment/BlackMagicProbe/README.md @@ -148,7 +148,7 @@ This makes it easier to wire up the SWD connections on the Blue Pill: Here's a transcript of a GDB session to program and debug the Blue Pill. I'm using the [blinky.elf](https://github.com/tardate/LittleArduinoProjects/tree/master/ARM/STM32F103C8T6/BareMetal/blinky) -from [LEAP#549 Bare Metal C on the Blue Pill](https://leap.tardate.com/ARM/STM32F103C8T6/baremetal/) as my example program. +from [LEAP#549 Bare Metal C on the Blue Pill](../../ARM/STM32F103C8T6/BareMetal/) as my example program. Start GDB with the ELF of the program I'll load into the device: diff --git a/Equipment/HandheldSolderingIrons/README.md b/Equipment/HandheldSolderingIrons/README.md index f93bc6832..beae44eab 100644 --- a/Equipment/HandheldSolderingIrons/README.md +++ b/Equipment/HandheldSolderingIrons/README.md @@ -13,7 +13,7 @@ that has kept me very happy since 2016. Prior to that I had another GJ 907 for about a year before it blew up one day! I made notes below in the hope of one day diagnosing the problem. -The iron I was using before that was a pretty ordinary Newstar 30W iron. It didn't last long in my novice hands before I threw it out in disgust and "upgraded" to the GJ 907. For hot air work I use a [Saike 909D 3-in-1 hot air rework station](https://leap.tardate.com/equipment/saike909d/) +The iron I was using before that was a pretty ordinary Newstar 30W iron. It didn't last long in my novice hands before I threw it out in disgust and "upgraded" to the GJ 907. For hot air work I use a [Saike 909D 3-in-1 hot air rework station](../Saike909D/) I know there's a whole other level of more "professional" irons and soldering stations such as those from [Hakko](https://hakko.com.sg/) and [Weller](https://www.weller-tools.com/). Great discussions and recommendations can be found for example on: @@ -59,6 +59,6 @@ The Newstar 30W iron is not adjustable, and I found this made it very prone to e ## Credits and References * [GJ 907 Adjustable constant temperature Lead-free Internal heating electric soldering iron Soldering Station +5pcs tip 220V60W](https://www.aliexpress.com/item/1998306095.html) -* [Saike 909D 3-in-1 hot air rework station](https://leap.tardate.com/equipment/saike909d/) +* [Saike 909D 3-in-1 hot air rework station](../Saike909D/) * [MAC97A8 datasheet](http://parts.io/detail/11636418/MAC97A8) * [HA17358 datasheet](http://parts.io/detail/4994146/HA17358) diff --git a/Equipment/NLB/FlashforgeCreatorPro2/README.md b/Equipment/NLB/FlashforgeCreatorPro2/README.md index 41d7168c7..f5eeddcf7 100644 --- a/Equipment/NLB/FlashforgeCreatorPro2/README.md +++ b/Equipment/NLB/FlashforgeCreatorPro2/README.md @@ -45,10 +45,10 @@ The [starter training](./assets/makeit-3d-printing-starter-session-2024-09-01.pd * export to [CNC G-code](https://en.wikipedia.org/wiki/G-code) * use an SD card to load and print the g-code on the printer -The starter course has everyone design and print a simple nametag -(the tag I made: [nametag-wcl.stl](./assets/nametag-wcl.stl)). +The starter course has everyone design and print a simple name tag +(the tag I made: [name-tag-wcl.stl](./assets/name-tag-wcl.stl)). -![nametag-wcl](./assets/nametag-wcl.jpg) +![name-tag-wcl](./assets/name-tag-wcl.jpg) ### 3D Model Sources diff --git a/Equipment/NLB/FlashforgeCreatorPro2/assets/nametag-wcl.jpg b/Equipment/NLB/FlashforgeCreatorPro2/assets/name-tag-wcl.jpg similarity index 100% rename from Equipment/NLB/FlashforgeCreatorPro2/assets/nametag-wcl.jpg rename to Equipment/NLB/FlashforgeCreatorPro2/assets/name-tag-wcl.jpg diff --git a/Equipment/NLB/FlashforgeCreatorPro2/assets/nametag-wcl.stl b/Equipment/NLB/FlashforgeCreatorPro2/assets/name-tag-wcl.stl similarity index 100% rename from Equipment/NLB/FlashforgeCreatorPro2/assets/nametag-wcl.stl rename to Equipment/NLB/FlashforgeCreatorPro2/assets/name-tag-wcl.stl diff --git a/Equipment/NLB/LionsforgeCraftlaser/README.md b/Equipment/NLB/LionsforgeCraftlaser/README.md index feaa60e62..c436d2764 100644 --- a/Equipment/NLB/LionsforgeCraftlaser/README.md +++ b/Equipment/NLB/LionsforgeCraftlaser/README.md @@ -24,17 +24,17 @@ The [starter training](./assets/makeit-digital-cutting-laser-crafting-starter-se * using [TinkerCAD](https://www.tinkercad.com/) to make a 3D model * export to SVG -* use [Inkscape](https://inkscape.org/) as our laser Gcode generating tool, but can also be used to edit objects. +* use [Inkscape](https://inkscape.org/) as the laser G-code generating tool, but can also be used to edit objects. * import SVG file * adjust stroke width to 1px - * add text to the object (this will be treated as an engaving) + * add text to the object (this will be treated as an engraving) * export to [CNC G-code](https://en.wikipedia.org/wiki/G-code) for engraving * use the "305 Engineering > Raster 2 Laser GCode generator" extension * resolution: at least 10px/mm * engraving speed: 4000 * export to [CNC G-code](https://en.wikipedia.org/wiki/G-code) for cutting: * with object selected, choose "Object to Path" - * use the "Generate Laser Gcode > J Tech PhotonicsLaser Tool.." extension + * use the "Generate Laser G-code > J Tech PhotonicsLaser Tool.." extension * save the engraving and cutting codes to an SD card Operating the Cutter: @@ -51,11 +51,11 @@ Operating the Cutter: * Set "Speed mul." to 130% * load the cutting file and execute -GCode files can be previewed/validated with . +G-code files can be previewed/validated with . -### My Sample PRoject +### My Sample Project -The starter course has everyone design and cut a simple nametag. +The starter course has everyone design and cut a simple name tag. My project sources: * [keychain-initial.svg](./assets/keychain-initial.svg) - export from TinkerCAD @@ -63,6 +63,17 @@ My project sources: * Engraving code: [E_pg_kc_0001_BWfix_128_gcode.txt](./assets/E_pg_kc_0001_BWfix_128_gcode.txt) * Cutting code: [C_pg_kc_0001](./assets/C_pg_kc_0001) +### Laser Cutting Design Sources + +* +* +* +* +* +* +* +* - listing + ## Credits and References * [NLB MakeIT At Libraries](https://www.nlb.gov.sg/main/services/MakeIT-at-Libraries) diff --git a/Equipment/USBProtector/README.md b/Equipment/USBProtector/README.md index 9d9f3c16d..d0ff6ef21 100644 --- a/Equipment/USBProtector/README.md +++ b/Equipment/USBProtector/README.md @@ -14,7 +14,7 @@ The project is written up in Silicon Chip May 2018 (p57), with the [kit and supp I just saw [μArt](https://www.crowdsupply.com/pylo/muart) on crowdsupply, which is an interesting project with similar protection mechanism but intended for UART applications. -[ARRL Hands-on Radio (Vol 2)](https://www.goodreads.com/book/show/40198290-arrl-s-hands-on-radio-experiments-volume-2) also has good coverage of these topics. See: +[ARRL Hands-on Radio (Vol 2)](../../books/arrl-hands-on-radio-experiments-vol2/) also has good coverage of these topics. See: * [Experiment 120: Power Polarity Protection](http://www.arrl.org/files/file/protected/Group/Members/ProductReview/Hands%20On%20Radio%20January%202013.pdf) * [Experiment 121: Transient Protection](http://www.arrl.org/files/file/protected/Group/Members/ProductReview/Hands%20On%20Radio%20February%202013.pdf) @@ -87,6 +87,6 @@ Recommended construction order: * [ECH8102-TL Bipolar (BJT) Transistor PNP](https://www.digikey.sg/product-detail/en/on-semiconductor/ECH8102-TL-H/ECH8102-TL-HOSCT-ND/5801800) - high-current * [SM2T3V3A TVS diode](https://www.digikey.sg/product-detail/en/stmicroelectronics/SM2T3V3A/497-7878-1-ND/1883813) * [BAT54S SCHOTTKY DIODE ARRAY](https://www.digikey.sg/product-detail/en/on-semiconductor/BAT54S/BAT54SFSCT-ND/458930) -* [ARRL Hands-on Radio (Vol 2)](https://www.goodreads.com/book/show/40198290-arrl-s-hands-on-radio-experiments-volume-2) +* [ARRL Hands-on Radio (Vol 2)](../../books/arrl-hands-on-radio-experiments-vol2/) * [ARRL Hands-on Radio (Vol 2) Experiment 120: Power Polarity Protection](http://www.arrl.org/files/file/protected/Group/Members/ProductReview/Hands%20On%20Radio%20January%202013.pdf) * [ARRL Hands-on Radio (Vol 2) Experiment 121: Transient Protection](http://www.arrl.org/files/file/protected/Group/Members/ProductReview/Hands%20On%20Radio%20February%202013.pdf) diff --git a/Girabot/README.md b/Girabot/README.md index 809cd9504..ea4b03a4f 100644 --- a/Girabot/README.md +++ b/Girabot/README.md @@ -72,13 +72,13 @@ When Girabot detects relative darkness to one side, it will: * provide an audible chirp (a distinct sound for left or right) * and change its movement towards the brighter side -### Proof-of-concept/Explorations +### LDR: Proof-of-concept/Explorations -The following mini-projects explore the use of LDRs in a [Wheatstone Bridge](http://en.wikipedia.org/wiki/Wheatstone_bridge) +The following mini-projects explore the use of LDRs in a [Wheatstone Bridge](https://en.wikipedia.org/wiki/Wheatstone_bridge) -* [LDR Comparator project](https://leap.tardate.com/electronics101/ldr/comparator/) - Low-light/proximity Trip Detector demonstration -* [LDR Stereo Trip Detector](https://leap.tardate.com/electronics101/ldr/stereotripdetector/) - demo LM324 OpAmp as threshold trigger for stereo LDR/Wheatstone Bridge sensor -* [StereoLightTrigger](https://leap.tardate.com/playground/stereolighttrigger/) - demo an interrupt-driven method for responding to LDR light threshold triggers +* [LDR Comparator project](../Electronics101/ldr/Comparator/) - Low-light/proximity Trip Detector demonstration +* [LDR Stereo Trip Detector](../Electronics101/LDR/StereoTripDetector/) - demo LM324 OpAmp as threshold trigger for stereo LDR/Wheatstone Bridge sensor +* [StereoLightTrigger](../playground/StereoLightTrigger/) - demo an interrupt-driven method for responding to LDR light threshold triggers ## Use-case: Girabot responds when it hears a loud noise @@ -88,10 +88,10 @@ When it detects a loud noise (such as a clap or whistle), it will unlock a "spec * Girabot will play a tune and dance along * there will be at least one tune, maybe more... -### Proof-of-concept/Explorations +### Electret: Proof-of-concept/Explorations -* [ElectretADC](https://leap.tardate.com/playground/electretadc/) - plot the raw and amplified electret signal (LM324 preamp) -* [ElectretTrigger](https://leap.tardate.com/playground/electrettrigger/) - LM324-amplified electret input triggers a tune when over audio threshold +* [ElectretADC](../playground/ElectretADC/) - plot the raw and amplified electret signal (LM324 preamp) +* [ElectretTrigger](../playground/ElectretTrigger/) - LM324-amplified electret input triggers a tune when over audio threshold ### Implementation Notes @@ -123,8 +123,8 @@ Girabot plays a tune on a piezo buzzer. This special behaviour is unlocked when ### Proof-of-concept/Explorations -* [El Jarabe Tapatío](https://leap.tardate.com/playground/jarabetapatio/) - play The Mexican Hat Dance on a piezo buzzer with LM 386 amplification -* [Popcorn](https://leap.tardate.com/playground/popcorn/) - How to make a piezo buzzer even more annoying? Make it play popcorn! +* [El Jarabe Tapatío](../playground/JarabeTapatio/) - play The Mexican Hat Dance on a piezo buzzer with LM 386 amplification +* [Popcorn](../playground/Popcorn/) - How to make a piezo buzzer even more annoying? Make it play popcorn! ## Use-case: Girabot can move itself @@ -138,10 +138,10 @@ friction surfaces and geometry. Challenge accepted! Worst case, Girabot is going to be a crappy walking but an outstanding dancer.. -### Proof-of-concept/Explorations +### Servos: Proof-of-concept/Explorations -* [PWM Motor Control](https://leap.tardate.com/playground/motorcontrolpwm/) - tests PWM speed control of a DC motor driven by an Arduino -* [ServoTest](https://leap.tardate.com/kinetics/servomotors/servotest/) - test the positioning accuracy of a servo motor driven by an Arduino +* [PWM Motor Control](../playground/MotorControlPWM/) - tests PWM speed control of a DC motor driven by an Arduino +* [ServoTest](../Kinetics/ServoMotors/ServoTest/) - test the positioning accuracy of a servo motor driven by an Arduino ## Power @@ -171,11 +171,11 @@ Given two power rails, there's a question of which should be used to power the A Either can work, although it is perhaps more efficient to power the Arduino with 5V regulated, as this eliminates need to use the Arduino's (now redundant) internal regulator. -### Proof-of-concept/Explorations +### Power: Proof-of-concept/Explorations -* [LM317 Adjustable Regulator](https://leap.tardate.com/electronics101/power/linearregulators/lm317/) - test and graph the adjustable voltage supply -* [LM7805 5V Regulated Supply](https://leap.tardate.com/electronics101/power/linearregulators/lm7805/) - test and graph the voltage supply -* [Zener Regulated 5V Source](https://leap.tardate.com/electronics101/power/linearregulators/zener/) - test and graph a power supply regulated with a 1N4733 zener diode +* [LM317 Adjustable Regulator](../Electronics101/Power/LinearRegulators/LM317/) - test and graph the adjustable voltage supply +* [LM7805 5V Regulated Supply](../Electronics101/Power/LinearRegulators/LM7805/) - test and graph the voltage supply +* [Zener Regulated 5V Source](../Electronics101/Power/LinearRegulators/Zener/) - test and graph a power supply regulated with a 1N4733 zener diode ## Issues and Workarounds @@ -255,5 +255,5 @@ See [Girabot.ino](./Girabot.ino) and associated *.h files for all the code. ## Credits and References * [EE40LX Electronic Interfaces](https://courses.edx.org/courses/BerkeleyX/EE40LX/1T2015/info) -* [Wheatstone Bridge](http://en.wikipedia.org/wiki/Wheatstone_bridge) -* [Servo library reference](http://arduino.cc/en/Reference/Servo) +* [Wheatstone Bridge](https://en.wikipedia.org/wiki/Wheatstone_bridge) +* [Servo library reference](https://docs.arduino.cc/libraries/servo/) diff --git a/Kinetics/Solenoids/SolenoidDIY/README.md b/Kinetics/Solenoids/SolenoidDIY/README.md index 891692770..4bd0c2dd4 100644 --- a/Kinetics/Solenoids/SolenoidDIY/README.md +++ b/Kinetics/Solenoids/SolenoidDIY/README.md @@ -69,7 +69,7 @@ increasing the force applied by the solenoid: * [IRF540 datasheet](https://www.futurlec.com/Transistors/IRF540.shtml) * [Solenoid](https://en.wikipedia.org/wiki/Solenoid) - wikipedia * [Right-hand rule](https://en.wikipedia.org/wiki/Right-hand_rule) - wikipedia -* [Engineer's Mini-Notebook - Magnet and Sensor Projects](https://www.goodreads.com/book/show/18007328-engineer-s-mini-notebook) - Forrest M. Mims III +* [Engineer's Mini-Notebook - Magnet and Sensor Projects](../../../books/engineers-mini-notebook-magnet-projects/) * [Easy to Make Solenoid Engine](https://www.youtube.com/watch?v=HM9zdyX9Ix0) * [Como Hacer un Motor de Solenoide - Muy fácil de hacer](https://www.youtube.com/watch?v=S2vL3FjqHpI) * [How to make a homemade solenoid](https://www.youtube.com/watch?v=sRN5UhHhSxY) diff --git a/Kraft/WyLed/README.md b/Kraft/WyLed/README.md index 4a1fab7f0..6a7b1908b 100644 --- a/Kraft/WyLed/README.md +++ b/Kraft/WyLed/README.md @@ -1,4 +1,4 @@ -# #483 WyLed! +# #483 WyLed .. when you allow an exploration of a chip (TM1638) to get a little out of hand! The WyLed free-form sculpture reacts to sound and blinks a 4-digit LED display. An ATTiny85 provides a little brain, and the TM1638 handles all input and output. @@ -12,7 +12,7 @@ Here's a quick demo.. ## Notes I checked out the basic operation of the TM1638 in -[LEAP#481](https://leap.tardate.com/playground/led7segment/tm1638/). +[LEAP#481](../../playground/LED7Segment/TM1638/). This project tries to do something a little more interesting with the chip. One thing led to another ... and I ended up with a freeform sculpture that got a little out of hand! @@ -30,7 +30,6 @@ This is presented to the TM1638 as a "key" input via a 2N7000 mosfet. A 4-digit LED 7-segment display is used as a pair of "eyes". For the display unit I have, the pin connections are as follows: - | LED Module pin | Function | TM1638 pin | |----------------|----------|------------| | 1 | E | SEG5/9 | @@ -46,7 +45,6 @@ For the display unit I have, the pin connections are as follows: | 11 | A | SEG1/5 | | 12 | D1 | GRID4/21 | - Note: numbering the digits is pretty arbitrary - just need to follow a convention. In my case: * pins on the LED module are labelled D1-D4 from left to right @@ -59,12 +57,10 @@ for interfacing with the TM1638, but does not require any additional libraries. I used an ATtiny85 for the final build, and programmed it using the Arduino ISP. - See my notes on -[LEAP#070](https://leap.tardate.com/playground/attiny/programmingwitharduinoisp/) +[LEAP#070](../../playground/ATtiny/ProgrammingWithArduinoISP/) for how this is done. - ## Construction ![Breadboard](./assets/WyLed_bb.jpg?raw=true) diff --git a/PIC/GettingBlinky/UsingC/README.md b/PIC/GettingBlinky/UsingC/README.md index 9670eb28b..512e8ee11 100644 --- a/PIC/GettingBlinky/UsingC/README.md +++ b/PIC/GettingBlinky/UsingC/README.md @@ -55,7 +55,6 @@ Select name and folder for the project: ![create_project_06](./assets/create_project_06.png?raw=true) - ### Chip Configuration The configuration word (address: 2007h) - documented in section 9.1 of the datasheet - is used to configure chip features. @@ -99,7 +98,6 @@ What I discovered you **can't** do safely is this: .. because bit changes may not be fast enough to be read reliably for the next bit-flip, meaning that changes get "lost". - ## Programming I initially tested the code using a PIC12F675 Development Board as detailed in @@ -129,4 +127,4 @@ And running independently with a 5V power supply. * [MPLAB X IDE](http://www.microchip.com/mplab/mplab-x-ide) * [MPLAB XC8](http://www.microchip.com/mplab/compilers) * [PicKit 3 programmer](https://www.aliexpress.com/item/pickit-3-Programming-emulator-PIC-microcontroller-minimum-system-board-development-board-universal-programmer-seat/1734894366.html) -* [PIC Microcontroller Projects in C](https://www.goodreads.com/book/show/21910497-pic-microcontroller-projects-in-c) - I started working with this book, but found some of the code examples to be demonstrating incorrect techniques +* [PIC Microcontroller Projects in C](../../../books/pic-microcontroller-projects-in-c/) - I started working with this book, but found some of the code examples to be demonstrating incorrect techniques diff --git a/README.md b/README.md index 108389417..c651d5133 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# 749 Little Electronic Art Projects +# 750 Little Electronic Art Projects > Latest addition:sparkles: [One Pin Three Voltage Levels](./Electronics101/Power/DicksonChargePump/OnePinThreeV) - Designing and testing a circuit to drive and switch an output between 3 voltage levels (0v, VCC, 2.4xVCC) from a single GPIO pin. Tested with an Arduino Uno running at 5V driving a 0V, 5V, 12V output on a single GPIO pin. diff --git a/Radio/AM/OpAmpTransmitter/README.md b/Radio/AM/OpAmpTransmitter/README.md index 7365d7e4d..f469993d7 100644 --- a/Radio/AM/OpAmpTransmitter/README.md +++ b/Radio/AM/OpAmpTransmitter/README.md @@ -7,7 +7,7 @@ Here's a quick demo of the transmitter in action: [![clip](https://img.youtube.com/vi/X9KKxh5PliQ/0.jpg)](https://www.youtube.com/watch?v=X9KKxh5PliQ) FYI, I'm "broadcasting" -[Go Marko Go by the Boban Marković Orkestar](http://www.amazon.com/gp/product/B008AZYPYY/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=B008AZYPYY&linkCode=as2&tag=itsaprli-20&linkId=65VCNMDL6DCRUFVI). +[Go Marko Go by the Boban Marković Orkestar](https://amzn.to/43lf2aZ). ## Notes @@ -22,7 +22,7 @@ The circuit has two main stages: I've made two principal changes to the circuit presented by Afrotechmods: 1. I'm using an LF347N op-amp. For some reason (dodgy parts?), I'm not able to drive the TL072 chips I have available at high enough frequency. -See my [HighFrequencyOpAmpOscillators](../../../Electronics101/Oscillators/HighFrequencyOpAmpOscillators) project where I compare a few different op-amps and try to max out the oscillator with each. The LF347N does a grand job. In the demo, I'm tuned to around 1100kHz. +See my [HighFrequencyOpAmpOscillators](../../../Electronics101/Oscillators/HighFrequencyOpAmpOscillators/) project where I compare a few different op-amps and try to max out the oscillator with each. The LF347N does a grand job. In the demo, I'm tuned to around 1100kHz. 2. Following suggestions [on this EE.SE question](http://electronics.stackexchange.com/questions/74351/am-modulator-mixer-circuit), I've modified the mixer to tap the audio input via a n-channel JFET and us this signal to modulate the carrier in a non-inverting amplifier configuration. @@ -58,6 +58,6 @@ Interesting.. play for another day! * [AM Modulator Mixer Circuit](http://electronics.stackexchange.com/questions/74351/am-modulator-mixer-circuit) - related question on EE.SE * [LF347N datasheet](https://www.futurlec.com/Linear/LF347N.shtml) * [J201 datasheet](https://www.futurlec.com/Transistors/J201.shtml) -* [AMFMRadioKit](../../AMFMRadioKit) - the AM radio kit I used to test reception +* [AMFMRadioKit](../../AMFMRadioKit/) - the AM radio kit I used to test reception * [Op Amp Applications Handbook](http://www.analog.com/library/analogDialogue/archives/39-05/op_amp_applications_handbook.html) - Elsevier/Analog Devices -* [Go Marko Go by the Boban Marković Orkestar](http://www.amazon.com/gp/product/B008AZYPYY/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=B008AZYPYY&linkCode=as2&tag=itsaprli-20&linkId=65VCNMDL6DCRUFVI) +* [Go Marko Go by the Boban Marković Orkestar](https://amzn.to/43lf2aZ) diff --git a/Radio/RandomCodePractice/README.md b/Radio/RandomCodePractice/README.md index 70bb179da..b8c81d2eb 100644 --- a/Radio/RandomCodePractice/README.md +++ b/Radio/RandomCodePractice/README.md @@ -10,7 +10,7 @@ Here's a quick demo.. ## Notes -Glen Popiel's [Arduino for Ham Radio](https://www.goodreads.com/book/show/23432504-arduino-for-ham-radio) is a great little collection +Glen Popiel's [Arduino for Ham Radio](../../books/arduino-for-ham-radio/) is a great little collection of ham radio-adjacent projects that not only provides some good project inspiration but also presents them in a way that is easy to follow no matter one's level of Arduino experience. @@ -61,7 +61,6 @@ For a final build, I switched the Uno for an Arduino Nano and mounted it all in ## Credits and References -* [Arduino for Ham Radio](https://www.goodreads.com/book/show/23432504-arduino-for-ham-radio) - goodreads -* [Arduino for Ham Radio](http://www.arrl.org/arduino) - ARRL support page (book sources available) +* [Arduino for Ham Radio](../../books/arduino-for-ham-radio/) * [Morse code](https://en.wikipedia.org/wiki/Morse_code) - wikipedia * [fun with morse code](https://docs.google.com/presentation/d/e/2PACX-1vQ1wCN2WNHQ8JHC16zOAehkV6TV5PAG0DpXSQE45hlHU4hbF2h3YgiZJj5Iy-RTNDrDjJ21saaD4Rp-/pub?start=false&loop=false&delayms=3000&slide=id.p) - presentation on learning CW by Anthony Luscre K8ZT diff --git a/Radio/ThreeTransistorShortWaveReceiver/README.md b/Radio/ThreeTransistorShortWaveReceiver/README.md index 49f9e6141..306d2c7f4 100644 --- a/Radio/ThreeTransistorShortWaveReceiver/README.md +++ b/Radio/ThreeTransistorShortWaveReceiver/README.md @@ -18,7 +18,7 @@ It was invented by [Edwin Armstrong](https://en.wikipedia.org/wiki/Edwin_Howard_ One of the disadvantages of a regen is its propensity to radiate RF back out the antenna especially when the regen is close to oscillation. I learned on [Soldersmoke 164](http://soldersmoke.blogspot.sg/2014/08/soldersmoke-podcast-164-ancient-tribal.html) -that this was a particular risk for spies in WWII, as explained in the book [Spycatcher](https://www.goodreads.com/book/show/971569.Spycatcher). +that this was a particular risk for spies in WWII, as explained in the book [Spycatcher](https://amzn.to/4292G3D). In this circuit, the regen control comprises Q1 and it's biasing components. diff --git a/RaspberryPi/BPlusCase/README.md b/RaspberryPi/BPlusCase/README.md index 7d16267d3..3fcaafa7a 100644 --- a/RaspberryPi/BPlusCase/README.md +++ b/RaspberryPi/BPlusCase/README.md @@ -9,7 +9,7 @@ Finally, 3D PLA printing a case for the Raspberry Pi Model B+ ... at the library I'm finally getting around to making a case for my Raspberry Pi Model B+. The libraries here in Singapore are fantastic, with 3D PLA printers available for use. -See [LEAP#756 NLB Flashforge Creator Pro 2](https://leap.tardate.com/equipment/nlb/flashforgecreatorpro2/) +See [LEAP#756 NLB Flashforge Creator Pro 2](../../Equipment/NLB/FlashforgeCreatorPro2/) for details of the printers. I found a couple of nice designs freely available, @@ -55,6 +55,6 @@ I like the idea of this mounting for breadboarding and experimentation as it kee ## Credits and References * [Raspberry Pi 1 Model B+](https://www.raspberrypi.com/products/raspberry-pi-1-model-b-plus/) -* [LEAP#756 NLB Flashforge Creator Pro 2](https://leap.tardate.com/equipment/nlb/flashforgecreatorpro2/) +* [LEAP#756 NLB Flashforge Creator Pro 2](../../Equipment/NLB/FlashforgeCreatorPro2/) * [Raspberry Pi case (model B+ /2) w/ Pi Symbol](https://www.thingiverse.com/thing:989353) * [Raspberry Pi B+ / 2 Mount](https://www.printables.com/model/157800-raspberry-pi-b-2-mount) diff --git a/RaspberryPi/BPlusGettingStarted/README.md b/RaspberryPi/BPlusGettingStarted/README.md index ec0896675..26b462d86 100644 --- a/RaspberryPi/BPlusGettingStarted/README.md +++ b/RaspberryPi/BPlusGettingStarted/README.md @@ -138,7 +138,7 @@ It seems "headless apps" would be much better suited to the old B+ now, and Desk ## 3D Printed Case I'm thinking of printing a case. Found a couple of options.. -see [LEAP#764 Raspberry Pi B+ Case](https://leap.tardate.com//raspberrypi/bpluscase/) for more. +see [LEAP#764 Raspberry Pi B+ Case](../BPlusCase/) for more. ## Credits and References diff --git a/_data/catalog.json b/_data/catalog.json index 36028aca0..e4cf23649 100644 --- a/_data/catalog.json +++ b/_data/catalog.json @@ -219,6 +219,16 @@ "created_at": "2023-12-27T02:00:21Z", "original_relative_path": "Electronics101/LED/FlickerKit" }, + { + "id": "#727", + "name": "Power-Switching Converters", + "description": "Book notes: Power-Switching Converters, by Simon S. Ang, Alejandro Oliva. First published April 10, 1995.", + "categories": "Books", + "relative_path": "books/power-switching-converters", + "updated_at": "2025-03-26T13:13:00Z", + "created_at": "2025-03-26T13:13:00Z", + "original_relative_path": "books/power-switching-converters" + }, { "id": "#726", "name": "Push-Pull Output Driver", @@ -4221,7 +4231,7 @@ }, { "id": "#327", - "name": "Mixers/RFDiodeRing", + "name": "RF Diode Ring Mixer", "description": "a diode ring double-balanced frequency mixer", "categories": "Radio, Mixers", "relative_path": "electronics101/mixers/rfdiodering", @@ -4241,7 +4251,7 @@ }, { "id": "#325", - "name": "BoldportClub/spoolt", + "name": "BoldportClub spoolt", "description": "pimp my spoolt - the Boldport Club solder dispenser (Project #15, July 2017)", "categories": "Boldport, Soldering", "relative_path": "boldportclub/spoolt", @@ -4611,7 +4621,7 @@ }, { "id": "#288", - "name": "Basic Inverting Buck-Boost AVR-control", + "name": "Basic AVR-controlled Inverting Buck-boost", "description": "build and test an inverting buck-boost converter controlled by an ATtiny85", "categories": "Power, ATtiny, Arduino", "relative_path": "electronics101/power/switchmodepowersupplies/basicinvertingbuckboostavrcontrol", @@ -7012,7 +7022,7 @@ { "id": "#048", "name": "StereoLightTrigger", - "description": "demo an interrupt-driven method for responding to LDR light threshold triggers", + "description": "A dual input low-light trigger: demonstrates an interrupt-driven method for an Arduino to respond to LDR light threshold triggers.", "categories": "Sensors, Arduino", "relative_path": "playground/stereolighttrigger", "updated_at": "2016-06-19T14:13:24Z", diff --git a/_data/projects.json b/_data/projects.json index 1f3c14363..47e2e3cca 100644 --- a/_data/projects.json +++ b/_data/projects.json @@ -199,6 +199,14 @@ "LED" ] }, + "/books/power-switching-converters/": { + "id": 727, + "title": "Power-Switching Converters", + "summary": "Book notes: Power-Switching Converters, by Simon S. Ang, Alejandro Oliva. First published April 10, 1995.", + "tags": [ + "Books" + ] + }, "/electronics101/digitallogic/pushpulloutputdriver/": { "id": 726, "title": "Push-Pull Output Driver", @@ -3876,7 +3884,7 @@ }, "/electronics101/mixers/rfdiodering/": { "id": 327, - "title": "Mixers/RFDiodeRing", + "title": "RF Diode Ring Mixer", "summary": "a diode ring double-balanced frequency mixer", "tags": [ "Radio", @@ -3894,7 +3902,7 @@ }, "/boldportclub/spoolt/": { "id": 325, - "title": "BoldportClub/spoolt", + "title": "BoldportClub spoolt", "summary": "pimp my spoolt - the Boldport Club solder dispenser (Project #15, July 2017)", "tags": [ "Boldport", @@ -4246,7 +4254,7 @@ }, "/electronics101/power/switchmodepowersupplies/basicinvertingbuckboostavrcontrol/": { "id": 288, - "title": "Basic Inverting Buck-Boost AVR-control", + "title": "Basic AVR-controlled Inverting Buck-boost", "summary": "build and test an inverting buck-boost converter controlled by an ATtiny85", "tags": [ "Power", @@ -6480,7 +6488,7 @@ "/playground/stereolighttrigger/": { "id": 48, "title": "StereoLightTrigger", - "summary": "demo an interrupt-driven method for responding to LDR light threshold triggers", + "summary": "A dual input low-light trigger: demonstrates an interrupt-driven method for an Arduino to respond to LDR light threshold triggers.", "tags": [ "Sensors", "Arduino" diff --git a/books/arduino-cookbook/README.md b/books/arduino-cookbook/README.md index 8824f285c..433c09904 100644 --- a/books/arduino-cookbook/README.md +++ b/books/arduino-cookbook/README.md @@ -115,15 +115,15 @@ See also: | 6.3 Detecting Motion (Integrating Passive Infrared Detectors) 171 | | | 6.4 Measuring Distance 173 | | | 6.5 Measuring Distance Accurately 176 | | -| 6.6 Detecting Vibration | [#376 Piezo Vibration Detector and BPM Counter](https://leap.tardate.com/playground/piezovibrationdetector/) | +| 6.6 Detecting Vibration | [#376 Piezo Vibration Detector and BPM Counter](../../playground/PiezoVibrationDetector/) | | 6.7 Detecting Sound | | | 6.8 Measuring Temperature | | | 6.9 Reading RFID Tags | | -| 6.10 Tracking the Movement of a Dial | [#118 RotaryEncoderMethods](https://leap.tardate.com/playground/rotaryencodermethods/) | +| 6.10 Tracking the Movement of a Dial | [#118 RotaryEncoderMethods](../../playground/RotaryEncoderMethods/) | | 6.11 Tracking the Movement of More Than One Rotary Encoder | | -| 6.12 Tracking the Movement of a Dial in a Busy Sketch | [#118 RotaryEncoderMethods](https://leap.tardate.com/playground/rotaryencodermethods/) | +| 6.12 Tracking the Movement of a Dial in a Busy Sketch | [#118 RotaryEncoderMethods](../../playground/RotaryEncoderMethods/) | | 6.13 Using a Mouse | | -| 6.14 Getting Location from a GPS | [#387 GpsBasics](https://leap.tardate.com/playground/gpsbasics/) | +| 6.14 Getting Location from a GPS | [#387 GpsBasics](../../playground/GpsBasics/) | | 6.15 Detecting Rotation Using a Gyroscope 206 | | | 6.16 Detecting Direction 208 | | | 6.17 Getting Input from a Game Control Pad (PlayStation) 211 | | @@ -158,7 +158,7 @@ See also: | 8.3 Controlling the Speed of Continuous Rotation Servos 267 | | | 8.4 Controlling Servos from the Serial Port 269 | | | 8.5 Driving a Brushless Motor (Using a Hobby Speed Controller) 271 | | -| 8.6 Controlling Solenoids and Relays 272 | [#102 SolenoidControl](https://leap.tardate.com/playground/solenoidcontrol/) | +| 8.6 Controlling Solenoids and Relays 272 | [#102 SolenoidControl](../../playground/SolenoidControl/) | | 8.7 Making an Object Vibrate 273 | | | 8.8 Driving a Brushed Motor Using a Transistor 276 | | | 8.9 Controlling the Direction of a Brushed Motor with an H-Bridge 277 | | @@ -173,8 +173,8 @@ See also: | Chapter | LEAP? | |--------------------------------------------------------------|-------| | 9.1 Playing Tones 299 | | -| 9.2 Playing a Simple Melody 301 | [#051 El Jarabe Tapatío](https://leap.tardate.com/playground/jarabetapatio/) | -| 9.3 Generating More Than One Simultaneous Tone 303 | [#019 Popcorn](https://leap.tardate.com/playground/popcorn/) | +| 9.2 Playing a Simple Melody 301 | [#051 El Jarabe Tapatío](../../playground/JarabeTapatio/) | +| 9.3 Generating More Than One Simultaneous Tone 303 | [#019 Popcorn](../../playground/Popcorn/) | | 9.4 Generating Audio Tones and Fading an LED 305 | | | 9.5 Playing a WAV File 308 | | | 9.6 Controlling MIDI 311 | | @@ -211,7 +211,7 @@ See also: | Chapter | LEAP? | |------------------------------------------------------------|-------| | 12.1 Creating Delays 367 | | -| 12.2 Using millis to Determine Duration 368 | [#457 Precisiontimer](https://leap.tardate.com/playground/precisiontimer/) | +| 12.2 Using millis to Determine Duration 368 | [#457 Precisiontimer](../../playground/PrecisionTimer/) | | 12.3 More Precisely Measuring the Duration of a Pulse 372 | | | 12.4 Using Arduino As a Clock 373 | | | 12.5 Creating an Alarm to Periodically Call a Function 380 | | @@ -279,7 +279,7 @@ See also: | 17.1 Understanding the Arduino Build Process 534 | n/a | | 17.2 Determining the Amount of Free and Used RAM 537 | | | 17.3 Storing and Retrieving Numeric Values in Program Memory 539 | | -| 17.4 Storing and Retrieving Strings in Program Memory 542 | [#020 Internals](https://leap.tardate.com/playground/internals/) | +| 17.4 Storing and Retrieving Strings in Program Memory 542 | [#020 Internals](../../playground/Internals/) | | 17.5 Using #define and const Instead of Integers 544 | n/a | | 17.6 Using Conditional Compilations 545 | n/a | @@ -295,6 +295,6 @@ See also: | 18.6 Changing a Timer’s PWM Frequency 567 | | | 18.7 Counting Pulses 569 | | | 18.8 Measuring Pulses More Accurately 571 | | -| 18.9 Measuring Analog Values Quickly 573 | [#458 FastAnalogRead](https://leap.tardate.com/playground/fastanalogread/) | +| 18.9 Measuring Analog Values Quickly 573 | [#458 FastAnalogRead](../../playground/FastAnalogRead/) | | 18.10 Reducing Battery Drain 574 | | | 18.11 Setting Digital Pins Quickly 576 | | diff --git a/books/arduino-for-ham-radio/README.md b/books/arduino-for-ham-radio/README.md index a91e1f25a..9cf7fd1cc 100644 --- a/books/arduino-for-ham-radio/README.md +++ b/books/arduino-for-ham-radio/README.md @@ -23,7 +23,7 @@ See also: | 4 Arduino I/O Methods | | | 5 Arduino Development Environment | | | 6 Arduino Development Station | | -| 7 Random Code Practice Generator | | +| 7 Random Code Practice Generator | [LEAP#567 Random Code Practice](../../Radio/RandomCodePractice/) | | 8 CW Beacon and Foxhunt Keyer | | | 9 Fan Speed Controller | | | 10 Digital Compass | | @@ -39,7 +39,7 @@ See also: | 20 Field Day Satellite Tracker | | | 21 Azimuth/Elevation Rotator Controller | | | 22 CW Decoder | | -| 23 Lightning Detector | | +| 23 Lightning Detector | [LEAP#379 AS3935](../../playground/AS3935/) | | 24 CDE/Hy-Gain Rotator Controller | | | 25 Modified CDE/Hy-Gain Rotator Controller | | | 26 In Conclusion | | diff --git a/books/arduino-for-musicians/README.md b/books/arduino-for-musicians/README.md index 606cff134..fcf5e3752 100644 --- a/books/arduino-for-musicians/README.md +++ b/books/arduino-for-musicians/README.md @@ -62,7 +62,7 @@ See also: ### Chapter 9 Audio Output and Sound Synthesis * DAC - * see: [LEAP#115 R2RDAC](https://leap.tardate.com/playground/r2rdac/) + * see: [LEAP#115 R2RDAC](../../playground/R2RDAC/) * dedicated DAC chip * PWM * sound synthesis p210 diff --git a/books/arrl-hands-on-radio-experiments-vol2/README.md b/books/arrl-hands-on-radio-experiments-vol2/README.md index 830ebe056..8a7c53e27 100644 --- a/books/arrl-hands-on-radio-experiments-vol2/README.md +++ b/books/arrl-hands-on-radio-experiments-vol2/README.md @@ -91,7 +91,9 @@ RF Techniques Practical Construction * Experiment #120 - Power Protection + * see [LEAP#400 USB Protector](../../Equipment/USBProtector/) * Experiment #121 - Transient Protection + * see [LEAP#400 USB Protector](../../Equipment/USBProtector/) * Experiment #90 - Construction Techniques * Experiment #89 - Overvoltage Protection * Experiment #80 - Battery Capacity diff --git a/books/arrl-hands-on-radio-experiments-vol3/README.md b/books/arrl-hands-on-radio-experiments-vol3/README.md index ca63a250c..6642c26d8 100644 --- a/books/arrl-hands-on-radio-experiments-vol3/README.md +++ b/books/arrl-hands-on-radio-experiments-vol3/README.md @@ -21,6 +21,9 @@ See also: Electronic Circuits * Experiment #125 - The Schmitt Trigger + * see [LEAP#488 XOR-RC Edge Detector](../../Electronics101/EdgeDetection/XorRcEdgeDetector/) + * see [LEAP#536 Power OK Indicator](../../Electronics101/SchmittTrigger/PowerOkIndicator/) + * see [LEAP#537 Schmitt Switch Debouncer](../../Electronics101/SchmittTrigger/SwitchDebouncer/) * Experiment #129 - Wye-Delta and Pi-T Circuits * Experiment #132 - Resistor Networks * Experiment #141 - Window Comparators and Null Detectors diff --git a/books/beginning-analog-electronics-through-projects/README.md b/books/beginning-analog-electronics-through-projects/README.md index 796fc6679..e72b2559c 100644 --- a/books/beginning-analog-electronics-through-projects/README.md +++ b/books/beginning-analog-electronics-through-projects/README.md @@ -23,15 +23,15 @@ Features twelve easy and useful projects designed to familiarize beginners and h | Chapter | LEAP? | |---------------------------------------------------------------|-------| -| Project 01 - Fixed Low-Frequency LED Flasher | [LEAP#016 555 Timer - A-Stable Oscillator](https://leap.tardate.com/electronics101/555timer/astableoscillator/) | -| Project 02 - Variable Low-Frequency LED Flasher | [LEAP#016 555 Timer - A-Stable Oscillator](https://leap.tardate.com/electronics101/555timer/astableoscillator/) | -| Project 03 - Fixed Low-Gain Audio Power Amplifier | [LEAP#096 Smokey](https://leap.tardate.com/audio/audioamps/smokey/) | +| Project 01 - Fixed Low-Frequency LED Flasher | [LEAP#016 555 Timer - A-Stable Oscillator](../../Electronics101/555Timer/AstableOscillator/) | +| Project 02 - Variable Low-Frequency LED Flasher | [LEAP#016 555 Timer - A-Stable Oscillator](../../Electronics101/555Timer/AstableOscillator/) | +| Project 03 - Fixed Low-Gain Audio Power Amplifier | [LEAP#096 Smokey](../../Audio/AudioAmps/Smokey/) | | Project 04 - Fixed-Frequency Audio Tone Generator | | -| Project 05 - Variable-Gain Audio Power Amplifier | [LEAP#097 Volume Control Power Amp](https://leap.tardate.com/audio/audioamps/volumecontrolpoweramp/) | +| Project 05 - Variable-Gain Audio Power Amplifier | [LEAP#097 Volume Control Power Amp](../../Audio/AudioAmps/VolumeControlPowerAmp/) | | Project 06 - Fixed Gain Audio Preamplifier | | -| Project 07 - Guitar Headphone Amplifier | [LEAP#098 Guitar Headphone Amp](https://leap.tardate.com/audio/audioamps/guitarheadphoneamp/) | -| Project 08 - Visual Electronic Metronome | [LEAP#184 Adjustable Pulse Generator](https://leap.tardate.com/electronics101/555timer/adjustablepulsegenerator/) | +| Project 07 - Guitar Headphone Amplifier | [LEAP#098 Guitar Headphone Amp](../../Audio/AudioAmps/GuitarHeadphoneAmp/) | +| Project 08 - Visual Electronic Metronome | [LEAP#184 Adjustable Pulse Generator](../../Electronics101/555Timer/AdjustablePulseGenerator/) | | Project 09 - Variable Gain Hi/Lo Response Audio Preamplifier | | | Project 10 - Dual Gain Electret Microphone Audio Preamplifier | | -| Project 11 - Signal Injector | [LEAP#016 555 Timer - A-Stable Oscillator](https://leap.tardate.com/electronics101/555timer/astableoscillator/) | +| Project 11 - Signal Injector | [LEAP#016 555 Timer - A-Stable Oscillator](../../Electronics101/555Timer/AstableOscillator/) | | Project 12 - Signal Monitor | | diff --git a/books/beginning-digital-electronics-through-projects/README.md b/books/beginning-digital-electronics-through-projects/README.md index 5d92f9aa4..b7e4c7d5e 100644 --- a/books/beginning-digital-electronics-through-projects/README.md +++ b/books/beginning-digital-electronics-through-projects/README.md @@ -17,34 +17,34 @@ Digital electronics is a little more abstract than analog electronics, and tryin | Chapter | LEAP? | |---------------------------------------------------------------|-------| -| Project 01 - LM 555 Demo Oscillator | [LEAP#016 555 Timer - A-Stable Oscillator](https://leap.tardate.com/electronics101/555timer/astableoscillator/) | -| Project 02 - LF TTL Pulse Generator | [LEAP#016 555 Timer - A-Stable Oscillator](https://leap.tardate.com/electronics101/555timer/astableoscillator/) | +| Project 01 - LM 555 Demo Oscillator | [LEAP#016 555 Timer - A-Stable Oscillator](../../Electronics101/555Timer/AstableOscillator/) | +| Project 02 - LF TTL Pulse Generator | [LEAP#016 555 Timer - A-Stable Oscillator](../../Electronics101/555Timer/AstableOscillator/) | | Project 03 - High-Low State Display | | | Project 04 - Pulse Speed Reducer | | -| Project 05 - Threshold Level Detector | [LEAP#034 Low-light Trip Detector](https://leap.tardate.com/electronics101/ldr/comparator/), [LEAP#052 LM741 OpAmp Comparator](https://leap.tardate.com/electronics101/comparator741/) | +| Project 05 - Threshold Level Detector | [LEAP#034 Low-light Trip Detector](../../Electronics101/LDR/Comparator/), [LEAP#052 LM741 OpAmp Comparator](../../Electronics101/Comparator741/) | | Project 06 - Hi-Lo Trip Detector | | -| Project 07 - LED Pulse Stretcher | [LEAP#136 CounterModule](https://leap.tardate.com/playground/countermodule/) | +| Project 07 - LED Pulse Stretcher | [LEAP#136 CounterModule](../../playground/CounterModule/) | | Project 08 - DC level shifter | | -| Project 09 - Schmitt Pulse Oscillator | [LEAP#022 Square Wave - Schmitt Oscillator](https://leap.tardate.com/electronics101/oscillators/schmittoscillator/) | +| Project 09 - Schmitt Pulse Oscillator | [LEAP#022 Square Wave - Schmitt Oscillator](../../Electronics101/Oscillators/SchmittOscillator/) | | Project 10 - Turn-on Delay Schmitt | | | Project 11 - Turn-of Delay Schmitt | | -| Project 12 - Schmitt Triangle Generator | [LEAP#031 555 Timer - Triangle Wave Generator](https://leap.tardate.com/electronics101/555timer/trianglewavegen/) | +| Project 12 - Schmitt Triangle Generator | [LEAP#031 555 Timer - Triangle Wave Generator](../../Electronics101/555Timer/TriangleWaveGen/) | | Project 13 - Schmitt Switch Debouncer | | -| Project 14 - NOR gate demo | [LEAP#072 NOR7402 - 74LS02 Quad 2-input NOR gate test](https://leap.tardate.com/electronics101/nor7402/) | -| Project 15 - SCR Latch Demo | [LEAP#172 SCRLatch](https://leap.tardate.com/electronics101/scrlatch/) | -| Project 16 - NOR Gate Latch | [LEAP#077 NOR Gate SR Latch](https://leap.tardate.com/electronics101/digitallogic/srlatchwithnorgates/) | -| Project 17 - NOR Gate Metronome | [LEAP#114 NOR Gate Oscillator](https://leap.tardate.com/electronics101/oscillators/norgateoscillator/) | -| Project 18 - 74LS122 Monostable | [LEAP#075 Monostable 74LS122](https://leap.tardate.com/electronics101/monostable122/) | -| Project 19 - 74LS75 Quad Latch | [LEAP#025 74LS75 Quad Latch Test](https://leap.tardate.com/electronics101/quadlatch/) | +| Project 14 - NOR gate demo | [LEAP#072 NOR7402 - 74LS02 Quad 2-input NOR gate test](../../Electronics101/NOR7402/) | +| Project 15 - SCR Latch Demo | [LEAP#172 SCRLatch](../../Electronics101/SCRLatch/) | +| Project 16 - NOR Gate Latch | [LEAP#077 NOR Gate SR Latch](../../Electronics101/DigitalLogic/SRLatchWithNorGates/) | +| Project 17 - NOR Gate Metronome | [LEAP#114 NOR Gate Oscillator](../../Electronics101/Oscillators/NORGateOscillator/) | +| Project 18 - 74LS122 Monostable | [LEAP#075 Monostable 74LS122](../../Electronics101/Monostable122/) | +| Project 19 - 74LS75 Quad Latch | [LEAP#025 74LS75 Quad Latch Test](../../Electronics101/QuadLatch/) | | Project 20 - CD4072 Quad Switcher | | -| Project 21 - TTL Relay Driver | [LEAP#055 RelayControlTest](https://leap.tardate.com/playground/relaycontroltest/) | +| Project 21 - TTL Relay Driver | [LEAP#055 RelayControlTest](../../playground/RelayControlTest/) | | Project 22 - High Power Transistor Driver | | | Project 23 - Power Output FET | | -| Project 24 - TTL Driver Buffer | [LEAP#113 TTL Buffer Driver](https://leap.tardate.com/electronics101/ttlbufferdriver/) | +| Project 24 - TTL Driver Buffer | [LEAP#113 TTL Buffer Driver](../../Electronics101/TTLBufferDriver/) | | Project 25 - Passive Five-Step Voltage Indicator | | | Project 26 - Active Five-Step Voltage Indicator | | | Project 27 - RF Oscillator Stable 6.2V Supply | | -| Project 28 - Stable 5V Source | [LEAP#027 LM7805 Regulator](https://leap.tardate.com/electronics101/power/linearregulators/lm7805/) | +| Project 28 - Stable 5V Source | [LEAP#027 LM7805 Regulator](../../Electronics101/Power/LinearRegulators/LM7805/) | | Project 29 - Battery or Power Supply | | | Project 30 - Diode Bridge Circuit Protector | | | Project 31 - Regulator Protector | | @@ -52,7 +52,7 @@ Digital electronics is a little more abstract than analog electronics, and tryin | Project 33 - Jack Socket Tutorial | | | Project 34 - Meter Overload Protector | | | Project 35 - Jack Socket-Power Switch | | -| Project 36 - Zenner Five-Volt Supply | [LEAP#029 Zener Regulator](https://leap.tardate.com/electronics101/power/linearregulators/zener/) | +| Project 36 - Zenner Five-Volt Supply | [LEAP#029 Zener Regulator](../../Electronics101/Power/LinearRegulators/Zener/) | | Project 37 - RC Integrator Differentiator | | | Project 38 - Variable Resistor Substitute | | | Project 39 - Single-chip IC FM Receiver | | diff --git a/books/electronic-principles/README.md b/books/electronic-principles/README.md index dce0f4c40..c0c13379c 100644 --- a/books/electronic-principles/README.md +++ b/books/electronic-principles/README.md @@ -33,7 +33,7 @@ See also: * Frequency Effects * Differential Amplifiers * Operational Amplifiers -* NEgative Feedback +* Negative Feedback * Linear Op-Amp Circuits * Active Filters * Nonlinear Op-Amp Circuits diff --git a/books/electronics-cookbook/README.md b/books/electronics-cookbook/README.md index 2871b55c7..b85efee0c 100644 --- a/books/electronics-cookbook/README.md +++ b/books/electronics-cookbook/README.md @@ -220,6 +220,7 @@ See also: * 15.0. Introduction * 15.1. Protecting ICs from Electrical Noise * 15.2. Know Your Logic Families + * see [LEAP#580 Digital Logic Families](../../notebook/logic_families/) * 15.3. Control More Outputs Than You Have GPIO Pins * 15.4. Build a Digital Toggle Switch * 15.5. Reduce a Signal’s Frequency diff --git a/books/engineers-mini-notebook-op-amp-circuits/README.md b/books/engineers-mini-notebook-op-amp-circuits/README.md index 3fcfde42c..07031a91b 100644 --- a/books/engineers-mini-notebook-op-amp-circuits/README.md +++ b/books/engineers-mini-notebook-op-amp-circuits/README.md @@ -27,7 +27,7 @@ See also: * UNITY GAIN INVERTER * NON-INVERTING AMPLIFIER * UNITY-GAIN FOLLOWER - * TRANSCONDUCTANCE AMPLIFIER + * TRANSCONDUCTANCE AMPLIFIER - see [LEAP#463 OpAmp Transconductance Amplifiers](../../Electronics101/OpAmp/Transconductance/) * TRANS IMPEDANCE AMPLIFIER * SINGLE-SUPPLY AMPLIFIER * AUDIO AMPLIFIER @@ -42,3 +42,24 @@ See also: * NON-INVERTING CLIPPER * BISTABLE RS FLIP-FLOP * MONOSTABLE MULTIVIBRATOR + * BASIC COMPARATOR + * BASIC WINDOW COMPARATOR + * 3-STEP SEQUENCER + * BARGRAPH VOLTMETER + * LIGHT-ACTIVATED RELAYS + * LIGHT-ACTIVATED ALERTER + * DARK-ACTIVATED ALERTER + * LIGHT-SENSITIVE OSCILLATORS + * HIGH-SENSITIVITY LIGHT METER + * SOUND-LEVEL METER + * SOUND-ACTIVATED RELAY + * PERCUSSION SYNTHESIZER + * PIEZO ELEMENT DRIVER + * LOW-PASS FILTER + * HIGH-PASS FILTER + * 60-H2 NOTCH FILTERS + * TUNABLE BANDPASS FILTER + * MINI-COLOR ORGAN + * SQUARE WAVE GENERATOR + * SINE WAVE OSCILLATOR - see [LEAP#459 Twin-Tee OpAmp Oscillator](../../Electronics101/OpAmp/TwinTeeOscillator/) + * FUNCTION GENERATOR diff --git a/books/experimental-methods-in-rf-design/README.md b/books/experimental-methods-in-rf-design/README.md index 89f81d3f2..144d7c6ec 100644 --- a/books/experimental-methods-in-rf-design/README.md +++ b/books/experimental-methods-in-rf-design/README.md @@ -94,25 +94,38 @@ FINETUNE.EXE, which expedite the crystal filter design procedures. 3.5— Active Filters: RC active filters appear in the next section. Design equations are given for several simple types. The all pass filter (phase shifting network) is briefly discussed and applied to an unusual analog filter type, a FIR filter, usually only considered possible with digital signal processing. -3.6- Impedance Matching Networks: This section begins with a discussion of the directional nature of impedance in a circuit. The classic L, pi, and Tee networks are discussed with included design equations. Transmission lines then provide impedance matching, followed by ideal transformers using power iron and ferrite cores. The ferrite loaded transmission line transtormer 1s presented, including some popular forms using multiple cores. The section then moves to the discussion of networks with more than just two ports. +3.6- Impedance Matching Networks: This section begins with a discussion of the directional nature of impedance in a circuit. The classic L, pi, and Tee networks are discussed with included design equations. Transmission lines then provide impedance matching, followed by ideal transformers using power iron and ferrite cores. The ferrite loaded transmission line transformer 1s presented, including some popular forms using multiple cores. The section then moves to the discussion of networks with more than just two ports. These include the splitter/combiner, diplexers, directional couplers, and quadrature couplers. ### Chapter 4, Oscillators and Frequency Synthesis The vital function of generating a signal for use in transmitters and receivers is the basis for this chapter. -4.1-LC Oscillator Basics: The chapter begins with descriptions of an oscillator circuit as an amplifier combined with a single tuned circuit. We then ask the question: Will it oscillate? This moves to a discussion of some basic LC oscillator types. The similarities of the Colpitts and Hartley forms are emphasized. The Colpitts variations of the Clapp, Seiler, and Vackar are presented. +4.1-LC Oscillator Basics -4.2—Practical Hartley Circuits and Oscillator Drift Compensation: The next section presents the Hartley as an example and considers the problem of temperature compensation. +* The chapter begins with descriptions of an oscillator circuit as an amplifier combined with a single tuned circuit. We then ask the question: Will it oscillate? This moves to a discussion of some basic LC oscillator types. +* The similarities of the Colpitts and Hartley forms are emphasized. +* The Colpitts variations of the Clapp, Seiler, and Vackar are presented. -4.3—The Colpitts and Other Oscillators: Practical designs are presented that can be scaled to a needed frequency. Circuits considered include the Colpitts, Clapp, Seller, and Vackar. +4.2—Practical Hartley Circuits and Oscillator Drift Compensation + +* The next section presents the Hartley as an example and considers the problem of temperature compensation. +* See [LEAP#418 CommonEmitterHartley](../../Electronics101/Oscillators/CommonEmitterHartley/) + +4.3—The Colpitts and Other Oscillators + +* Practical designs are presented that can be scaled to a needed frequency. +* Circuits considered include the Colpitts, Clapp, Seller, and Vackar. 4.4— Noise in Oscillators: The underlying concepts are presented. Mathematical forms are available for those interested. Noise is also illustrated with intuitive discussion and some circuit examples that can be quickly built to be examined by the experimenter. One is a very good (low noise) crystal oscillator while another is a very poor (noisy) circuit. 4.5— Crystal oscillators: The discussion is practical, including several examples of VXO circuits, for they are very popular among experimenters. -4.6—Voltage Controlled Oscillators: The VCO is now the most common oscillator form. This results from synthesizers having replaced free running LC oscillator systems. A related problem is that mechanically variable capacitors are disappearing. The VCO is illustrated with some practical circuits where we have measured both tuning frequency Vs control voltage and oscillator noise. One circuit is used later in the book in a QRP transceiver. +4.6—Voltage Controlled Oscillators + +* The VCO is now the most common oscillator form. This results from synthesizers having replaced free running LC oscillator systems. A related problem is that mechanically variable capacitors are disappearing. The VCO is illustrated with some practical circuits where we have measured both tuning frequency Vs control voltage and oscillator noise. One circuit is used later in the book in a QRP transceiver. +* see [LEAP#273 Voltage Controlled Oscillator](../../Electronics101/VoltageControlledOscillator/) 4.7—Frequency Synthesis: The chapter moves toward synthesis with a discussion of mixers that operate as phase detectors. This is presented in experimental terms with measurements we performed. The characterized phase detector is then combined with a VCO and an op-amp that functions as a "loop filter" to generate a phase locked loop, PLL. This is a traditional 2nd order loop. A sidebar presents an even simpler 1st order loop. Next, a practical example, a 1-on-1 offset PLL is built. This was a 14 MHz VCO that was phase locked to a 1.5 MHz reference. The discussion continues with PLLs using programmable digital frequency dividers. The examples use general purpose logic components, but can be extended to include special purpose digital chips. Direct digital synthesis, DDS, is briefly presented and emphasizes the basic character of the function that will generate spurious outputs. A measured example is presented @@ -126,10 +139,18 @@ CMOS integrated circuits. This circuit will function to nearly 50 MHz with modes ### Chapter 5, Mixers and Frequency Multipliers -5.1-Mixer Basics: Our study of mixers begins with a JFET example. After DC characterization, the FET is used as a mixer. Mixing action results from the nonlinear behavior of the active FET while linear behavior produces no mixing. A diode is applied as a switching mode mixer, illustrating the other common form of mixer circuit. +5.1-Mixer Basics + +* Our study of mixers begins with a JFET example. +* After DC characterization, the FET is used as a mixer. Mixing action results from the nonlinear behavior of the active FET while linear behavior produces no mixing. A diode is applied as a switching mode mixer, illustrating the other common form of mixer circuit. Mixer specifications and the related measurements are then considered. The familiar gain and impedance specifications are augmented with parameters for spurious responses, a major mixer problem. Many of the same parameters that describe amplifiers can be applied to mixers. These include noise figure, gain, and intercepts. +* see [LEAP#326 Mixers](../../Electronics101/Mixers/) + +5.2—Balanced Mixer Concepts -5.2—Balanced Mixer Concepts: We now begin a move toward practical circuits with a discussion of balance mixer concepts. JFET, MOSFET, and diodes are all presented in balanced mixers. +* We now begin a move toward practical circuits with a discussion of balance mixer concepts. +* JFET, MOSFET, and diodes are all presented in balanced mixers. +* See [LEAP#327 RF Diode Ring Mixer](../../Electronics101/Mixers/RFDiodeRing/) 5.3—Some Practical Mixers: The next section delves further with a discussion of the Gilbert Cell mixer. This is illustrated not only with off the shelf integrated circuits, but with a version built from discrete components. We present measured results for conversion gain, noise figure, intercept (third order), and even spurious responses. Single ended mixers are considered that use dual gate MOSFETs and cascode connected JFETs. Next, diode ring mixers are presented in more detail with emphasis on the problems of proper termination. This is extended to high level mixers, including an interesting mixer using four MOSFETs. diff --git a/books/ham-radio-for-arduino-and-picaxe/README.md b/books/ham-radio-for-arduino-and-picaxe/README.md index fb3e156da..3f60e2cca 100644 --- a/books/ham-radio-for-arduino-and-picaxe/README.md +++ b/books/ham-radio-for-arduino-and-picaxe/README.md @@ -78,7 +78,7 @@ Debouncing with the PICAXE button command Airgate: A Receive-Only, Low-Power APRS iGate * Project Source Code -* I describe the ArgentData RadioShield, in German: +* I describe the ArgentData RadioShield, in German: * Source code for this project * Argent Data Radio Shield * APRS Information diff --git a/books/pic-microcontroller-projects-in-c/README.md b/books/pic-microcontroller-projects-in-c/README.md index 853adee0a..dee618bab 100644 --- a/books/pic-microcontroller-projects-in-c/README.md +++ b/books/pic-microcontroller-projects-in-c/README.md @@ -6,6 +6,8 @@ Book notes: PIC Microcontroller Projects in C: Basic to Advanced, by Dogan Ibrah ## Notes +I started working with this book, but found some of the code examples to be demonstrating incorrect techniques. + See also: * [amazon](https://amzn.to/3Fnkv7l) diff --git a/books/power-switching-converters/.catalog_metadata b/books/power-switching-converters/.catalog_metadata new file mode 100644 index 000000000..48c25024f --- /dev/null +++ b/books/power-switching-converters/.catalog_metadata @@ -0,0 +1,9 @@ +{ + "id": "#727", + "name": "Power-Switching Converters", + "description": "Book notes: Power-Switching Converters, by Simon S. Ang, Alejandro Oliva. First published April 10, 1995.", + "categories": "Books", + "relative_path": "books/power-switching-converters", + "updated_at": "2025-03-26T13:13:00Z", + "created_at": "2025-03-26T13:13:00Z" +} \ No newline at end of file diff --git a/books/power-switching-converters/README.md b/books/power-switching-converters/README.md new file mode 100644 index 000000000..f1a59e42c --- /dev/null +++ b/books/power-switching-converters/README.md @@ -0,0 +1,111 @@ +# #727 Power-Switching Converters + +Book notes: Power-Switching Converters, by Simon S. Ang, Alejandro Oliva. First published April 10, 1995. + +[![Build](./assets/power-switching-converters_build.jpg?raw=true)](https://amzn.to/3FC3QNe) + +## Notes + +See also: + +* [amazon](https://amzn.to/3FC3QNe) +* [goodreads](https://www.goodreads.com/book/show/1908950.Power_Switching_Converters) + +## Contents + +1 Introduction to Switching Converters + +* 1.1 Introduction +* 1.2 Industry Trends +* 1.3 Linear Converter +* 1.4 Switching Converters +* 1.5 Principles of Steady-State Converter Analysis + +2 Basic Switching Converter Topologies + +* 2.1 Introduction +* 2.2 Buck Converter +* 2.3 Synchronous Rectifier +* 2.4 Boost Converter +* 2.5 Buck-Boost Converter +* 2.6 Cûk Converter +* 2.7 Converter Realization with Nonideal Components + +3 Resonant Converters + +* 3.1 Introduction +* 3.2 Parallel Resonant Circuit - A Review +* 3.3 Series Resonant Circuit — A Review +* 3.4 Classification of Quasi-Resonant Switches +* 3.5 Zero-Current-Switching Quasi-Resonant Buck Converter +* 3.6 Zero-Current-Switching Quasi-Resonant Boost Converter +* 3.7 Zero-Voltage-Switching Quasi-Resonant Buck Converter +* 3.8 Zero-Voltage-Switching Quasi-Resonant Boost Converter +* 3.9 Series-Loaded Resonant Converter +* 3.10 Parallel-Loaded Resonant Converter + +4 Transformerized Switching Converters + +* 4.1 Introduction +* 4.2 Forward Converter +* 4.3 Push-Pull Converter +* 4.4 Half-Bridge Switching Converter +* 4.5 Full-Bridge Switching Converter +* 4.6 Flyback Converter +* 4.7 Zero-Current-Switching Quasi-Resonant Half-Bridge Converter + +5 Control Schemes of Switching Converters + +* 5.1 Introduction +* 5.2 Pulse-Width Modulation +* 5.3 Hysteresis Control: Switching Current Source +* 5.4 Commercial Integrated Circuit Controllers +* 5.5 Control Schemes for Resonant Converters + +6 Dynamic Analysis of Switching Converters + +* 6.1 Introduction +* 6.2 Continuous-Time Linear Models +* 6.3 Discrete-Time Models + +7 Interleaved Converters + +* 7.1 Introduction +* 7.2 Interleaved Buck Converter +* 7.2.1 State-Space Averaged Model +* 7.3 Interleaved Boost Converter +* 7.4 Interleaved Converter Operation Based on Current-Mode +* 7.5 Power Factor Correction + +8 Switched Capacitor Converters + +* 8.1 Introduction +* 8.2 Unidirectional Power Flow SCC +* 8.3 Alternative Switched Capacitor Converter Topologies +* 8.4 State-Space Averaging Model +* 8.5 Bi-Directional Power Flow SCC +* 8.6 Resonant Converters +* 8.7 Losses on Switched-Capacitor Power Converters + +9 Simulation of Switching Converters + +* 9.1 Introduction +* 9.2 PSpice Circuit Representation +* 9.3 PSpice Simulations Using •CIR +* 9.4 PSpice Simulations Using Schematics Entry +* 9.5 Small-Signal Analysis of Switching Converters +* 9.6 Creating Capture Symbols for PSpice Simulation +* 9.7 Solving Convergence Problems +* 9.8 Switching Converter Simulation Using MATLAB +* 9.9 Switching Converter Simulation Using Simulink + +10 Switching Converter Design: Case Studies + +* 10.1 Introduction +* 10.2 Voltage-Mode Discontinuous-Conduction-Mode Buck Converter Design +* 10.3 Digital Control of a Voltage-Mode Synchronous Buck Converter +* 10.4 Digital Control of a Current-Mode Synchronous Buck Converter +* 10.5 UC3842-Based Flyback Design +* 10.6 TopSwitch-Based Flyback Design +* 10.7 TinySwitch-Based Flyback Design +* 10.8 Switching Audio Amplifier diff --git a/books/power-switching-converters/assets/power-switching-converters_build.jpg b/books/power-switching-converters/assets/power-switching-converters_build.jpg new file mode 100644 index 000000000..c208c1b36 Binary files /dev/null and b/books/power-switching-converters/assets/power-switching-converters_build.jpg differ diff --git a/books/power-switching-converters/assets/power-switching-converters_build_thumbnail.jpg b/books/power-switching-converters/assets/power-switching-converters_build_thumbnail.jpg new file mode 100644 index 000000000..886e0be77 Binary files /dev/null and b/books/power-switching-converters/assets/power-switching-converters_build_thumbnail.jpg differ diff --git a/books/radio-and-electronics-cookbook/README.md b/books/radio-and-electronics-cookbook/README.md index ed6b19549..236e7fae9 100644 --- a/books/radio-and-electronics-cookbook/README.md +++ b/books/radio-and-electronics-cookbook/README.md @@ -81,7 +81,7 @@ See also: 66. A UHF corner reflector aerial 67. A switched dummy load 68. A simple Morse oscillator -69. A bipolar transistor tester +69. A bipolar transistor tester - see [LEAP#465 MrBiJuT Simple Transistor Tester](../../Electronics101/BJT/MrBiJuT/) 70. The 'Yearling' 20m receiver 71. Adding the 80 metre band to the Yearling receiver 72. How the Yearling works diff --git a/catalog/atom.xml b/catalog/atom.xml index 26175731d..d8aeaa830 100644 --- a/catalog/atom.xml +++ b/catalog/atom.xml @@ -7,7 +7,7 @@ https://leap.tardate.com/ https://leap.tardate.com/catalog/assets/images/favicon-32x32.png https://leap.tardate.com/catalog/assets/images/favicon-32x32.png - 2025-03-24T13:39:00Z + 2025-03-26T13:13:00Z Paul Gallagher gallagher.paul@gmail.com @@ -257,6 +257,16 @@ + + https://leap.tardate.com/books/power-switching-converters/ + + https://leap.tardate.com/books/power-switching-converters/assets/power-switching-converters_build.jpg + 2025-03-26T13:13:00Z + #727 Power-Switching Converters + Book notes: Power-Switching Converters, by Simon S. Ang, Alejandro Oliva. First published April 10, 1995. + <div><p>Book notes: Power-Switching Converters, by Simon S. Ang, Alejandro Oliva. First published April 10, 1995.</p><img src="https://leap.tardate.com/books/power-switching-converters/assets/power-switching-converters_build.jpg" /></div> + + https://leap.tardate.com/electronics101/digitallogic/pushpulloutputdriver/ @@ -4737,7 +4747,7 @@ https://leap.tardate.com/electronics101/mixers/rfdiodering/assets/rfdiodering_build.jpg 2018-07-08T04:38:55Z - #327 Mixers/RFDiodeRing + #327 RF Diode Ring Mixer a diode ring double-balanced frequency mixer <div><p>a diode ring double-balanced frequency mixer</p><img src="https://leap.tardate.com/electronics101/mixers/rfdiodering/assets/rfdiodering_build.jpg" /></div> @@ -4759,7 +4769,7 @@ https://leap.tardate.com/boldportclub/spoolt/assets/spoolt_build.jpg 2017-07-23T06:38:43Z - #325 BoldportClub/spoolt + #325 BoldportClub spoolt pimp my spoolt - the Boldport Club solder dispenser (Project #15, July 2017) <div><p>pimp my spoolt - the Boldport Club solder dispenser (Project #15, July 2017)</p><img src="https://leap.tardate.com/boldportclub/spoolt/assets/spoolt_build.jpg" /></div> @@ -5185,7 +5195,7 @@ https://leap.tardate.com/electronics101/power/switchmodepowersupplies/basicinvertingbuckboostavrcontrol/assets/basicinvertingbuckboostavrcontrol_build.jpg 2017-05-06T10:05:14Z - #288 Basic Inverting Buck-Boost AVR-control + #288 Basic AVR-controlled Inverting Buck-boost build and test an inverting buck-boost converter controlled by an ATtiny85 <div><p>build and test an inverting buck-boost converter controlled by an ATtiny85</p><img src="https://leap.tardate.com/electronics101/power/switchmodepowersupplies/basicinvertingbuckboostavrcontrol/assets/basicinvertingbuckboostavrcontrol_build.jpg" /></div> @@ -7899,8 +7909,8 @@ https://leap.tardate.com/playground/stereolighttrigger/assets/stereolighttrigger_build.jpg 2016-06-19T14:13:24Z #048 StereoLightTrigger - demo an interrupt-driven method for responding to LDR light threshold triggers - <div><p>demo an interrupt-driven method for responding to LDR light threshold triggers</p><img src="https://leap.tardate.com/playground/stereolighttrigger/assets/stereolighttrigger_build.jpg" /></div> + A dual input low-light trigger: demonstrates an interrupt-driven method for an Arduino to respond to LDR light threshold triggers. + <div><p>A dual input low-light trigger: demonstrates an interrupt-driven method for an Arduino to respond to LDR light threshold triggers.</p><img src="https://leap.tardate.com/playground/stereolighttrigger/assets/stereolighttrigger_build.jpg" /></div> diff --git a/catalog/catalog.json b/catalog/catalog.json index 36028aca0..e4cf23649 100644 --- a/catalog/catalog.json +++ b/catalog/catalog.json @@ -219,6 +219,16 @@ "created_at": "2023-12-27T02:00:21Z", "original_relative_path": "Electronics101/LED/FlickerKit" }, + { + "id": "#727", + "name": "Power-Switching Converters", + "description": "Book notes: Power-Switching Converters, by Simon S. Ang, Alejandro Oliva. First published April 10, 1995.", + "categories": "Books", + "relative_path": "books/power-switching-converters", + "updated_at": "2025-03-26T13:13:00Z", + "created_at": "2025-03-26T13:13:00Z", + "original_relative_path": "books/power-switching-converters" + }, { "id": "#726", "name": "Push-Pull Output Driver", @@ -4221,7 +4231,7 @@ }, { "id": "#327", - "name": "Mixers/RFDiodeRing", + "name": "RF Diode Ring Mixer", "description": "a diode ring double-balanced frequency mixer", "categories": "Radio, Mixers", "relative_path": "electronics101/mixers/rfdiodering", @@ -4241,7 +4251,7 @@ }, { "id": "#325", - "name": "BoldportClub/spoolt", + "name": "BoldportClub spoolt", "description": "pimp my spoolt - the Boldport Club solder dispenser (Project #15, July 2017)", "categories": "Boldport, Soldering", "relative_path": "boldportclub/spoolt", @@ -4611,7 +4621,7 @@ }, { "id": "#288", - "name": "Basic Inverting Buck-Boost AVR-control", + "name": "Basic AVR-controlled Inverting Buck-boost", "description": "build and test an inverting buck-boost converter controlled by an ATtiny85", "categories": "Power, ATtiny, Arduino", "relative_path": "electronics101/power/switchmodepowersupplies/basicinvertingbuckboostavrcontrol", @@ -7012,7 +7022,7 @@ { "id": "#048", "name": "StereoLightTrigger", - "description": "demo an interrupt-driven method for responding to LDR light threshold triggers", + "description": "A dual input low-light trigger: demonstrates an interrupt-driven method for an Arduino to respond to LDR light threshold triggers.", "categories": "Sensors, Arduino", "relative_path": "playground/stereolighttrigger", "updated_at": "2016-06-19T14:13:24Z", diff --git a/catalog/sitemap.xml b/catalog/sitemap.xml index 6a8ef26e5..5335c3106 100644 --- a/catalog/sitemap.xml +++ b/catalog/sitemap.xml @@ -66,6 +66,9 @@ https://leap.tardate.com/electronics101/led/flickerkit/ + + https://leap.tardate.com/books/power-switching-converters/ + https://leap.tardate.com/electronics101/digitallogic/pushpulloutputdriver/ diff --git a/notebook/logic_families/README.md b/notebook/logic_families/README.md index 2c3df3b23..728970d9e 100644 --- a/notebook/logic_families/README.md +++ b/notebook/logic_families/README.md @@ -148,7 +148,7 @@ Two to eight input logic gates: ## Credits and References -* [Electronics cookbook by Simon Monk](https://www.goodreads.com/book/show/30796739-electronics-cookbook) +* [Electronics cookbook by Simon Monk](../../books/electronics-cookbook/) * [Logic family](https://en.wikipedia.org/wiki/Logic_family) - wikipedia * [Digital Electronics - Families](https://www.tutorialspoint.com/digital-electronics/digital-electronics-families.htm) * [An Overview of Digital Logic Families](https://www.youtube.com/watch?v=TICSYYKFhys) - youtube diff --git a/playground/AD9833/BasicDemoCycle/README.md b/playground/AD9833/BasicDemoCycle/README.md index a0987dc05..f4949e018 100644 --- a/playground/AD9833/BasicDemoCycle/README.md +++ b/playground/AD9833/BasicDemoCycle/README.md @@ -62,7 +62,7 @@ it is redundant to wrap each command sequence in a transaction. But it is a good NB: many other scripts found on the net pre-date this syntax. It is running at very low frequencies in order to produce a visual demo. It sends the measure waveform to the serial port. -[LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/) reads the data from the serial port and plots the output value over time, with some coloration effects thrown in for good measure. +[LEAP#090 PlotNValues (a simple Processing sketch)](../../PlotNValues/) reads the data from the serial port and plots the output value over time, with some coloration effects thrown in for good measure. Here's a sample trace. It shows a few cycles of each waveform. From the left: diff --git a/playground/AS3935/README.md b/playground/AS3935/README.md index be2c11622..756ee8e05 100644 --- a/playground/AS3935/README.md +++ b/playground/AS3935/README.md @@ -7,7 +7,7 @@ Using the AMS AS3935 Franklin Lightning Sensor with an Arduino over I²C with th ## Notes I first heard about the AMS AS3935 Franklin Lightning Sensor in -[Arduino for Ham Radio](https://www.goodreads.com/book/show/23432504-arduino-for-ham-radio). +[Arduino for Ham Radio](../../books/arduino-for-ham-radio/). They are available as modules with built-in tuned antenna, but are relatively expensive/rare. I finally got my hands on one to experiment with. The AS3935 detects the presence and approach of potentially hazardous lightning activity in the vicinity and provides an estimation on the distance to the head of the storm. @@ -26,7 +26,6 @@ Next steps, and two more projects for my list... * package this up as a complete project. Perhaps with external data logging, and maybe GPS for location and time reference. * I wonder what it would take to construct a lightning detector from first principles? - ## Module Features I found a "CJMCU" version of the module, which conveniently exposes most of the AS3935 pins. @@ -40,7 +39,6 @@ From the vendor description: Based on the AMS reference design, this is the AS39 * Wide supply voltage range: 2.4V - 5.5V * SPI and I²C operations are supported by default, I²C Address 0x03 - ## Module Pins | Module Pin | Description | @@ -57,7 +55,6 @@ From the vendor description: Based on the AMS reference design, this is the AS39 | A0 | I²C address selection LSB | | A1 | I²C address selection MSB | - Some pictures of the module prior to assembly: ![AS3935_module_front](./assets/AS3935_module_front.jpg?raw=true) @@ -69,26 +66,24 @@ Some pictures of the module prior to assembly: The AS3935 supports both SPI and I²C interfaces. A number of libraries/examples exist in the wild: * [AS3935_Wire](https://github.com/THP-JOE/AS3935_Wire) - THP-JOE - - uses the standard Wire library + * uses the standard Wire library * [AS3935 lightning sensor library](https://github.com/stevemarple/AS3935) - stevemarple - - published in [arduinolibraries](https://www.arduinolibraries.info/libraries/as3935) - - uses SoftWire library for I²C + * published in [arduinolibraries](https://www.arduinolibraries.info/libraries/as3935) + * uses SoftWire library for I²C * [AS3935-Arduino-Library](https://github.com/raivisr/AS3935-Arduino-Library) - raivisr - - SPI only + * SPI only * [Arduino for Ham Radio - Chapter 23 Lightning Detector](http://www.w5obm.us/Arduino/Arduino%20for%20Ham%20Radio%20Book/23%20Lightning%20Detector/) - - uses a modified version of AS3935-Arduino-Library: adds I²C support with the I2C library + * uses a modified version of AS3935-Arduino-Library: adds I²C support with the I2C library For this test, I'm not using any of the AS3935-specific libraries. I wanted to see first how far I could get with the standard Wire library. - ### I²C Specifics Addressing: the module exposes two address pins. By default these are not connected (address "0" which is invalid according to I²C specs ... but still appears to work). Here I pull both high for an address of 3. - ## Internal Voltage Regulator The internal voltage regulator can be enabled by connecting EN_VREG to VDD. @@ -98,7 +93,6 @@ The internal voltage regulator can be enabled by connecting EN_VREG to VDD. | ON | 2/4 - 5.5 V | | OFF | 2/4 - 3.6 V | - ## Register Map There are 11 8-bit registers available for read/write, summarised here: @@ -121,7 +115,6 @@ Full scale value of 111111b (63 decimal) indicates "out of range". The result of the energy calculation is stored in registers 0x05, 0x06 and 0x07. The value is just a pure number and has no physical meaning. - ## Example Code The [AS3935.ino](./AS3935.ino) sketch and supporting classes demonstrate the basic operation @@ -150,15 +143,12 @@ It uses the default AS3935 indoor configuration: | DISP_TRCO: | 0 | | | TUN_CAP: | 0000 | | - - ### Libraries * [Arduino Wire](https://www.arduino.cc/en/Reference/Wire) - for AS3935 interface * [Arduino SPI](https://www.arduino.cc/en/Reference/SPI) - for controlling the display * [Adafruit-PCD8544 Library](https://github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library) - display driver - ## Construction and Testing There's a little lightning in the distance right now, so let's see how it runs. @@ -167,12 +157,10 @@ Wired up with an LCD shield and the AS3935 on a breadboard: ![AS3935_breadboard](./assets/AS3935_breadboard.jpg?raw=true) - ![Breadboard](./assets/AS3935_bb.jpg?raw=true) ![Schematic](./assets/AS3935_schematic.jpg?raw=true) - Serial debugging appears on the console: ![trial_1_console](./assets/trial_1_console.png?raw=true) @@ -182,7 +170,6 @@ and compare to the data available from Singapore's [Lightning Alert Information ![lightning-sg-2](./assets/lightning-sg-2.png?raw=true) - ### Capturing a Storm Didn't have to wait too long - today's afternoon rain came with significant lightning activity @@ -195,13 +182,12 @@ This is using the indoor mode and default tuning. ![2018-04-14_console](./assets/2018-04-14_console.png?raw=true) - ## Credits and References * [LEAP#377 Nokia 5110 Shield](../Lcd5110/DIYShield) * [AS3935 Digital Sensor Breakout Board Module SPI I²C Interface Strikes Thunder Rainstorm Storm Distance Detection 2.4V to 5.5V](https://www.aliexpress.com/item/AS3935-Digital-Sensor-Breakout-Board-Module-SPI-I²C-Interface-Strikes-Thunder-Rainstorm-Storm-Distance-Detection-2/32841367748.html) * [AMS AS3935 Franklin Lightning Sensor](http://ams.com/eng/Products/Wireless-Connectivity/Wireless-Sensor-Connectivity/AS3935) - product page -* [Arduino for Ham Radio](https://www.goodreads.com/book/show/23432504-arduino-for-ham-radio) - Chapter 23: Lightening Detector +* [Arduino for Ham Radio](../../books/arduino-for-ham-radio/) - Chapter 23: Lightening Detector * [Arduino for Ham Radio](http://www.w5obm.us/arduino/) - project files * [Lightning Alert Information System](http://www.weather.gov.sg/lightning/lightning/lightningalertinformationsystem.jsp) - Meteorological Service Singapore * [..as mentioned on my blog](https://blog.tardate.com/2018/04/leap379-as3935-lightning-sensor.html) diff --git a/playground/ElectretADC/README.md b/playground/ElectretADC/README.md index 168c3606d..922aad022 100644 --- a/playground/ElectretADC/README.md +++ b/playground/ElectretADC/README.md @@ -2,6 +2,8 @@ Use an Arduino to read the amplified signal from an electret microphone. +![The Build](./assets/ElectretADC_build.jpg?raw=true) + ## Notes The electret microphone is biased to about 1V, and the AC component of the signal tapped via C1. @@ -13,7 +15,7 @@ The microphone signal is then fed to the LM324 set for a non-inverting DC gain o Although the LM324 is not particularly specialised for audio applications, it works OK for a quick test. I'll probably redo this when I have an LM386 Low Voltage Audio Power Amplifier available. -The amplified signal is read by the Arduino and plotted with [LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/). +The amplified signal is read by the Arduino and plotted with [LEAP#090 PlotNValues (a simple Processing sketch)](../PlotNValues/). Here is a sample. The lower trace is the mic signal presented to the non-inverting input, diff --git a/playground/FastAnalogRead/README.md b/playground/FastAnalogRead/README.md index c199c9426..2fbba14b1 100644 --- a/playground/FastAnalogRead/README.md +++ b/playground/FastAnalogRead/README.md @@ -108,7 +108,7 @@ Since one conversion takes 13 ADC clock cycles: ## Credits and References -* [18.9. Measuring Analog Values Quickly](http://www.amazon.com/gp/product/1449313876/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1449313876&linkCode=as2&tag=itsaprli-20&linkId=5F6YF3D5RCEZYXUU) - from the Arduino Cookbook +* [18.9. Measuring Analog Values Quickly - from the [Arduino Cookbook](../../books/arduino-cookbook/) * [ATmega328P Product Info](https://www.microchip.com/wwwproducts/en/ATmega328P) * [AVR120: Characterization and Calibration of the ADC on an AVR - AN_2559](https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en591791) * [analogRead()](https://www.arduino.cc/en/Reference/AnalogRead) diff --git a/playground/GpsBasics/README.md b/playground/GpsBasics/README.md index 4b7a24c6b..21e9ab0e9 100644 --- a/playground/GpsBasics/README.md +++ b/playground/GpsBasics/README.md @@ -28,13 +28,13 @@ Specifications (as far as I've been able to glean from the Internet): * Antenna size: 25 mm x 25 mm Features: + * use the XM37-1612 module. MTK platform, with high gain active antenna * TTL level, compatible with the 3.3v / 5v system * the default baud rate: 9600 * with rechargeable backup battery, can save the ephemeris data when it power off, and make the boot warm. * Suitable for RC Quadcopter, Browser - ### Listening to Raw GPS Module Output The module has basic serial RX/TX connectors, that runs at 9600 baud. @@ -111,7 +111,6 @@ intended for Serial-Data Networking of Marine Electronic Devices. The full [NMEA Standards](https://www.nmea.org/content/nmea_standards/nmea_standards.asp) are priced way beyond the reach of a weekend tinkerer. But happily there is enough information floating around the net to at least make sense of the messages coming out of NEMA-compatible products. - With the help of Glenn Baddeley's [GPS - NMEA sentence information](http://home.mira.net/~gnb/gps/nmea.html) site, I can make some sense out of the trace captured above. For example: @@ -137,14 +136,12 @@ Followed by interpreted sentences from the GPS unit: * $GPGLL - Geographic position, latitude / longitude * $GPGSA - GPS DOP and active satellites - ## Using NEMA GPS Data on an Arduino The [TinyGPSPlus](https://github.com/mikalhart/TinyGPSPlus) library parses the NEMA codes and provides a nice API for getting the results. It can work in conjunction with [SoftwareSerial](https://www.arduino.cc/en/Reference/SoftwareSerial) library to allow GPS serial connections on pins other than 0/1. - ## Code The [GpsBasics.ino](./GpsBasics.ino) sketch is a simple demonstration, heavily influenced by the TinyGPSPlus examples. @@ -152,7 +149,6 @@ The [GpsBasics.ino](./GpsBasics.ino) sketch is a simple demonstration, heavily i I'm using an Arduino with [Nokia 5110 Shield](../Lcd5110/DIYShield), so in addition to logging detailed GPS readings to the serial port, it displays the basic time and location information on the LCD. - ### Libraries Used * [TinyGPSPlus](https://github.com/mikalhart/TinyGPSPlus) - for decoding NEMA data @@ -161,7 +157,6 @@ to the serial port, it displays the basic time and location information on the L * [Adafruit_GFX](https://github.com/adafruit/Adafruit-GFX-Library) - LCD graphics support * [Adafruit_PCD8544](https://github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library) - LCD display driver - ### Output A summary is displayed on the LCD: @@ -187,16 +182,15 @@ And details logged to serial output: | TXD | GPS_TX | 4 (RX) | GPS_RX_PIN | | RXD | GPS_RX | 3 (TX) | GPS_TX_PIN | - ## Credits and References -* [LEAP#377 Nokia 5110 Shield](../Lcd5110/DIYShield) +* [LEAP#377 Nokia 5110 Shield](../Lcd5110/DIYShield/) * [Ublox GY-NEO6MV2 GPS Module](https://www.aliexpress.com/item/New-Arrival-Ublox-GY-NEO6MV2-GPS-Module-Aircraft-Flight-Controller-For-Arduino-APM-2-5-Module/32611452973.html) - from seller on aliexpress * [GY-NEO6MV2 GPS Module](https://www.openimpulse.com/blog/products-page/product-category/gy-neo6mv2-gps-module/) - similar device, with datasheet available * [TinyGPSPlus](https://github.com/mikalhart/TinyGPSPlus) - customizable Arduino NMEA parsing library * [SoftwareSerial](https://www.arduino.cc/en/Reference/SoftwareSerial) * [Using a GPS receiver for Arduino](https://sandervandevelde.wordpress.com/2015/12/03/using-a-gps-receiver-for-arduino/) - useful blog post by Sander van de Velde -* [6.14. Getting Location from a GPS](http://www.amazon.com/gp/product/1449313876/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1449313876&linkCode=as2&tag=itsaprli-20&linkId=5F6YF3D5RCEZYXUU) - from the Arduino Cookbook +* 6.14. Getting Location from a GPS - from the [Arduino Cookbook](../../books/arduino-cookbook/) * [NMEA data](http://www.gpsinformation.org/dale/nmea.htm) - great background on NEMA data * [GPS - NMEA sentence information](http://home.mira.net/~gnb/gps/nmea.html) - Glenn Baddeley * [NMEA Standards](https://www.nmea.org/content/nmea_standards/nmea_standards.asp) diff --git a/playground/HeartQuotes/README.md b/playground/HeartQuotes/README.md index 29e58ee2d..02d610e92 100644 --- a/playground/HeartQuotes/README.md +++ b/playground/HeartQuotes/README.md @@ -52,13 +52,13 @@ This gets parsed down into just the actual "quote" part: ### Parts for a breadboard build -* [Arduino Uno R3](http://www.amazon.com/gp/product/B00F6JCV20/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=B00F6JCV20&linkCode=as2&tag=itsaprli-20&linkId=O34GVKFAZ6FVDC6W) or similar -* [Arduino Ethernet Shield](http://www.amazon.com/gp/product/B00EU7447Y/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=B00EU7447Y&linkCode=as2&tag=itsaprli-20&linkId=QJYL7QLWFGQVGUF5) +* Arduino Uno R3 or similar +* Arduino Ethernet Shield * Breadboard -* [4 Pin DIP PCB Momentary Push Button Tactile Switch](http://www.amazon.com/gp/product/B008MLKJ3C/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=B008MLKJ3C&linkCode=as2&tag=itsaprli-20&linkId=6UORZDXT6S7AZRZ7) -* 16x2 LCD (I used a [QC1602A](./../BetterWithBacon/assets/LCD_QC1602A_datasheet.pdf?raw=true "QC1602A Datasheet")) +* 4 Pin DIP PCB Momentary Push Button Tactile Switch +* 16x2 LCD - I used a [QC1602A](./../BetterWithBacon/assets/LCD_QC1602A_datasheet.pdf) ## Credits and References -* HTTP GET based on the Arduino WebClient example http://arduino.cc/en/Tutorial/WebClient -* LCD output based on the Arduino LiquidCrystal examples http://arduino.cc/en/Tutorial/LiquidCrystal +* HTTP GET based on the Arduino WebClient example +* LCD output based on the Arduino LiquidCrystal examples diff --git a/playground/IR/TestIR/README.md b/playground/IR/TestIR/README.md index 708b34a2f..91b989960 100644 --- a/playground/IR/TestIR/README.md +++ b/playground/IR/TestIR/README.md @@ -2,11 +2,13 @@ Tests raw IR reception. +![The Build](./assets/TestIR_build.jpg?raw=true) + ## Notes An exploration of IR Sensor reception based on the [adafruit sample code available here](https://learn.adafruit.com/ir-sensor/using-an-ir-sensor). -I've cleaned up the code a bit and modified it to optionally pump data out for plotting with [LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/). This provides a simple graphical illustration of the PWM characteristics of IR protocols. +I've cleaned up the code a bit and modified it to optionally pump data out for plotting with [LEAP#090 PlotNValues (a simple Processing sketch)](../../PlotNValues/). This provides a simple graphical illustration of the PWM characteristics of IR protocols. Here's a sample trace of the "0" key being pressed on a common MP3 player remote control: @@ -16,7 +18,7 @@ And another showing an LG remote control "power on/off" key press: ![processing trace](./assets/LG_key_power.png?raw=true) -This all got me reading [IR Remote Control Theory](http://www.sbprojects.com/knowledge/ir/index.php) to better understand operation and protocols. +This all got me reading IR Remote Control Theory to better understand operation and protocols. Next step is to start decoding the signals, however for that I might avoid re-inventing the wheel and instead try the [IRremote library](https://github.com/shirriff/Arduino-IRremote). ### Construction @@ -29,7 +31,9 @@ Next step is to start decoding the signals, however for that I might avoid re-in ## Credits and References -* [IR Remote Control Theory](http://www.sbprojects.com/knowledge/ir/index.php) - the best reference I've found so far for IR theory and also protocol details. +* IR Remote Control Theory - the best reference I've found so far for IR theory and also protocol details. + * originally + * now offline, but available at [archive.org](https://web.archive.org/web/20170821162518/http://sbprojects.com/knowledge/ir/index.php) * [Using an IR Sensor](https://learn.adafruit.com/ir-sensor/using-an-ir-sensor) - a good IR tutorial that this project is based upon * [TSOP1838 datasheet](http://www.alldatasheet.com/datasheet-pdf/pdf/26604/VISHAY/TSOP1838.html) - one of many similar IR sensors * [Port Registers](http://www.arduino.cc/en/Reference/PortManipulation) - explains Arduino raw port methods diff --git a/playground/Internals/README.md b/playground/Internals/README.md index 635174d86..1dd181233 100644 --- a/playground/Internals/README.md +++ b/playground/Internals/README.md @@ -26,7 +26,7 @@ Reporting on the digital pins relies on macros from Arduino core: * [digitalPinToInterrupt](https://github.com/arduino/ArduinoCore-avr/blob/3d09a51bd20f095e1354243e6d8addedfcb6001e/variants/standard/pins_arduino.h#L79) * [digitalPinHasPWM](https://github.com/arduino/ArduinoCore-avr/blob/3d09a51bd20f095e1354243e6d8addedfcb6001e/variants/standard/pins_arduino.h#L32) -Since these are marcos based on the compiled source, they don't actually interogate the hardware - just report on the board +Since these are marcos based on the compiled source, they don't actually interrogate the hardware - just report on the board selected at compile time. ### Analog Pins @@ -36,7 +36,7 @@ Reporting on the analog pins relies on macros from Arduino core: * [`NUM_ANALOG_INPUTS`](https://github.com/arduino/ArduinoCore-avr/blob/3d09a51bd20f095e1354243e6d8addedfcb6001e/variants/standard/pins_arduino.h#L29) * [analogInputToDigitalPin](https://github.com/arduino/ArduinoCore-avr/blob/3d09a51bd20f095e1354243e6d8addedfcb6001e/variants/standard/pins_arduino.h#L30) -Since these are marcos based on the compiled source, they don't actually interogate the hardware - just report on the board +Since these are marcos based on the compiled source, they don't actually interrogate the hardware - just report on the board selected at compile time. ### Processor Details @@ -45,10 +45,9 @@ Reporting on processor details relies on macros from Arduino core: * [clockCyclesPerMicrosecond](https://github.com/arduino/ArduinoCore-avr/blob/3d09a51bd20f095e1354243e6d8addedfcb6001e/cores/arduino/Arduino.h#L104) macro -Since these are marcos based on the compiled source, they don't actually interogate the hardware - just report on the board +Since these are marcos based on the compiled source, they don't actually interrogate the hardware - just report on the board selected at compile time. - ### Memory Map The AVR-libc manual has good information on @@ -61,21 +60,19 @@ A good summary explanation is available at The forum post on [Map layout of RAM](http://forum.arduino.cc/index.php?topic=186630.0) has a good example of accessing memory region addresses. I first saw a trick for calculating free memory in 17.4. Storing and Retrieving Strings in Program Memory from the -[Arduino Cookbook](http://www.amazon.com/gp/product/1449313876/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1449313876&linkCode=as2&tag=itsaprli-20&linkId=5F6YF3D5RCEZYXUU) - it basically calculating the delta between the address of a new function-level variable and +[Arduino Cookbook](../../books/arduino-cookbook/) - it basically calculating the delta between the address of a new function-level variable and first location not yet allocated. - ### EEPROM The EEPROM address size is reported based on the [E2END](https://www.nongnu.org/avr-libc/user-manual/group__avr__io.html) macro. -This is correct according to the board selection, hwoever it doesn't actually verify that is the actual EEPROM on the board. +This is correct according to the board selection, however it doesn't actually verify that is the actual EEPROM on the board. There are techniques for probing EEPROM to verify the actual size (not implemented in this sketch). See for example [Re: Runtime determination of EEPROM size](http://forum.arduino.cc/index.php?topic=120346.msg905783#msg905783) - ## Output Full Transcript Here's an example of the full output @@ -196,6 +193,6 @@ It verifies some of the basic memory details reported by the sketch, like `__bss ## Credits and References -* Chapter 17. Advanced Coding and Memory Handling - [Arduino Cookbook](http://www.amazon.com/gp/product/1449313876/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1449313876&linkCode=as2&tag=itsaprli-20&linkId=5F6YF3D5RCEZYXUU) -* [A Tour of Arduino Internals](http://urbanhonking.com/ideasfordozens/2009/05/18/an_tour_of_the_arduino_interna/) - interesting blog post disecting how pin operations actually interact with the AVR microcontroller +* Chapter 17. Advanced Coding and Memory Handling - [Arduino Cookbook](../../books/arduino-cookbook/) +* [A Tour of Arduino Internals](http://urbanhonking.com/ideasfordozens/2009/05/18/an_tour_of_the_arduino_interna/) - interesting blog post dissecting how pin operations actually interact with the AVR microcontroller * [Atmega_Self_Read_Signature](https://github.com/nickgammon/arduino_sketches/tree/master/Atmega_Self_Read_Signature) - part of Nick Gammon's suite of interesting sketches diff --git a/playground/JarabeTapatio/README.md b/playground/JarabeTapatio/README.md index d664f215d..45d05b537 100644 --- a/playground/JarabeTapatio/README.md +++ b/playground/JarabeTapatio/README.md @@ -4,7 +4,6 @@ Play The Mexican Hat Dance on a piezo buzzer! Here's a quick demo: [![JarabeTapatio](https://img.youtube.com/vi/oAiCtdJKnDU/0.jpg)](https://www.youtube.com/watch?v=oAiCtdJKnDU) - ## Notes A simplified version of the melody in scored in this [GuitarPro](./assets/Jarabe Tapatío simple melody.gpx) file. @@ -30,4 +29,4 @@ The LM 386 is used in the default configuration, which results in a relatively l * [LM 386 datasheet](https://www.futurlec.com/Linear/LM386N-1.shtml) * Based on the [Arduino Tone](http://arduino.cc/en/Tutorial/Tone) example -* Enhanced with ideas from 9.2 Playing a Simple Melody in the [Arduino Cookbook](http://www.amazon.com/gp/product/1449313876/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1449313876&linkCode=as2&tag=itsaprli-20&linkId=5F6YF3D5RCEZYXUU) +* Enhanced with ideas from 9.2 Playing a Simple Melody in the [Arduino Cookbook](../../books/arduino-cookbook/) diff --git a/playground/LED7Segment/CombinationalLogicDriver/README.md b/playground/LED7Segment/CombinationalLogicDriver/README.md index 96b534e49..0a9ba9d17 100644 --- a/playground/LED7Segment/CombinationalLogicDriver/README.md +++ b/playground/LED7Segment/CombinationalLogicDriver/README.md @@ -31,14 +31,12 @@ Based on what's in my part drawers, this is my goal: Ben demonstrated a circuit with a common-anode display and using only NOT, AND, OR gates. That's good - stops me from simply copying the circuit. I'll have to go back to first principles! - ### Input and Output I'm using the `a,b,c,d,e,f,g,dp` naming convention for the LED pins, and I'll call the 4 inputs `w,x,y,z`. So the input to output transformation required for the digits 0-9 is as follows: - | Decimal Digit | w | x | y | z | a | b | c | d | e | f | g | |---------------|---|---|---|---|---|---|---|---|---|---|---| | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | @@ -71,7 +69,7 @@ So perhaps time to dust off my crusty knowledge of [Combinational logic](https://en.wikipedia.org/wiki/Combinational_logic), [Karnaugh Maps](https://en.wikipedia.org/wiki/Karnaugh_map) and methods for simplification of boolean functions. -I even opened my 1979 edition of [Digital Logic & Computer Design](https://www.goodreads.com/book/show/325725.Digital_Logic_Computer_Design) for the first time in years (I had to find it first). +I even opened my 1979 edition of [Digital Logic & Computer Design](../../../books/digital-logic-and-computer-design/) for the first time in years (I had to find it first). So bearing that all in mind.. what follows is my analysis and derivation of the transformation functions I'll build into a circuit. I managed to get something that works, but I certainly don't guarantee it is the simplest solution possible. @@ -82,7 +80,6 @@ Some useful identities: x + y == (x'y')' i.e. OR(x, y) == NAND(NOT(x), NOT(y)) x'y + xy' == XOR(x,y) - #### Transformation Functions These are the final tranformation functions for the circuit design. @@ -100,7 +97,6 @@ Derivations and notes follow. | f(f) | OR(w, OR(NOR(y, NOR(x, NOT(z))), NOR(NOT(x), z))) | | f(g) | NAND(NOT(w), OR(NOR(x, y), NOR(NOT(x), OR(NOT(y), NOT(z))))) | - #### f(a) By inspection, `a` is only low in two cases, so the simplest starting point is probably `f(a)'` as a sum of minterms: @@ -136,7 +132,6 @@ Again by inspection, `c` is only low in one case, so the simplest starting point So `f(c) = NAND(NOR(w, x), NOR(z, NOT(y)))` - #### f(d) `d` is low in four cases, so the inverse `f(d)'` can be expressed as a sum of 4 minterms: `m1 + m4 + m7 + m9`. @@ -176,7 +171,6 @@ By map inspection: = (x + z)' + (y' + z)' = OR(NOR(x, z), NOR(z, NOT(y))) - #### f(f) `f` is low in four cases, so easiest to express the inverse `f(f)'` as a sum of 4 minterms: `m1 + m2 + m3 + m7` @@ -198,7 +192,6 @@ By map inspection: = OR(w, NOR(y, NOR(x, NOT(z))), NOR(NOT(x), z)) = OR(w, OR(NOR(y, NOR(x, NOT(z))), NOR(z, NOT(x)))) - #### f(g) By inspection, `g` is only low in three cases, so the simplest starting point is probably `f(g)'` as a sum of minterms: @@ -213,7 +206,6 @@ By inspection, `g` is only low in three cases, so the simplest starting point is So `f(g) = NAND(NOT(w), OR(NOR(x, y), NOR(NOT(x), OR(NOT(y), NOT(z)))))` - ## Construction Distinct gates, after decomposition and sorting: @@ -282,7 +274,7 @@ Driving it with an Arduino, see the [CombinationalLogicDriver.ino](./Combination ## Credits and References -* [Digital Logic & Computer Design](https://www.goodreads.com/book/show/325725.Digital_Logic_Computer_Design) - M. Morris Mano +* [Digital Logic & Computer Design](../../../books/digital-logic-and-computer-design/) - M. Morris Mano * [Boolean Algebra](https://en.wikipedia.org/wiki/Boolean_algebra) - wikipedia * [Combinational logic](https://en.wikipedia.org/wiki/Combinational_logic) - wikipedia * [De Morgan's laws](https://en.wikipedia.org/wiki/De_Morgan%27s_laws) - wikipedia diff --git a/playground/MonostablePulseExtender/README.md b/playground/MonostablePulseExtender/README.md index 7c66bae82..6024c016f 100644 --- a/playground/MonostablePulseExtender/README.md +++ b/playground/MonostablePulseExtender/README.md @@ -2,6 +2,8 @@ Use an Arduino to test the behaviour of a 74LS122 monostable with external timing configuration and plot the results. +![The Build](./assets/MonostablePulseExtender_build.jpg?raw=true) + ## Notes The 74LS122 monostable multivibrator in this circuit has pulse width programmed by selection of external resistance and capacitance values @@ -19,7 +21,7 @@ or be reduced by use of the overriding clear. In this circuit an Arduino sends high-level-active (B) input pulses to trigger the monostable. LEDs are separately connected to output Q and Q complement, so they will toggle as the pulse goes high and low respectively. -The Arduino also reads output Q with an analog input pin and sends the data to [LEAP#090 PlotNValues (a simple Processing sketch)](https://leap.tardate.com/playground/plotnvalues/). +The Arduino also reads output Q with an analog input pin and sends the data to [LEAP#090 PlotNValues (a simple Processing sketch)](../PlotNValues/). Here's a trace of the behaviour. The lower trace is the trigger state, and the upper trace is the gate output. ![processing trace](./assets/processing_trace.png?raw=true) @@ -35,4 +37,4 @@ Here's a trace of the behaviour. The lower trace is the trigger state, and the u ## Credits and References * [74LS122 Datasheet](https://www.futurlec.com/74LS/74LS122.shtml) -* [Monostable122](../../Electronics101/Monostable122) - similar circuit with manual input instead of an Arduino +* [LEAP#075 Monostable 74LS122](../../Electronics101/Monostable122/) - similar circuit with manual input instead of an Arduino diff --git a/playground/NTP/NtpClientDemo/README.md b/playground/NTP/NtpClientDemo/README.md index 4ef55c5db..72cd3b79d 100644 --- a/playground/NTP/NtpClientDemo/README.md +++ b/playground/NTP/NtpClientDemo/README.md @@ -56,7 +56,7 @@ Another way getting connected on macOS is to use screen: * [udp-ntp-client example](https://docs.arduino.cc/tutorials/ethernet-shield-rev2/udp-ntp-client/) * [name](https://github.com/arduino-libraries/NTPClient) -* [Arduino Uno R3](http://www.amazon.com/gp/product/B00F6JCV20/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=B00F6JCV20&linkCode=as2&tag=itsaprli-20&linkId=O34GVKFAZ6FVDC6W) or similar -* [Arduino Ethernet Shield](http://www.amazon.com/gp/product/B00EU7447Y/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=B00EU7447Y&linkCode=as2&tag=itsaprli-20&linkId=QJYL7QLWFGQVGUF5) +* Arduino Uno R3 or similar +* Arduino Ethernet Shield * [Simple Network Time Protocol - NTP with Ruby](https://codingkata.tardate.com/ruby/ntp/) -* [Network Time Protocol](https://en.wikipedia.org/wiki/Network_Time_Protocol) - wikipedia \ No newline at end of file +* [Network Time Protocol](https://en.wikipedia.org/wiki/Network_Time_Protocol) - wikipedia diff --git a/playground/PiezoVibrationDetector/README.md b/playground/PiezoVibrationDetector/README.md index d3ff0d249..c04ba2acb 100644 --- a/playground/PiezoVibrationDetector/README.md +++ b/playground/PiezoVibrationDetector/README.md @@ -56,7 +56,6 @@ The analog comparator will use two pins: | PD6 | PCINT22/OC0A/AIN0 | 6 | Analog Comparator Positive Input - raw piezo pulse input | | PD7 | PCINT23/AIN1 | 7 | Analog Comparator Negative Input - adjustable threshold reference voltage | - There are two registers of significance for setting this up: ![ADCSRB_register](./assets/ADCSRB_register.png?raw=true) @@ -74,10 +73,8 @@ The Analog Comparator Interrupt Flag is set to enable interrupts, and the ACIS1 | 1 | 0 | Comparator Interrupt on Falling Output Edge | | 1 | 1 | Comparator Interrupt on Rising Output Edge | - The code sets a rising edge interrupt and implements the interrupt service routine to record the time between beats. - ### Counting Beats We want to extract a single pulse from the noisy raw piezo input, so it needs filtering and "de-bouncing". @@ -117,5 +114,5 @@ Finished "tap pad": * [What is the fastest music humanly possible?](https://www.youtube.com/watch?v=h3kqBX1j7f8) - Adam Neely * [Exponential moving average](https://en.m.wikipedia.org/wiki/Moving_average#Exponential_moving_average) * [Using the Arduino Analog Comparator](http://www.gammon.com.au/forum/?id=11916) -* 6.6 Detecting Vibration, [Arduino Cookbook](https://www.goodreads.com/book/show/11222094-arduino-cookbook) +* 6.6 Detecting Vibration, [Arduino Cookbook](../../books/arduino-cookbook/) * [..as mentioned on my blog](https://blog.tardate.com/2018/02/leap376-piezo-vibration-detector-and-bpm-counter.html) diff --git a/playground/Popcorn/README.md b/playground/Popcorn/README.md index 77970ccd1..fbd27881b 100644 --- a/playground/Popcorn/README.md +++ b/playground/Popcorn/README.md @@ -6,7 +6,6 @@ Here's a quick video of the circuit in action: [![Popcorn](https://img.youtube.com/vi/ntVrqIyf4y8/0.jpg)](https://www.youtube.com/watch?v=ntVrqIyf4y8) - ## Notes ### Construction @@ -20,4 +19,4 @@ Here's a quick video of the circuit in action: ## Credits and References * Based on the [Arduino Tone](http://arduino.cc/en/Tutorial/Tone) example -* Enhanced with ideas from 9.2 Playing a Simple Melody in the [Arduino Cookbook](http://www.amazon.com/gp/product/1449313876/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1449313876&linkCode=as2&tag=itsaprli-20&linkId=5F6YF3D5RCEZYXUU) +* Enhanced with ideas from 9.2 Playing a Simple Melody in the [Arduino Cookbook](../../books/arduino-cookbook/) diff --git a/playground/PushbuttonLED/README.md b/playground/PushbuttonLED/README.md index 148370007..2ef1f36d3 100644 --- a/playground/PushbuttonLED/README.md +++ b/playground/PushbuttonLED/README.md @@ -10,7 +10,7 @@ A simple circuit showing how to wire a pushbutton with a pull-down resistor for but pulls high when pressed. Pressing the button will toggle the LED between on and off. -See [LEAP#692](https://leap.tardate.com/electronics101/555timer/latch/) for how to achieve a similar result with a simple 555 timer chip. +See [LEAP#692](../../Electronics101/555Timer/Latch/) for how to achieve a similar result with a simple 555 timer chip. ## The Sketch @@ -31,4 +31,3 @@ The [PushbuttonLED.ino](./PushbuttonLED.ino) sketch: ## Credits and References * Based on the [Arduino Pushbutton example](http://www.arduino.cc/en/Tutorial/Pushbutton) -* [4 Pin DIP PCB Momentary Push Button Tactile Switch](http://www.amazon.com/gp/product/B008MLKJ3C/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=B008MLKJ3C&linkCode=as2&tag=itsaprli-20&linkId=6UORZDXT6S7AZRZ7) diff --git a/playground/RotaryEncoderMethods/README.md b/playground/RotaryEncoderMethods/README.md index d3e775a29..3ec88866a 100644 --- a/playground/RotaryEncoderMethods/README.md +++ b/playground/RotaryEncoderMethods/README.md @@ -18,8 +18,8 @@ It should be possible to hook a rotary encoder directly to an Arduino and sample The [RotaryEncoders](http://playground.arduino.cc/Main/RotaryEncoders) page in the Arduino playground provides some good background and many examples but they all pretty much use the same method - read the two pins and do a direct test to see if moving forwards or reverse. -These are similar to the techniques described in the Arduino Cookbook -[6.10. Tracking the Movement of a Dial](http://www.amazon.com/gp/product/1449313876/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1449313876&linkCode=as2&tag=itsaprli-20&linkId=5F6YF3D5RCEZYXUU). +These are similar to the techniques described in +6.10. Tracking the Movement of a Dial from the [Arduino Cookbook](../../books/arduino-cookbook/). My first attempts were pretty unsatisfactory. At both high and low rotation speeds, I'd routinely see all the possible problems: missed steps, "extra" steps, and unexpected reversals. @@ -155,11 +155,11 @@ In fact it makes things worse, because the program just gets better and better a * [Rotary_encoder](https://en.wikipedia.org/wiki/Rotary_encoder) - wikipedia page * [Rotary library](https://github.com/brianlow/Rotary) * [Arduino Port Registers](https://www.arduino.cc/en/Reference/PortManipulation) - all the info needed for direct port manipulation -* [6.10. Tracking the Movement of a Dial](http://www.amazon.com/gp/product/1449313876/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1449313876&linkCode=as2&tag=itsaprli-20&linkId=5F6YF3D5RCEZYXUU) - from the Arduino Cookbook -* [6.12. Tracking the Movement of a Dial in a Busy Sketch](http://www.amazon.com/gp/product/1449313876/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1449313876&linkCode=as2&tag=itsaprli-20&linkId=5F6YF3D5RCEZYXUU) - from the Arduino Cookbook +* 6.10. Tracking the Movement of a Dial - from the [Arduino Cookbook](../../books/arduino-cookbook/) +* 6.12. Tracking the Movement of a Dial in a Busy Sketch - from the [Arduino Cookbook](../../books/arduino-cookbook/) * [Rotary Encoder: H/W, S/W or No Debounce?](https://hifiduino.wordpress.com/2010/10/20/rotaryencoder-hw-sw-no-debounce/) - good discussion and investigation of different debouncing schemes * [Reading rotary encoder on Arduino](https://www.circuitsathome.com/mcu/programming/reading-rotary-encoder-on-arduino) by Oleg Mazurov * [Rotary encoder interrupt service routine for AVR micros](https://www.circuitsathome.com/mcu/rotary-encoder-interrupt-service-routine-for-avr-micros) updated article by Oleg Mazurov * [Five things I never use in Arduino projects](https://miscsolutions.wordpress.com/2011/10/16/five-things-i-never-use-in-arduino-projects/) - including #5 External debouncing hardware for rotary encoders * [Arduino: Using a rotary encoder](http://practicalusage.com/?p=267) -* [RotaryEncoderModule](../RotaryEncoderModule) - a project that tests a rotary encoder module driving an 8x8 LED array +* [RotaryEncoderModule](../RotaryEncoderModule/) - a project that tests a rotary encoder module driving an 8x8 LED array diff --git a/playground/SolenoidControl/README.md b/playground/SolenoidControl/README.md index 60fe38f57..30b5a2e55 100644 --- a/playground/SolenoidControl/README.md +++ b/playground/SolenoidControl/README.md @@ -45,7 +45,7 @@ A 1N4001 diode provide flyback protection. ## Credits and References -* [8.6. Controlling Solenoids and Relays](http://www.amazon.com/gp/product/1449313876/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=1449313876&linkCode=as2&tag=itsaprli-20&linkId=5F6YF3D5RCEZYXUU) - from the Arduino Cookbook +* 8.6. Controlling Solenoids and Relays - from the [Arduino Cookbook](../../books/arduino-cookbook/) * [Mini push-pull solenoids on aliexpress](https://www.aliexpress.com/item/5pcs-mini-DC3-12V-Push-Pull-Type-Solenoid-Electromagnet-DC-Micro-Solenoid-Free-shipping/32309067252.html) - 3-12V * [S9013 datasheet](https://www.futurlec.com/Transistors/S9013.shtml) * [1N4001-1N4007 datasheet](https://www.futurlec.com/Diodes/1N4001.shtml) diff --git a/playground/StereoLightTrigger/.catalog_metadata b/playground/StereoLightTrigger/.catalog_metadata index aa07c3bc4..63ba79149 100644 --- a/playground/StereoLightTrigger/.catalog_metadata +++ b/playground/StereoLightTrigger/.catalog_metadata @@ -1,7 +1,7 @@ { "id": "#048", "name": "StereoLightTrigger", - "description": "demo an interrupt-driven method for responding to LDR light threshold triggers", + "description": "A dual input low-light trigger: demonstrates an interrupt-driven method for an Arduino to respond to LDR light threshold triggers.", "categories": "Sensors, Arduino", "relative_path": "playground/StereoLightTrigger", "updated_at": "2016-06-19T14:13:24Z", diff --git a/playground/StereoLightTrigger/README.md b/playground/StereoLightTrigger/README.md index dbbaf4b1c..4b11571e1 100644 --- a/playground/StereoLightTrigger/README.md +++ b/playground/StereoLightTrigger/README.md @@ -1,6 +1,8 @@ -# #048 StereoLightTrigger - Dual input Low-light Trigger +# #048 StereoLightTrigger -Demonstrates an interrupt-driven method for an Arduino to respond to LDR light threshold triggers. +A dual input low-light trigger: demonstrates an interrupt-driven method for an Arduino to respond to LDR light threshold triggers. + +![The Build](./assets/StereoLightTrigger_build.jpg?raw=true) ## Notes @@ -43,7 +45,7 @@ when an LDR interrupt has been successfully processed. ### Behaviour -For plots of received light to triggering, see the [LDR Comparator project](https://leap.tardate.com/electronics101/ldr/comparator/) project. +For plots of received light to triggering, see the [LDR Comparator project](../../Electronics101/LDR/Comparator/) project. It uses the same LDR wheatstone Bridge and monitors results with an Arduino. ### Construction @@ -60,4 +62,4 @@ The build uses an Arduino Nano on a breadboard, with all components powered by a * [LM324 datasheet](https://www.futurlec.com/Linear/LM324N.shtml) - Low Power Quad Op-Amp * [Properly terminating an unused op amp](http://www.electronicproducts.com/Analog_Mixed_Signal_ICs/Amplifiers/Properly_terminating_an_unused_op_amp.aspx) -* A similar application of an OpAmp is in "Project 06 - Hi-Lo Trip Detector" from [Beginning Digital Electronics Through Projects](http://www.amazon.com/gp/product/0750672692/ref=as_li_tl?ie=UTF8&camp=1789&creative=390957&creativeASIN=0750672692&linkCode=as2&tag=itsaprli-20&linkId=S6GVIV6DHZABMHTA) +* A similar application of an OpAmp is in "Project 06 - Hi-Lo Trip Detector" from [Beginning Digital Electronics Through Projects](../../books/beginning-digital-electronics-through-projects/)