Kody's Build Log

I have been working on an 8 minute annoying buzzer along with going through Chris’s Current Sink or Swim class.

The 8 minute timer basically consists of one 555 timer that turns on another 555 timer for one second (roughly) every 8 minutes (roughly). The second timer buzzes a buzzer. It is meant to be like those annoying buzzing toys one could buy on amazon.

The 8 minute time arrived, but is not working correctly. It shows 0.65V at the discharge and output pins of the 555 timer that is supposed to delay the buzzing for 8 minutes. Below is a picture of the schematic and pcb layout. Everything else is also on GitHub here GitHub - PhysicsUofRAUI/disruptivetech: place to hold all docs wrt electronics meant to be annoying or disruptive.


Any ideas or suggestions on that problem would be much appreciated.

As for the current sink or swim it is going well, but I am taking some time to brush up on Op-Amps and transistors. I also am trying to do all the simulations with KiCAD.

After I complete the Current Sink or Swim I am going to finish the first board for a project which is meant to hoot at birds if they come too close to the device. That project info can be found here Hooter.

Sorry if this post seems a little scattershot. That’s just how I am sometimes :person_shrugging:

Dear Kody,
The annoying buzzer project sounds hilarious. I think it’s cool you’re working on multiple projects right now and hope you continue to post about them :slight_smile:
I’m just a hobbyist, so I hope someone with more knowledge responds to you, but I’ll give a go at trying to troubleshoot your circuit.
Here’s my questions so I can try and help more:

  1. Just out of curiosity, did you try to breadboard your circuit? If so, did have any issues with it when you did?
  2. Did you use a reference circuit or create it yourself? If you used a reference circuit, can you link to it?
  3. Can you give a list of the actual parts that you ordered or are using? (So I can see the parameters of the parts)

Here’s my best guesses:
I believe that the leakage current of your electrolytic capacitor is great enough to either cause C7 to charge very slowly, or worst case, not at all.
Let’s examine the circuit when it first starts up. Voltage across C7 is 0V. Vf of D1 could be approximately between 0.3-0.7V (depending on the type of diode you’re using), resulting in a voltage drop of 2.3-2.7V across R1.
I = V/R therefore ~5 to 6μA across R1 (437KΩ).
I’m not sure what electrolytic capacitor you’re using, so I pulled up a datasheet from Panasonic. Panasonic Aluminum Electrolytic Capacitors Datasheet It says the leakage current is “I ≦ 0.01 CV or 3 (μA) After 2 minutes (Whichever is greater)”. I’ve seen some graphs that suggest the leakage current is even greater initially. Here’s an example.That means a significant amount of the initial charging current for the capacitor could be leaking through it, seriously affecting the ability of C7 to charge, and therefore affecting your timing.
Also, R2 has a value of ~200MΩ. Doing the same math, the leakage current of the capacitor is much greater than the current that is able to go through that resistor at that voltage. The threshold and trigger pins have a current too, but it seems as if it is a few orders of magnitude lower than that leakage current.

I also think that it is possible that your 555 might not be able to source enough current to power the other 555 timer and the buzzer. I read that a generic buzzer can use ~10mA although I don’t have one to currently test. If you take the datasheet of the 555 timer I used in the project, according to Figure 9, I don’t think it would be able to power the second 555 timer and its buzzer at 3V. If you compare Figure 9 and Figure 10, it seems as if there can be a difference as to how much current the output pin can source versus how much it can sink.
Please take what I said with a grain of salt, as I realize that it is likely that I’m wrong.

Guidelines I’ve found:

  1. According to multiple sources I’ve seen, it’s best to try and use resistor values of between 1K and 1M. “For standard 555 timers use timing resistor values between 1K ohms and 1M ohms.” 555 Timer Tutorial - Resistor Values
  2. According to multiple sources I’ve seen, electrolytic capacitors shouldn’t be used for the 555 timing circuit because of their variability (up to 20% or more) and because of their leakage current. 555 Timer Tutorial - Capacitor Leakage Here is a cool article I found on the leakage current of capacitors depending on type and other parameters: Leakage Current Characteristics Of Capacitors.

Here’s what I’d do if I were you:

  1. I’d breadboard the left part of the schematic, and for output I’d use an LED in series with a 1K resistor and power it with the 3V battery. Does the LED flash with the current components? I’d likely hook up an analog Arduino pin to monitor the output( eg. U3 Output to Arduino A1 and Breadboard GND to Arduino GND) and write a program to display the voltage over time in a graph over the serial monitor (or a program that lets me know when the output reached a threshold voltage and for how long). If it didn’t work, I’d decrease R1 and R2, and increase C7 according to the guidelines on this link or the 555 timer’s datasheet. Also for C7 I’d try using several ceramic or film capacitors in parallel to get the capacitance for the desired timing. You might be able to get away with higher than 1M resistors if you use capacitors with lower leakage currents?
  2. Once I got the left side of the schematic working, I’d breadboard the right side. Instead of hooking it up to timer_out, I’d hook it up to 3V to make sure it worked with the buzzer. If it didn’t work, I’d try powering the buzzer through U2’s output using a transistor or mosfet. Alternatively, I’d try sinking the buzzer with U2’s output instead of sourcing it. If that didn’t work I’d try powering the circuit using a source with a higher voltage (eg. 5V) and capable of sourcing more current (eg. USB power supply) to see if it worked then.
  3. With both the left and right side of the schematic working, I’d hook them up like in your schematic. If it didn’t work, I’d try powering U2 through U3’s output using a transistor or mosfet. If that didn’t work, I’d probably power the circuit using a source with a higher voltage (eg. 5V) and capable of sourcing more current (eg. USB power supply) and see if that worked.

