Toymaker Television

Daily content for the geek and DIYer



1 note &

Anonymous asked: how to calculate the value of load resistor?

Thanks to Ohm’s Law (and @JohnS_AZ and @Rednaxander):

The voltage you want to drop / the current through the resistor
= resistance

Then P = I * E gives you the wattage of the resistance

Though it may be beneficial to actually stipulate what you mean by the “load resistor”.  Is it that you want to load down a supply for testing or actually want a current limiting resistor.

@atdiy/@tymkrs

Filed under how to calculate the value of a load resistor tymkrs load resistor ohm's law

0 notes &

Serial v Parallel LCD screens

As I’ve been working on the heart backplane, it has been the source of quite a bit of learning experiences!  And surprise surprise, there are quite a few different types of 16x2 LCDs that can be used.  So I thought I’d put the thinktank Tymkrs IRC chat to work:

So the major division of LCDs (I’m focusing on 16x2 for now) is between serial and parallel LCDs.  Serial by nature is sending data one bit at a time (assume a 1-bit bus) and parallel is sending data multiple bits at a time (4 or 8 bit bus-es are normal).

Also - datasheets, while they are evil, are also your friend.  They’ll tell you what protocols and addressing is involved in the function of your LCD.

Serial LCDs:

  • There are many different serial LCDs with a variety of protocols and wire requirements (ie physical lines from your microcontroller to the LCD module).
  • The databus (or cache if you will) is always a 1bit bus.

Note that the below do NOT count power and ground:

[Serial] 1 wire LCDs

  • The baud rate is predetermined on both sides, but this requires accurate timing, like with a crystal.  Internal oscillators on microcontrollers may not allow this to work properly as timing tends to drift quite a bit.
  • So the 16x2 Parallax LCD that I often showcase on this site is a 1 wire serial.  You can set the baud rate, but also the pins are power, ground, and data.  There’s no data being sent from the LCD to the Propeller.

[Serial] 2 wire LCDs

  • I2C is a protocol that works with 2 wire LCDs - and as long as both the MCU and i2c chip on the LCD 
  • One wire is Data and one is CLK
  • It has a set CLK rate but you can drift a bit and still be okay.  So you would need 2 i/o lines from your MCU to the LCD.

[Serial] 3 wire LCDs

  • Generally RX, TX, CLK. I asked when an LCD would send information back to the MCU and usually it’s done to acknowledge that it has received data or if the LCD is finished displaying what you sent it.

[Serial] 4 wire LCDs

  • Also considered a serial LCD
  • Generally TX, RX, CLK_TK, CLK_RX
  • SPI LCDs, I believe, fall under this category but with different lines: SCLK, MOSI, MISO, and SS.  

Parallel LCD

  • 4bit/8bit: The main difference is that instead of a 1bit bus, you have a 4 or 8 bit bus.  In much the same way you’d clock and latch a shift register.
  • 8-bit parallel LCD interface - you’d put your character’s 8 bits on the data bus and toggle a couple of signal lines, and tada!
  • And an SPI parallel LCD interface is basically the same as the 8-bit parallel one, except you have a shift register built in to convert a single serial line to 8 bits of parallel.  in fact, if you have a parallel LCD, you can literally convert it to the same interface as an SPI one by throwing a 74HC595 down on the board.
  • Vice versa, if you have code to use a parellel LCD with a shift register on the board, you can just directly use an SPI LCD instead.
  • Parallel protocols are also very pin intensive.  One for each data-line.

So this is a very CURSORY look at some of the different types of LCDs, but it seems like since my MCU breakout board doesn’t have a reliable clocksource, my best bet is I2C or SPI.  (None of which I have :p)

Also many thanks to @longhornengineer, @chasxmd, and @rednaxander for their expertise!!

Extra resource: http://iradan.com/?p=479

@atdiy/@tymkrs

Filed under tymkrs spi i2c lcd spi lcd i2c lcd 1 wire lcd 2 wire lcd 3 wire lcd 4 wire lcd parallel lcd serial lcd

1 note &

Asynchronous serial + my LCD

= Match not made in heaven!  So every Friday, I break out my heart backplane board and we have currently been trying to figure out what in the world is wrong with the LCD portion of the project.  The voltage/current provided is correct, the code works on the Activity Board, and the LCD itself works as it should.

