• Update #5

    Alec Probst3 days ago 0 comments

    Hi all,

    This update will show how we're calculating the max distance possible using this communication method. We also have changed the IR LED (again) to get a cost savings and an improvement in communications distance.

    To calculate the max distance our SAO is expected to be able to communicate we, used this document from Everlight . The equation for distance is on page two as: 

    This looks a bit funky but if we break it down it makes sense. dmax is the maximum distance we expect the transmission to work at. We'll be using meters in this equation. Ie is the Emitter Intensity, or a fancy word for saying how bright the LED is. This is in units of mW/sr, or how much power is needed per Steradian. A Steradian is a really weird measurement but it is essentially like a radian in a 2D circle rotated around the center point of that circle to make a 3D version of a radian. Don't worry if that doesn't make sense, it doesn't for us either. The key part is that at higher Ie, we generate more IR light for the receiver to detect. Eemin is the Receiver Irradiance, or how sensitive the receiver is to light. This is in units mW/m^2, or how much power per area we need to detect IR light. The lower the Eemin is, the more light it can detect and the less bright our IR LED needs to be. 

    For our newly chosen IR LED, we need to figure out the Ie. While Digikey does give this to us in the data summary as 150mW/sr @ 100mA, we must limit our circuit to 20mA per output pin on the ATTINY85. Diving into the LED data sheet, we can find the graph below:

    This graph shows us the relationship between the current (x-axis) and the resulting Ie (y-axis). From this, our Ie will be around 40mW/sr. Be careful about reading this graph, both the x and y axis are logarithmic, meaning they don't change as one might expect. Going diagonally on this graph greatly increase both the x-axis and y-axis. One thing to note here is the looking at the 100mA line, we see it crosses over around the 200mW/sr. Digikey was showing the min Ie of 150mW/sr in its summary and this LED may be brighter than this as that value takes into account the variance possible in this LED.

    Now we need to find the Eemin for our receiver. This can be a bit tricky to find but one of the reasons we chose this specific IR Receiver is because it has the graph below that answers our questions:

    This graph shows the relationship between the amount of light around the sensor (x-axis) and how sensitive the receiver is (y-axis). Be careful here, the x-axis is logarithmic while the y-axis is linear. Going to the right increase much faster than moving up the graph. One of the reasons this graph is helpful is that it specifies how bright daylight is (10 W/m^2) and what wavelength is assumed (950nm). Since daylight is the worst case scenario we expect this SAO to be used in, we can follow the 10W/m^2 line up to around 1.5mW/m^2 Eemin. Since the 950nm wavelength estimated for ambient illumination is close to our IR LED's wavelength of 940nm, we should expect this graphs relationship to hold for our setup. Note that this is our worst case sensitivity, if we're in a darker environment than daylight, the sensor will be more sensitive. This makes sense as our sensor has less light hitting it, thus less noise that may interfere with the signal. 

    With all of the required values found, we can now calculate the distance as:

    This isn't too bad, it's about the length of a standard bedroom. We expect that most people will use this indoors and will get more range than this. One thing to note is that while 20mA is the safe current for the ATTINY85, a single pin can technically go up to 40mA if we change the resistor. This could get us a Ie around 90mW/sr and a theoretical range of 7.746 meters in sunlight. We don't recommend this but if anyone does try this, let us know how it works.

    Now that we know the distance, we need to find the new resistor value for our LED. We used Kirchhoff's current...

    Read more »

  • Update # 4

    Dmitry Pustovit4 days ago 0 comments

    Hello again, another update from me! 

    I present: 

    The TV Remote. Infrared Communication SAO. 

    A bunch of updates and changes with this updated so I decided I would go through them in sections. 

    Looks! 

    A bit more TV remoteness has been added to give a bit more of an TV remote appearance. Playing around with adding some fun things to the back of the PCB but will keep that hidden for now. ;) 

    If anyone has more suggestion on how to add to the "TV Remote"ness, please let me know!!! 

    Buttons! 

    A TV remote NEEDS buttons! I just so happen to have a couple hundred buttons laying around so things work would wonderfully. 

    Specifically buttons that look very similar to these: 

    https://www.digikey.com/en/products/detail/cui-devices/TS02-66-50-BK-260-LCR-D/15634249

    (Granted, the ones I have are half a decade old and were from a random amazon seller... Should be fine.) 

    For now the buttons are connected to attiny85 pins 1 and 6 since the they unused. 
    This means by default the top button will act as a reset button. It is possible to change this behavior by setting a fuse in the attiny85 to use pin 1 as a normal pin. Something I will need to look into later.

    Easy Hacking

    A idea I wanted to implement as much as possible is expandability. This is an SAO first and foremost but, it is also at it's heart an attiny85. With that in mind I added optional pin headers to make accessing the attiny85 directly easy. 

    A few small things changed:

    • Rerouted traces a bit
    • Moved resister and capacitor jumper under the resister

    Next Version

    Of course as soon as I am done with this version, a few more nice to haves came out of conversations Alec and I had.

    Specifically: 

    • Optional bridges for connection the GPIO1 and GPIO2 SAO pins to the attiny85.
    • Labels for the optional resistor and capacitors associated with the IR receiver.

    SMD Version

    Now for the big shock (for me), as mentioned earlier Alec pointed out to me that actual rules of the SAO contest! Awkward, I missed those entirely! 

    Specifically, I missed the following: 

    • Within reason, design should avoid need for hand-soldering.
    • SAO must not exceed a footprint of 2" x 1.5" (50 x 40 mm)

    Our design: 

    • Does not use SMD components.
    • Is 60mm x 25mm.  

    Luckily both are simple enough to fix, there should be enough room to shrink the height by 10mm. The components can also be switched to SMD which is something Alec and I are discussing now. 

    Part of the idea was this SAO would be something Alec and I could assemble ourselves and having through hole components makes that much easier. So I've decided to keep working on the existing version in parallel with a SMD version that will be within the design contest rules. 

  • Update #3

    Dmitry Pustovit5 days ago 0 comments

    Hello hello,

    When Alec mentioned an Infrared Communications SAO, one of the first things that came to mind is an old 90s TV Remote. 

    With that as an inspiration, I think I've gotten a reasonable shape down. 

    When discussing with Alec, we realized that technically the resister and capacitor for the IR receiver are optional. To give an option for testing, I've went ahead and added an R3 resister with 0 ohms in Kicad as a solder bridge point. The intention is to give a method to bypass the resistor and capacitor if needed. 

    This is my first attempt at designing a PCB and for using Kicad for that matter so I've been entertaining myself with learning all sorts of things. 

    More updates to come soon! :)

  • Update #2

    Alec Probst09/05/2024 at 17:24 0 comments

    Hi all,

    This update to show some changes to our part list.

    As our PCB designer, Dmitry, was looking at the parts, he noticed that the chosen IR LED was a Market Place Product that could only be bought in a quantity of 5,323 and has a separate $8 shipping fee. We don't need that many LED's so we found another one which can be seen in the list below.

    We also knew that there were more passive components that could be used with the IR receiver and LED. The diagram below shows that we need an resistor and capacitor for the receiver. We also need a resistor to limit the current for the LED to protect it and limit the max current to 20mA from a single pin for the ATTINY85. Since the LED can support up to 100mA of current, the ATTINY85's output current limit of 20mA is what will limit the LED. To limit part creep, we plan to use the same resistor for the IR LED as for the IR Receiver.

    Since we have most of the basic parts here, we've now drawn out the first circuit diagram as can be seen below:

    Parts List:

  • Update #1

    Alec Probst09/05/2024 at 17:09 3 comments

    Hello all,

    This update is to list some of the components and reasoning behind them.

    To start, we chose an ATTINY85 as our microcontroller. This was chosen for the following reasons:

    • Cheap
    • Plentiful
    • Supports 5V Vcc
    • Supports I2C
    • More than minimum of 4 I/O pins
    • Lots of good documentation online
    • Arduino library compatible

    We also decided some of the specs for our IR LED and Receiver. After some research, it seems that 38KHz is the standard carrier frequency and 940nm is a standard wavelength. Other than being the standard specs for IR communication, we don't have any reason to choose these specs. We'll show how we calculate the max communication distance in a future update.

    One thing to note about our parts is that we're trying to choose through-hole parts. This is done as we want anyone to be able to assemble one themselves. This goes against the SAO Connector Contest's guidance but we are selecting through hole parts with SMD replacements in mind. We're keeping the part list simple to make this conversion easy and our plan is to hand these out at Hackaday Supercon LA so we don't want to spend too much money. We'd rather an easy to assemble by hand kit with larger parts that can be replaced with anything someone might have on hand for the initial version.

    Parts List:

  • Update #0

    Alec Probst09/05/2024 at 16:56 0 comments

    Hello all,

    This update is to explain what our goals were for this project. 

    Goals:

    • Allow for communication between two different boards
    • Offload the communication between boards to the SAO
    • Create an TV remote design to encapsulate the chosen parts
    • Learn how to create a circuit for infrared components
    • Learn how to use TinkerCAD

    We've already started picking out components for this project, the next update should be soon!