I hope it was what you were looking for and that you found it helpful. Please let me know how your troubleshooting works out.

Regarding your hooting owl circuit, I suggest you look into low power modes for the AVR microcontrollers. Nick Gammon made an amazing post on low power states of microcontrollers. Arduino docs has a great article too.I agree with your posts about having the ATMEGA328P wake up periodically, power the sensor via a mosfet, take a reading, turn off the sensor, then go back to sleep. There are some ultrasonic sensors that work at lower voltages. This one goes down to 3V. If you can get the PCM library to work with the ATMEGA328P running at 8 MHz, then you would probably be able to run the project off 3 AA batteries in series. They’d start off at ~4.5 V and be good until they got down to ~3 V. If you were able to put the ATMEGA328P into sleep mode, waking it up every 8S with the watchdog timer and taking 0.5S to operate the sensor, then you’d be averaging about (8 S * 0.005 mA + 0.5 S * (4 mA Sensor + 4mA ATMega)) / 8.5 S or 475µA instead of the 4 mA you’ve calculated for the sensor alone. The 4 mA sensor value was from your post and the 4mA ATMega was from this datasheet. Assuming 2000 mAh like you did, that’s 2000mAh / 0.475 mA, or ~ 175 days. If you were able to sleep for longer or decrease the on time of the sensor, I totally think it is feasible to power your project for a year off of batteries. I would suggest using the lithium AA batteries because in my experience they can handle -40C a lot better than the alkaline ones.

Sorry for the long reply. I can remove it if it is in the way of your build log.
Take care,
-Murray

Thanks for the great reply (it is by no means too long, I love hearing others thoughts). I am also just a hobbyist at the moment too.

I’ll start with that I solved my 555 buzzer and long timer circuit. Embarrassingly enough the problem was the [expletive] ground. I was sure I double checked all the solders, but when I got the circuit working on the breadboard I rechecked them and sure enough the ground of the long timer was not connected.

Your points about using a larger capacitor are interesting though and I may do that. As to your request about the actual parts the timer is TLC555, and the rest I’ll add to my GitHub soon.

I’m definitely going to read up on capacitor leakage current, and all your great inputs for my hooting owl project.

Thanks again for your reply.

This will be a short build log, because I am a wee bit tired.

I have things to report on three different projects

  1. The Owl Hooting Project.
  • I have received a couple of louder speakers from digikey and I tested the loudest out. It appears to work well (now that I have it working correctly). More info can be found here Hooter Louder Speaker, and a demo can be seen on YouTube https://www.youtube.com/shorts/UxonB4UgZeo.
  • I have also created a base wiring schematic using the ATMEGA328, but after reading Murray’s reply more carefully I realize I need to make some changes to the circuit to turn on and off the ultrasonic sensor (I didn’t include the Mosfet :face_with_open_eyes_and_hand_over_mouth:).
  • main problem with this project is the power still and will be working on it while field testing. Will definitely be looking closely at Murray’s advice again!
  1. The buzzer circuit
  • I ordered a batch mostly assembled from JLCPCB and those aren’t working now!
  • I assembled and tested 5 of them and none of them work. I had the thought it may be because some of the components aren’t designed to operate at 3V so I wired a 9V battery to one and got some action, but not quite right still (more of a weird buffering sound).
  • Right now the plan is to test it at 5V and if it works desolder the timers on one of them and put the timers that I know work on to see if JLCPCB put the wrong timers on (I did check to make sure the ones I ordered operated at 3V).
  1. Current Sink or Swim and OpAmps
  • I finished all of Chris’ videos up to the assembly of the CSOS, but have not yet ordered it yet. I just did not feel like I understood it enough yet.
  • I decided to learn more about OpAmps and while furthering that goal I have simulated many of the classic OpAmp circuits and stored them in a GitHub repo.
  • Now I plan to set up those classic circuits on the bench and go back to the CSOS project and add in some test points so it is easier to test than the original version.

Well I think that is all. I welcome all comments and suggestions.

Its been a long time since I’ve done a build log, so this might be a bit long.