So why, when I put it on my board is it not working?  The LCD often chirps and shows just a cursor, and occasionally if lucky, a letter or two in a completely random spot.

So @wireengineer changed the code a bit, added some troubleshooting checks, and still, it worked on the Propeller Activity Board but not mine.  Meanwhile, the LEDs and pulse simulator are working just fine.  Then he notices that the clock is RCFAST, which is different from using a crystal.

RCFAST is an internal oscillator to the propeller which can run from 8-20MHz but averages around 12MHz.  The drift though is apparently enough so that communication between the Propeller and the LCD is asynchronous as opposed to synchronous serial.  So the clock may be drifting around and bits may miss being sent or read.

This means ideally, I’d have a crystal on my heart board.  But! I already have a whole bunch of my boards made up already.  So what are my options?  From what I remember of our discussions:

1) Discard the LCD portion, and just make it a sound and pulse simulator

2) Reprogram the LCD to be I2C and send it the clock and data information instead of letting it run on its own clock.  This would require two more pins.

3) Reprogram the LCD to be able to handle super slow baud rates and it shouldn’t be a problem (except it’d only work with my LCD)

4) Recalibrate RCFast or the serial LCD microcontroller.  I don’t know how to do this :p.

5) Make a new backpack (module to attach to the LCD) that "auto detects the fractional baud rate you’re running at or switch to a synchronous protocol" - also something I don’t know how to do, though I wouldn’t be past learning!

6) Make a case for this where it lights up an LED by the specific rhythm each time the button is pressed.

1 and 6 are the easiest options, but I’d like to know what people think.  If I end up designing a new serial backpack for this board, I’d become (I feel) an expert on LCD boards and manipulation of it, but I’d also take a LOT longer to get this board out. Or I might be able to release just the sound/audio first and then worry about LCD later?

What do you think?

@atdiy/@tymkrs

EDIT: Some additional information courtesy of @wireengineer

Q: Checked out more info on the LCD: Says: “Selectable asynchronous serial baud rates: 2400, 9600..”

A: Yep and the problem is your prop is putting out 9822 bps instead of 9600 due to the RC osc.

Q: If the issue was that we were sending asynchronous serial, but it works with that in its baud, then what’s the actual problem?

A: The RC oscillator is not calibrated and can be anywhere between 8 and 20MHz. So your baud rate can be between 5568 and 13632.

Filed under tymkrs heart backplane asynchronous serial synchronous serial lcd rc fast parallax propeller lcd backpack

2 notes &

50 Shades of Fluke

Just to catch you up in case you haven’t been reading the latest news from Maker/engineering circles.  And please note, this is based on my understanding of what I’ve read so far.  I’m no trademark/copyright/patent/whatever expert, and am NOT claiming to be one.

Post that got everyone alllll fired up: https://www.sparkfun.com/news/1428

The essential jist is that Fluke, a maker of high end multimeters and high quality diagnostic tools as well as biomedical equipment, trademarked the following in 2003:

Rough sketch of Fluke DMM

Fluke Coporation’s rough sketch of a digital multimeter

Indication of Colors claimed: Color is not claimed as a feature of the mark.

Description of Mark: The mark consists of the colors dark gray and yellow as applied to the goods. The dotted outline of the goods is intended to show the position of the mark and is not a part of the mark.

~~~~~~~~~~~~~

Now, as a result of this, items coming into the US that are “multimeters, digital multimeters, and products with multimeter functionality that have a contrasting color combination of a dark-colored body or face and a contrasting yellow border, frame, molding, overlay, holster or perimeter” are held back at Customs.

SparkFun, a store that caters to diy/hobbyists had such a batch of 2000 multimeters held back as they were violating this trademark.  They had two options, either send the batch back and pay high tariff fees back into China, or destroy them at 150/hour because they can’t be brought and sold in the US.  (At least those are the two options they are saying they have).

There have been essentially two sides, as I understand it.

