POPULARITY
NAMM is officially over and I am releasing this before midnight Pacific time so I am still offically on schedule! On this episode, I am talking to my other business partner, Sean Arbow of Gunstreet to get into what the heck he's been up to the last few years. And let me tell you, it is a LOT of stuff. We chat about: The growth over the last two years. Solderless technology in guitars Understanding passive vs active circuits The evolution of humbuckers Magnetic field shape can drastically change a pickup's sound. Custom metric pots are now available for non-US guitars. Guitar wiring is often misunderstood by many players. Self-employment and the problems around it Rest and recovery are crucial for health and productivity. (In everything) Bend vs Portland Check out Sean's work on his website HERE https://gunstreet.co/ Support The Show And Connect! The Text Chat is back! Hit me up at (503) 751-8577 You can also help out with your gear buying habits by purchasing stuff from Tonemob.com/reverb Tonemob.com/sweetwater or grabbing your guitar/bass strings from Tonemob.com/stringjoy Release your music via DistroKid and save 30% by going to Tonemob.com/distrokid Learn more about your ad choices. Visit megaphone.fm/adchoices
Ep. 155 - Ossie Ahsen of 3 Monkey's Solderless. Down the VH Rabbit Hole!Support the show
We got a request from some folks for "solder-less pin header" - these snap-apart headers look just like your regular pin headers but they have a little slot in the shorter end that can make a cold-contact with pads on a PCB. only thing is, since they are wedged in, you need some good leverage and it takes a few tries to get the hang of it. but they do work, we checked continuity! for quick prototyping, these could be kinda handy. coming soon to the adafruit shop.... Visit the Adafruit shop online - http://www.adafruit.com ----------------------------------------- LIVE CHAT IS HERE! http://adafru.it/discord Subscribe to Adafruit on YouTube: http://adafru.it/subscribe New tutorials on the Adafruit Learning System: http://learn.adafruit.com/ ----------------------------------------- #adafruit #electronics #diy
Baryon Sweeper for the PSP gets a big update allowing it to currently unbrick nearly every model of the PSP out there! In more PSP news, CheatDevice Remastered for the Grand Theft Auto games goes open source. Following last month's news of PS1 ODE devices, we get even more news with the successor of the xStation being announced, this time being a solderless solution called the mStation! In original Xbox news, we see the official Xbox Wireless Adapter get reversed as well the Xenium Black Ice being open sourced. Project Stellar also has a lovely enhancement for those special Xboxes out there with upgraded CPUs, with a small showcase of enhanced game compatibility looked at here. The Switch homebrew tool Lockpick has been taken down, so we look into that as well covering what happened and why? A preview of an upcoming GameCube jewel mod is teased from Laser Bear Industries, and finally we take a brief look at the homebrew port of Zelda's Adventure to the Game Boy!
This week Al & Kasper get into the nitty-gritty on cables! The boys took four various options for cables from DIY make your own style all the way up to high end custom ordered stuff. Solderless, soldered and soldered for you are all in head to head competition to see how each tier holds up under scrutiny. Using two different styles of pedalboard layouts, we get a clear picture on what kinds of results you can expect from different levels of the cable universe. Listen in and enjoy!!
Question Index0:25 Steps to finding a issue with single string buzzing?3:49 My new amp and a old amp that I let go.6:45 How Do you Say AT AT and ASAT?8:01 I have a hard time letting the Friedman Runt 20 go9:25 Thornbucker or Thornbucker Plus?10:51 Thoughts on KT88 tubes?11:50 Best Strat for the classic warm sound?13:10 Where to get a pick guard for PRS Mira X?15:30 Should I sell my PRS Silver Sky?18:14 What are your thoughts on Crimson Guitars?https://www.youtube.com/user/CrimsonCustomGuitars19:04 How much of the amps tone comes from the power tubes?21:58 Why my Marshall Class 5 has no 522:50 Thoughts on the Fender Baja Tele?24:10 Katana or ???26:30 Why I love the Rivera Mini Rock Rec27:57 Princeton 68, 65 or Superchamp?29:04 thoughts on Tonewood amp?30:14 Did I work in the music industry?32:59 Thoughts on Sterling Luke model 34:02 Agufish and what does it mean?https://www.youtube.com/user/thirdykal36:26 What electronics would I upgrade in the James Valentine guitar?38:50 Can you sell your Gibson to buy a Epiphone?46:00 LTD Guitars are great bang for the buck47:30 Indonesia vs China made guitars49:29 Epiphones are not cheaper Gibson versions53:38 Do you think Joe Banomassa plays his on Epiphone?56:25 Thoughts on the Nick Johnson $2500 Schecter?1:00:00 I do not want to use my phone to play guitar1:05:50 Hipshot tuners and Ratio Tuners keep your parts1:10:50 A good way to play metal with headphones at night1:12:57 The REVV G3 video 1:16:48 Robert Baker truly loves REVV1:20:48 What is a good low price bass?1:22:24 What is F spacing?1:27:00 Friedman BE OD in the effects loop?1:28:35 Input on your first guitar1:29:07 Why I do not want to pay $3000 for a made in China1:31:17 Why I think Indonesian Ibanez guitar is $1500. 1:35:08 Brand power does command price1:37:13 Why factories left Korea1:38:39. Solderless cables1:39:50 Thoughts on affordable amps?1:46:40 Glen Fricker Cab shoot outhttps://www.youtube.com/watch?v=vX7ZDrpbD-k1:48:12 Why are the six 6l6 RCA tubes with more than my amp?1:49:40 Thank you guys and see next timeYou can support what I do and show you Know Your Gear. Get your T shirt, hoodie, or coffee cuphttps://teespring.com/stores/know-your-gear-2018Become a Patron member https://www.patreon.com/phillipmcknightKYG Get information early on Facebookhttps://www.facebook.com/Knowyourgear/Want to check my Instagram page. Click herehttps://www.instagram.com/phillip_mcknight/What do the Icons on my videos mean?https://www.youtube.com/watch?v=T4fAvzjncEk&t=60sSupport the show (https://www.patreon.com/phillipmcknightKYG)
There are a couple good use-case scenarios for making a secret knock detector using an Arduino. You are a spy who needs to authenticate your cohorts You are a super hero who wants a secret knock to open the entrance to your lair Whatever the reason - by the end of this tutorial you will know how to use an Arduino, a piezo transducer and a couple other cheap components to make secret knock detector. Here is an overview of exactly what we will talk about in this lesson: The components you will need and how to set up this simple circuit. The concept of operation of this secret knock detector A thorough description of each block of code in the Arduino sketch Why North American grizzly bears love piezo transducers For this secret knock detector circuit you need: Arduino (I use the Arduino Uno) [1] Solderless breadboard [1] 1 Mohm Resistor [1] Piezo transducer (aka buzzer) [1] Jumper wires [4] 5.1V Zener diode (for extra protection) [1] No spill stopper for a “to-go” coffee cup How to set up the Circuit: This is a really simple circuit to setup, below are step-by-step instructions and a breadboard diagram. Place the piezo transducer on the breadboard, with the positive lead and the negative lead on separate rails. Connect the positive lead to pin A0 on the Arduino and the other lead to ground. Finally, use the 1Mohm resistor to connect the leads of the piezo transducer. As an additional level of protection, you might consider adding a 5.1V zener diode between the leads to protect against high voltage spikes from frying your input pin - you might call it a cheap insurance policy. An Overview of this Secret Knock Detectors operation Here is the basic concept of how this will work. We want something to happen when you tap out a secret code. We will create a sequence of soft and hard taps - this will be our secret code which will be represented as 0’s and 1’s in an array. For example: secretKnock[secretKnockLength] = {0, 0, 1, 0}; The code above represents a secret code of soft , soft , hard, soft . The piezo transducer will turn the mechanical pressure created by the tap into a signal that the Arduino analog pin can read. The level of the signal will determine whether a tap gets characterized as soft or hard. The threshold of a soft vs hard tap need to be determined empirically, once you have the circuit built - it will depend on what you have the piezo transducer attached to - I have mine taped to a piece of paper. You should start with the default threshold values provided in the sketch and change them to suit your specific setup. Once a tap signal is picked up by the Arduino, the sketch will compare the entered sequence of taps to the secret code, one tap at a time. If the code is entered correctly, then we will trigger an action on the output pin. In this code below, we trigger an LED to turn on for a couple seconds - but you could trigger a servo arm, a pump, or whatever you might need. If the code is entered incorrectly - nothing happens. Here is the code for your hacking enjoyment: /* A simple sketch to detect a secret knock using a piezo transducer Created JUL 2015 by Michael James http://www.programmingelectronics.com/ This code is in the public domain */ const int outputPin = 6; // led indicator connected to digital pin const int knockSensor = A0; // the piezo is connected to an analog pin const int thresholdHIGH = 150; // threshold value to decide when the detected knock is hard (HIGH) const int thresholdLOW = 120; // threshold value to decide when the detected knock is gentle (LOW) const int secretKnockLength = 4; //How many knocks are in your secret knock /* This is the secret knock sequence * 0 represents a LOW or quiet knock * 1 represents a HIGH or loud knock * The sequence can be as long as you like, but longer codes increase the difficulty of matching */ const int secretKnock[secretKnockLength] = {0, 0, 1, 0}; int secretCounter = 0; //this tracks the correct knocks and allows you to move through the sequence int sensorReading = 0; // variable to store the value read from the sensor pin void setup() { //Set the output pin as an OUTPUT pinMode(outputPin, OUTPUT); //Begin Serial Communication. Serial.begin(9600); } void loop() { // read the piezo sensor and store the value in the variable sensorReading: sensorReading = analogRead(knockSensor); // First determine is knock if Hard (HIGH) or Gentle (LOW) //Hard knock (HIGH) is detected if (sensorReading >= thresholdHIGH) { //Check to see if a Hard Knock matches the Secret Knock in the correct sequence. if (secretKnock[secretCounter] == 1) { //The Knock was correct, iterate the counter. secretCounter++; Serial.println("Correct"); } else { //The Knock was incorrect, reset the counter secretCounter = 0; Serial.println("Fail - You are a spy!"); }//close if //Allow some time to pass before sampling again to ensure a clear signal. delay(100); //Gentle knock (LOW) is detected } else if (sensorReading >= thresholdLOW) { //Check to see if a Gentle Knock matches the Secret Knock in the correct sequence. if (secretKnock[secretCounter] == 0) { //The Knock was correct, iterate the counter. secretCounter++; Serial.println("Correct"); } else { //The Knock was incorrect, reset the counter. secretCounter = 0; Serial.println("Fail - You are a spy!"); }//close if //Allow some time to pass before sampling again to ensure a clear signal. delay(100); }//close if else //Check for successful entry of the code, by seeing if the entire array has been walked through. if (secretCounter == (secretKnockLength) ) { Serial.println("Welcome in fellow Illuminante!"); //if the sececret knock is correct, illuminate the LED for a couple seconds digitalWrite(outputPin, HIGH); delay(2000); digitalWrite(outputPin, LOW); //Reset the secret counter to 0. secretCounter = 0; }//close success check }//close loop If you enjoyed this lesson, you should join our free Arduino Crash Course - it has 19 Video Training lessons all about using Arduino (you can sign up below).
Do you have an application where you want multiple buttons for different user inputs? Maybe you have a timer and you want one button for minutes and another for hours. But there is a problem – you only have room for one button! In this tutorial, we are going to use Arduino to explore how to make one button have the functionality of two or more. Click here to join our 12-part HD Video Course. You Will Need: (1) Momentary push button (5) Jumper wires (1) Solderless breadboard (2) LEDs (2) 220 Ohm resistors Set Up The Circuit: To demonstrate making one button have the functionality of two or more, we will set up a simple circuit with 2 LEDs and a button. Based on how we press the button, different LEDs will illuminate. Follow the instructions and schematic below to get the circuit set up before we dive into the mechanics of the Arduino code. Using a jumper wire, connect any GND pin from the Arduino, to the ground rail on your breadboard. Place an LED on your breadboard, make sure to note which way the long leg is facing. Using a jumper wire, connect pin 13 from your Arduino to the breadboard in the same channel where you have the long leg of the LED attached. Now connect one side of the 220 Ohm resistor to the short leg of the LED, and connect the other leg to the ground rail on the breadboard. The orientation of the resistor doesn’t matter. Repeat this using pin 12, and another LED and resistor. Finally, place your push button on the breadboard. Depending on the style of your pushbutton, they often fit well straddling the long trench that goes through the breadboard. Connect a jumper wire from one side of the button to pin 2 on the Arduino. Connect a jumper wire from the other side of the button to the ground rail on the breadboard. That's it for the circuit setup. Now, when you press the push button (which will electrically connect both sides of the button), pin 2 to will have ground voltage applied. We will use this ground voltage input to trigger our different functions. Examine the Sketch: There are couple ways to implement the multi-function button press using Arduino. One way is to have the number of presses determine the output. For example, a single click might highlight the “hour” field of an LCD timer and a double click might highlight the “minute” field of the display. Another way that we can implement multiple functions with one button is for the user to hold down the button for different lengths of time with the length of the hold determining the output. For example, if the user holds the button for half a second and releases, something happens. If she holds it for 2 seconds, something different happens. This latter method of using button hold length time to determine separate functions is the strategy we will learn here. Before I go any further though, I would like to thank Steve for creating the base Arduino code that we will be using. Steve is a member of the Premium Arduino course (a couple of months ago, he was new to Arduino). While creating a home automation project, he was in need of using a single button to do multiple things, and came up with a very simple way to make it happen. Thanks Steve! Here is the complete sketch, I recommend looking it over first, and then we will discuss it piece by piece below. /*Using a Single Button, create mutliple options based on how long the button is pressed The circuit: * LED attached from pin 13 to ground through a 220 ohm resistor * LED attached from pin 12 to ground through a 220 ohm resistor * one side of momentary pushbutton attached to pin 2 * other side of momentary pushbutton attached to Ground * Note 1: on most Arduinos there is already an LED on the board attached to pin 13. * Note 2: In this circuit, when the button is pressed, Ground Voltage is what will be applied. Created DEC 2014 by Scuba Steve Modified JAN 2015 by Michael James Both members of https://programmingelectronics.com This code is in the public domain */ /////////Declare and Initialize Variables//////////////////////////// //We need to track how long the momentary pushbutton is held in order to execute different commands //This value will be recorded in seconds float pressLength_milliSeconds = 0; // Define the *minimum* length of time, in milli-seconds, that the button must be pressed for a particular option to occur int optionOne_milliSeconds = 100; int optionTwo_milliSeconds = 2000; //The Pin your button is attached to int buttonPin = 2; //Pin your LEDs are attached to int ledPin_Option_1 = 13; int ledPin_Option_2 = 12; void setup(){ // Initialize the pushbutton pin as an input pullup // Keep in mind, when pin 2 has ground voltage applied, we know the button is being pressed pinMode(buttonPin, INPUT_PULLUP); //set the LEDs pins as outputs pinMode(ledPin_Option_1, OUTPUT); pinMode(ledPin_Option_2, OUTPUT); //Start serial communication - for debugging purposes only Serial.begin(9600); } // close setup void loop() { //Record *roughly* the tenths of seconds the button in being held down while (digitalRead(buttonPin) == LOW ){ delay(100); //if you want more resolution, lower this number pressLength_milliSeconds = pressLength_milliSeconds + 100; //display how long button is has been held Serial.print("ms = "); Serial.println(pressLength_milliSeconds); }//close while //Different if-else conditions are triggered based on the length of the button press //Start with the longest time option first //Option 2 - Execute the second option if the button is held for the correct amount of time if (pressLength_milliSeconds >= optionTwo_milliSeconds){ digitalWrite(ledPin_Option_2, HIGH); } //option 1 - Execute the first option if the button is held for the correct amount of time else if(pressLength_milliSeconds >= optionOne_milliSeconds){ digitalWrite(ledPin_Option_1, HIGH); }//close if options //every time through the loop, we need to reset the pressLength_Seconds counter pressLength_milliSeconds = 0; } // close void loop Comments: At the top of the sketch, we find the comments. You should make it a habit to read the comments in a sketch before jumping into the mechanics of the code. The comments should lay the groundwork for what is going to happen in the program and will help you interpret the intent of the code as you begin to analyze it. Declare and Initialize Variables: After the comments, we start initializing and declaring variables. Since, we are going to be tracking time, we need to have a variable to record the length of time a button is being held. We do that with the pressLength_milliSeconds variable: //We need to track how long the momentary pushbutton is held in order to execute different commands //This value will be recorded in seconds float pressLength_Seconds = 0; Now, you might think that the variable name is really long and annoying. And I wouldn’t particularly argue with you – I mean, why would I include milliSeconds in the name of the variable? The reason I do this is because I think including the unit of measurement in the variable name is helpful when other people are trying to read your code. Writing code that other people can read is not only good for other people, but also future versions of yourself who forget what the heck you were thinking when you wrote the code! [End Rant] The next thing we need to set up are the parameters for when options will get executed. In this example, I have two variables for two options: // Define the *minimum* length of time, in milli-seconds, that the button must be pressed for a particular option to occur int optionOne_milliSeconds = 100; int optionTwo_milliSeconds = 2000; Each option is defined by the number of milliseconds that the button must be held for that specific option to get executed. In order to get my first option to happen, I have to hold the button for at least 100 milliseconds which is pretty much a short tap on the button. If I want the second option to happen, then I have to hold the button for at least 2000 milliseconds aka 2 seconds. If you wanted more options, you would add more variables here with their corresponding hold times. Our final initializations will be to specify pin numbers for our button and LEDs. //The Pin your button is attached to int buttonPin = 2; //Pin your LEDs are attached to int ledPin_Option_1 = 13; int ledPin_Option_2 = 12; Setup() the Sketch: The setup() for this sketch is pretty straight forward (if it’s not straight forward to you, make sure to check out our free 12-part Arduino Course, after which this setup will be very familiar to you). We want to make sure that the pin our push button is connected to is set as an INPUT_PULLUP: // Initialize the pushbutton pin as an input pullup // Keep in mind, when pin 2 has ground voltage applied, we know the button is being pressed pinMode(buttonPin, INPUT_PULLUP); We do this to make sure that the button pin is not floating (if you are wondering what the heck that means, you can read more on that here – but if you just roll with me until we get through this tutorial, you should be fine ). We also want to specify the pins that our LEDs are attached to as OUTPUTs, because we will be applying voltages to these pins in order to illuminate them: //set the LEDs pins as outputs pinMode(ledPin_Option_1, OUTPUT); pinMode(ledPin_Option_2, OUTPUT); Finally, it never hurts to start serial communications for debugging purposes. //Start serial communication - for debugging purposes only Serial.begin(9600); With setup() complete, now we can jump into the main loop of our sketch… The Main Loop(): We know we are going to have to measure the length of time the button is pressed, and then record it. To do this, we use a while statement whose condition requires the button pin to be in a LOW state (remember, when we push the button, pin 2 will have a ground voltage applied). //Record *roughly* the tenths of seconds the button in being held down while (digitalRead(buttonPin) == LOW ){ Once the button is pressed and held, the while statement starts executing. The first thing we do in the while statement is to delay 100 milliseconds, and then record that into our time tracking variable: delay(100); //if you want more resolution, lower this number pressLength_milliSeconds = pressLength_milliSeconds + 100; Keep in mind the first time through the loop, pressLength_milliSeconds will be equal to 0, so we are just adding 100 to the variable. It can be handy to know how long the button has been pressed as you add options. To make this easy, we want to print the current value of the pressLength_milliSeconds variable to the serial monitor window: //display how long button is has been held Serial.print("ms = "); Serial.println(pressLength_milliSeconds); Let’s ignore the rest of the code for a second, and imagine what happens if we keep holding the button. The first time through the while loop, we add 100 milliseconds to the time tracking variable and we print that value to the serial port. The next time through loop, we add another 100 milliseconds to the timer counter variable, and print this new value to the serial monitor. As long as the button is being held down, then we keep adding time to the pressLength_milliSeconds variable – this is the crux of the program. When we release the button, the while statement stops, because the condition is no longer met, and we stop adding time to pressLength_milliSeconds. So let’s pretend we held the button for three seconds, and then let go - what happens? Well, as we discussed, the while statement ends and the next line of code we encounter is an if statement. //Option 2 - Execute the second option if the button is held for the correct amount of time if (pressLength_milliSeconds >= optionTwo_milliSeconds){ digitalWrite(ledPin_Option_2, HIGH); } The condition of the if statement requires that the time we held the button be longer than or equal to the time we set for option number two. If you recall, option number two was set to occur with at least 2 seconds of button press time. Since we held the button for three seconds, this if statement will get executed. And all we do is write HIGH voltage to our “option 2” LED, making it illuminate. What if we had only held the button for one second – then what would happen? If this were case, then the first if statement condition would not have been met, but a subsequent else-if statement only requires the button hold time be 100 milliseconds or more – so the second else-if statement would get executed, which turns on the “option 1” LED. //option 1 - Execute the first option if the button is held for the correct amount of time else if(pressLength_milliSeconds >= optionOne_milliSeconds){ digitalWrite(ledPin_Option_1, HIGH); }//close if options Basically, if we hold the button a long time, the second option gets executed. If we hold the button a short time, the first option gets executed. If we wanted to add more options, we add the longer hold options at the top, and the shorter hold options at the bottom. I wouldn’t try to squeeze too many options in a small span of time or it might drive the end user crazy trying figure out the timing. Nor would I try to add more than three options for a single button within a given context, or else you chance making your potential end user want to beat you up. To finish up the sketch, we reset our button press timing variable to zero. This ensures that next time the button is pressed and held, we will start from time zero again. Try On Your Own Challenge: Add another option, which turns off both LEDs. Try adding it before the first option (you will have to adjust the timing) and then after each option. How tight can you squeeze the option time together? Experiment and determine what is a good rule of thumb. Download: PDF of this Arduino Tutorial
Make Weird Music: Discover new artists, learn secret techniques, and share creative music.
Steve Vai's EVO guitar has never sounded better!
Make Weird Music: Discover new artists, learn secret techniques, and share creative music.
Mad Hatter Guitar Products will make a huge difference in the capabilities of your guitar or bass.
Learn when replacement windows can add value and comfort to your home. Get tips on how to safely repair or replace plumbing without a soldering iron or torch. Learn how to keep your home and belongings safe when your house is up for sale. Plus get Learn more about your ad choices. Visit megaphone.fm/adchoices
Learn when replacement windows can add value and comfort to your home. Get tips on how to safely repair or replace plumbing without a soldering iron or torch. Learn how to keep your home and belongings safe when your house is up for sale. Plus get Learn more about your ad choices. Visit megaphone.fm/adchoices