Hooter/Sound Effect Project

  • I redesigned the PCB that will use the ATMEGA328 to include the mosfet to turn on and off the proximity sensor, but found the following problems
    • The ISCP header had no labels on it which made wiring difficult
    • If I want to program it with the Arduino IDE the Rx and Tx pins need to be broken out.
    • The proximity sensor had to be mounted on the opposite side because its pins were ordered wrong.
    • Indicator lights could be added to better trouble shoot what is happening.
  • Currently that PCB is not working, but I will redesign it later once I have a working breadboard prototype (should have been done first anyway). I also want to make it so the sound is louder.
  • I did create a version of the Hooter project that makes halloween sounds (pennywise laugh version here: https://www.youtube.com/watch?v=LFq9oWnGOX0). This version ended up using and Arduino Uno R3 plugged into power and the speaker being powered separately by a battery pack. I also worked in a delay of reading the proximity sensor to prevent the sound effect restarting.
  • For more information about the halloween sound effect you can go to the Hackaday page for it, Scary Sound Effect | Hackaday.io, and my blog post of it on farm hacks Halloween Sounds.

Grain Spoilage detector

  • I redeployed the old Arduino prototype of my grain spoilage detector.
  • Initially none of the cables worked, but that turned out to be because I forgot that a smaller pull up resistor was needed for the bins further away to work. A review of the 4 bins are below:
    • The bin furthest away still needs a smaller pull up resistor. Initially it was never making contact and now it is making contact, but not long enough to actually read data (-100 is an error and then 85 is the default value and currently it oscillates between them).
    • The second furthest away is operating fine.
    • The second closest prevents the device from working. It just never reports data from anything when plugged it. Not sure why at the moment.
    • The closest had its cable ripped out by the force of the grain (will probably need to create cables reinforced with steel cable/rope).
  • this project is in theory my main focus, but I am trying to do a few other projects before to try and gain traction and iterate faster.

Temperature Puck

  • This is going to be a simple puck sized device that can read the temperature using WiFi around a home.
  • It will use MQTT to relay the temperature data to a users cell phone.
  • My goal for this project is to give me experience designing a market ready product from start to finish.

Analog Discovery 3

I have also bought and received the Analog discovery 3. Below are the things I have already done to learn how to use it and what I plan to do with it.

  • I have done the setup and the basic readings that were with that.
  • There is also a list of labs, https://learn.digilentinc.com/classroom/realanalog/, and I have went through a few of them.
    • lab 1.2.2 Dependant sources and MosFets
    • lab 1.4.1 Dusk to Dawn lighting
  • The labs I plan to go through are
    • lab 1.4.4 temperature measurement system
    • all of chapter 5 labs about Op Amps.

After going through all those I may do some more of the labs in that link, but hopefully I’ll know enough of how to use it to start analyzing cooler stuff.

Conclusion

That is all I recall having to report since the last time I did one of these. Hopefully I will get more intentional with my studies here and that will result in more progress and more frequent updates.

Thanks to everyone who read it and feel free to leave any comments or suggestions.

1 Like

Hey. I haven’t done a log in a long time and everything that has happened is all confused, so this log will probably be confusing too.

Temperature Puck

Review of Work Done

  • a MQTT server was created on Digital Ocean to relay messages from an Arduino MKR 1010 to a phone or other 'subscriber of MQTT messages.
  • initially done because my parents pump house froze up resulting in no water for a day. The pump house is an outbuilding that gets heated by a couple of space heaters and sometimes they shut down, so it could freeze up. In this case the pump itself cracked so it was expensive and time consuming. Having a temperature sensor allows us to monitor the temperature.
  • Eventually the MKR 1400 was used because the pump house has tin around it now and that blocks the WiFi connection. It was also found that the GSM was disconnecting from the server about once a day, but that got fixed by putting in a check as to whether or not it is connected to the MQTT server and if it is not it will reconnect.
  • Work on an App using Kivy (a python framework) is on-going and currently is at the point it would on my computer but fails to launch. I am hoping to get it working sometime this week on my phone so that I can move onto other stuff like writing the code to allow users to enter their own WiFi credentials.

You can check out all the work on the temperature puck on the GitHub here: GitHub - PhysicsUofRAUI/temperature-puck: A temperature monitoring device in the form of a puck.

Future work

  • Finish Kivy App.
    • allow users to set up and monitor multiple temperature pucks from the app.
    • view both the current temperature and a graph of the temperature over the last 24 hours or so.
  • Choose development environment/micro-controller family for final version.
    • in the end I want to get away from the Arduino platform because I want to learn more about micro-controller programming by finishing this project.
    • I’ll be reading up on different ways people program projects such that non-tech savy users can set up new products to use WiFi, because that looks like it may be the biggest hurdle.

New Lab/Garage

Over the past 6 months I have been building a new two car garage with a living space above it. The garage will largely be dedicated to working on electronics projects so that is very exciting to me.

My next post will likely show a finished soldering bench that is for the moment just a coffee nook.

Conclusion

Thanks for reading my disorganized mess. Hopefully I’ll start writing updates at least once a month, but we will see if that happens.