One side says, what the heck is this nonsense.  I’ve heard the following:

  • Why does SparkFun have to destroy 2000 perfectly fine and cheap multimeters just because the color’s the same?  
  • The principle of trademarking colors like this is absurd.  Why don’t we just trademark all the colors and prevent anyone else from using them? <sarcasm>
  • Yellow has been around for tons of other multimeters.  And isn’t a “dark-colored body” kind of vague for a color?
  • They should trademark specific Pantone colors like how Tiffany was required for “Tiffany Blue”
  • Sparkfun wasn’t trying to brand their multimeters as Fluke or Fluke-like.  No intentional association was attempted.
  • Why not give Sparkfun a temporary license so they can fix things.

And another side says:

  • Trademark is trademark.  Sparkfun violated it, they should have to take the consequences.
  • If you want to run a real business in the real world, then follow the rules like all of the other companies.
  • The colors AND shape make their product look like a Fluke. It’s not just that it was yellow, it’s that if you placed the Sparkfun one next to a Fluke one, besides the label, no one would easily tell them apart. 
  • What if someone picks it up and uses it on sensitive equipment thinking it’s a Fluke, and something messes up.
  • If you want to sell inferior knock-offs, do so out of the country, otherwise abide by US laws.

I was originally on the “what the heck is this nonsense” side with the idea that I really don’t think color arrangement as simple as a yellow border around a dark grey body equates to any particular brand.  And if someone who’s a professional, who’s working on sensitive equipment can’t tell it’s not a Fluke, then maybe they shouldn’t be working on that sensitive equipment.  The principle of being able to trademark something like a color on an object seems silly to me.

But then Laen of @oshpark brought up an interesting point of view.  He is WIDELY known as the purple pcb guy.  95% of the purple PCBs out there (in my viewing range) are from his pcb fab for makers/hobbyists/diy-ers/even professional engineers doing one-offs.  But, recently, another PCB fab commonly used by the same group of people decided to add purple to their colors provided.  

What happens if a shoddy board of the other fab’s is critiqued/torn apart, and someone else seeing that review thinks, oh. Purple PCBs are crappy, must be OSHPark’s.  And then OSHPark loses business as a result.  Would trademark of a color be right at this point?

We know Laen/OSHPark, and we know he wouldn’t trademark a color because he was trying to hoard it all for himself, but among this community, there is a clear connection between him and the color of those PCBs.  Also note, he has NOT claimed trademark for the color of soldermask, it was just brought up as an example of something “closer” to home.

This was an interesting other point of view in which I feel like I have double standards.  I can definitely see another pcb fab wanting to ride on the coattails of OSHPark’s success by offering purple boards.  And I can also see the ramifications of shoddy manufacturing that’d become potentially associated with the wrong fab. Hmm.

In any case. Sparkfun has had to deal with a bit of fallout from this issue, but they were very generous: https://www.facebook.com/notes/fluke-corporation/sparkfun-we-hear-you/10151978262765592

"Earlier today we contacted SparkFun and offered to provide a shipment of genuine Fluke equipment, free of charge for them to sell on their site or donate. The value of the equipment exceeds the value of the Customs-held shipment. SparkFun can resell the Fluke gear, recouping the cost of their impounded shipment, or donate it into the Maker community."

This is something they did not have to do because technically they were upholding trademark, something that Sparkfun should have looked into during the design of their products.  But they did, and that is commendable of them. 

What are your thoughts?

@atdiy/@tymkrs

P.S. I know some say this has been talked about WAY too much, this is more as an informational post for those who haven’t heard about it :p

Filed under sparkfun vs fluke fluke sparkfun trademark tymkrs

1 note &

Support Tymkrs creating Music, Videos, Podcasts, Blogposts, Electronics Kits

A few of you have been with this blog since its beginning and others have just joined recently!  We’re trying to raise money to be able to restart some podcasts and expand our studio.  Doing so will help jumpstart projects which as you know I document here on Tumblr!  So if you like the content, would like more, we’d love to get your support.

And if you have questions about where the money goes, I am happy to explain and show you exactly what components and projects it gets invested into!

By the way, if you already donate directly to our paypal (donate at tymkrs dot com), please feel free to continue doing so!  The total from donations there and Patreon will lead to the awards we’ve written up.  (Also, Patreon takes a bigger cut than Paypal does :p)

@atdiy/@tymkrs

Filed under patreon tymkrs

6 notes &

A basic review: Resistors + Ohm’s Law

My power supply is 10.75v and my load is 6v 300ma. How much resistance is required to drop the voltage?

V = I * R (Ohm’s law)

10.75 V - 6V = 4.75V

4.75 V / 0.3A = 15.833 ohms 

Now when you buy resistors, you often see “x ohms 1/8W” or something like that.  That’s because when current is “slowed down”, it generates heat, and resistors can only handle a certain number of watts of heat.  So solving for P tells you how much heat it’ll generate.

P = I^2 * R

1.62 watts = 0.3^2 * 18

So…a 6v voltage regulator is a better choice than just a straight up resistor.  DC/DC converter would be useful (most efficient).

Thanks to @longhornengineer, @rednaxander, and @johns_az :)

@atdiy/@tymkrs

Filed under ohms law resistance voltage drop power resistors tymkrs rabbit hole hackerspace

2 notes &

A burned finger

Is the result of my latest monkeying around with the heart backplane board. Short story: On Friday, we managed to reflow/solder up the newest version of the board that I had sent off a few weeks ago.  And would you believe it, the damn thing worked!

Long story: Well kind of.  So the last time I talked about this, there were issues with the LCD, the Solenoid, and the Audio.  Essentially, everything.  The board came back, and I didn’t have all of the necessary SMD components but I reflowed what I could.

So the solenoid works.  It clicks as it should.  The audio works as well!  I tried both my normal headphones that I use during recording and a pair of cheap-o earbuds, and they work!  Now I need to have the wav file that I use be of better quality.  I made a crapo mono one before and now that I have stereo function, I need to make it pull its weight.

The LCD however, the LCD.  That’s what I was working on today.  So I put the LCD in its slot and I see a cursor underline in a random spot, and it’s not saying “Normal Sinus” as it should.  

image

There are some switches on the back that determine its baud rate, and that looks fine.  I cycle through the options just in case.  When I get to the demo mode, I notice it starts up, but then restarts up - in time with the solenoid clicking.  So I think, well, maybe it’s browning out.  I check the voltage, and nope, it’s just fine.

I then check the LCD, stick it on a breadboard, give it 5v, put it in demo mode, and it works perfectly that way.  @Longhornngineer suggests I try a different propeller board because it could be that the lack of a crystal on my board is what’s causing the problem.

So I try it on the Propeller Activity Board, and what do I see? “Normal Sinus” - huh. Okay, so I change the code to use RCFAST, because that’s what I’m using on my heart board, and try it, and it still works, even with the backlight.

Well then I go back and put it back on my board and what do I get? Nothing.  I even try changing the baud rate in code and with the switches.  Nada.

Anyway, by this point, I’ve burned out a wallwart (which I didn’t realize only supplied 300mA, but now I’m on my second one.  When I notice that it’s not working, I go to take the wall wart plug out, and bam. burned finger.

Le sigh.

Now when I plug the wall wart back in, the solenoid gets pulled but the heart doesn’t work.  So. I think I may have somehow shorted something with my finger when it got burned, and cause that board to…poof!

image

I’ll try again next week!

*twenty minutes later*

Okay. I realized that I forgot to mention one thing.  I wanted to test just the LCD by giving it sample code that was pretty sure to work.  But I think that the solenoid was sitting there drawing too much current and I may or may not have noticed something smelling like it was burning/overheating when I burned my finger…..

That said, I just now reflashed the eeprom with my original heart code, and everything (but the LCD) is working again.

WHEW!

@atdiy/@tymkrs

Filed under heart backplane project heart backplane heart me tymkrs solenoid l4941 troubleshooting lcd current draw backlit lcd

9 notes &

So you wanna solder SMT…

Up until oh…six months ago, I was ready to go through life without having learned how to solder SMD components. I was happy and content with throughhole and my Hakko.  But then my heart board came along and with it, the requirement of SMD and rework.  And I had to learn because I didn’t want to wait on anyone else haha (much like how I got into programming!)

The basic tools:

Really good pair of tweezers for handling the small SMD components (I stick to 0805 package type): http://www.aventools.com/Default.aspx?PageID=15154290&A=SearchResult&SearchID=2261293&ObjectID=15154290&ObjectType=1

Solder Pastehttp://www.digikey.com/product-detail/en/SMD291AX10/SMD291AX10-ND/2057271 - Double bag it and keep it in the fridge until you need it!  I have used the same tube for the past…half year and will probably use it for another year. This lasts a long time.

Solder Paste Tips: http://www.digikey.com/product-search/en?WT.z_header=search_go&lang=en&site=us&keywords=kds22tn25-nd&x=0&y=0&formaction=on The tip that comes with the above product is too small, so you’ll want to get these tips. Switch out the tips and bam.

Toaster Oven for Reflowing: We use a Black and Decker 1500 Watt Toaster Oven - Convection Countertop Oven.  @ajfabio also uses a Black and Decker CTO4500S Perfect Broil Convection Toaster Oven.

http://www.amazon.com/Black-Decker-CTO4500S-Perfect-Convection/dp/B001GJSMKE/ref=sr_1_3?s=home-garden&ie=UTF8&qid=1394674123&sr=1-3&keywords=black+and+decker+convection+oven

Settings wise, we keep the temperature on the Toast function.  Under Function we keep it on Convection: Bake.  Under Timer, when we need to start reflowing, we turn it to “Stay on” and just turn it off when when we see that the solderpaste has melted.

Applying paste:

The consistency is kind of like a thick toothpaste.  And I usually hold the syringe in my hand with my thumb on the plunger.  Then carefully dole out little blobs of solder paste onto the pads. I usually cover the pad, or allow the solder paste to touch the edges of the pads, but try not to get onto the soldermask.

I’d say they put a little too much in the above picture, but it will still work.

In this picture, even though the solderpaste was “printed” onto the board, that would be about the amount you would want to place onto the pads.

Then you’ll want to carefully place your components on the board and take it to the toaster.  Set your toaster’s Timer onto “Stay on” and watch the board.  Because it’s a convection oven, you’ll see the solder dry (become a white-ish color) and then melt in sequence.  So you’ll see the wave of heat essentially melt the solder and make it shiny.  

When the last blob of solder has reflowed, then I carefully take it out, making sure to not jar the board since the solder may still be in liquid form.  Set it on the counter, let it cool and voila!

@atdiy/@tymkrs

Filed under smt soldering smd soldering what do i need to do smd soldering tymkrs what do I need to do smt soldering reflow pcb reflow toaster oven for pcb reflow diy

3 notes &

Titanic: “New” Information

The reason I brought this topic up (since it’s clearly off what I normally write) is because we just watched a documentary about some new theories/added information to that night. 

So the questions I ended with yesterday = a ship that was close to the Titanic saw it as a smaller steamer ship. Why? And how did the lookouts not see the giant iceberg?

The latest theories started with a lot of personal accounts about the weather conditions that day.  

1)  During the day, people were out sunbathing and that at night, people were bundled up as in winter time.  And on an informal survey of water temperatures from the area, the researcher found a difference of 40 degrees F within 1 mile of the two samples.  

2) The night was so clear that you couldn’t tell where the sky started and where the ocean started.  So you had a “fuzzy horizon”

So you have a current bringing colder water and colder temperatures to significantly warmer temperatures. And therefore a pocket of colder air essentially around the Titanic.  This leads to mirage effect - a new piece of the puzzle of that night.

Wiki: “Cold air is denser than warm air and, therefore, has a greater refractive index. As light passes from colder air across a sharp boundary to significantly warmer air, the light rays bend away from the direction of the temperature gradient. When light rays pass from hotter to cooler, they bend toward the direction of the gradient. If the air near the ground is warmer than that higher up, the light ray bends in a concave, upward trajectory.”

image

So what could have potentially happened was the sea, mirrored with all of the stars may have actually miraged to a point where it hid the iceberg and caused the “fuzzy horizon” that was reported in various ships’ logs from that night.  So the lookouts pretty much saw a haze rather than an iceberg blocking view of the horizon.

Likewise mirages can “dampen” the height of an object in the distance:

You can see how the island could look like a little blip, or a massive cliff area depending on the mirage.  This may explain why the other ship passing couldn’t believe it was the Titanic.

Woot!

@atdiy/@tymkrs

Filed under titanic tymkrs