Microcontroller Lectures By Bruce Land

[Bruce Land] is no stranger to Hackaday as you can see from his Hackaday.io profile, if you aren’t familiar with his work [Bruce Land] is a Senior Lecturer at Cornell University. One of the courses he teaches: Digital Systems Design Using Microcontrollers (ECE4760) was recorded in 2012 and again in 2015 and the videos are available on YouTube.

AVR to PIC32

[Bruce Land]s previous set of ECE4760 lectures (2012) used an Atmel ATmega1284 AVR Microcontroller for the laboratory portion of the course. This means the lectures are also based on the AVR and if you haven’t watched them through a few times you should do. The recently updated set of lectures is based on the Microchip PIC32, more specifically the Microstick II.

Open Curriculum

You can follow the ECE4760 rabbit hole as far as you want with all the available content provided by [Bruce Land] on his ECE4760 course webpage. You can watch the ECE4760 lectures on YouTube, try your hand at the homework assignments, and work through the labs at your own pace.

New Lectures = New Shirts

One area that [Bruce Land] is unmatched and arguably uncontested is his shirt collection, we are continuously impressed with these original works and wish they were available for purchase (wink/hint c’mon [Bruce] throw us a bone!). If you don’t know why the rest of us aren’t able to obtain the wonderful shirts [Bruce Land] wears you clearly aren’t subscribed to [Bruce Land]s YouTube channel, you should rectify that wrong and log some ECE4760 lecture hours starting with the video after the break.

Christmas Star Uses Two AA Batteries

When [hkdcsf] was a teenager, he made a Christmas star with an up counter driving decoder logic and using transistors to light LEDs in festive patterns. He’s revisited this project using modern techniques including a microcontroller, a DC/DC converter, and constant current LED drivers.

The project uses two AA batteries, and that’s what makes the DC/DC converter necessary. Blue LEDs have a forward voltage of just over 3V, and the LED driver chip requires about 0.6V of overhead. Two fresh AAs will run a tad above 3V, but as they discharge, or if he’s using rechargeables, there just won’t be enough potential. To make sure the star works even with whatever LEDs are chosen, the converter takes the nominal 3V from the batteries and converts it to 3.71V.

Continue reading “Christmas Star Uses Two AA Batteries”

The Three Week Three Dollar Binary Watch

There’s a Maker Faire in three weeks, and your group wants to design and build a binary watch to give to attendees. You don’t have much time, and your budget is $3 per watch. What do you do? If you are [Parker@Macrofab] you come up with a plan, buy some parts, and start prototyping.

[Parker] selected the PIC16F527 because it had enough I/O and was inexpensive. A cheap crystal and some miscellaneous discrete parts rounded out the bill of materials. Some cheap ESD straps would serve for a band. He did the prototype with a PICDEM board and immediately ran into the bane of PIC programmers: the analog comparators were overriding the digital I/O pins. With that hurdle clear, [Parker] got the rest of the design prototyped and laid a board out in Eagle.

Continue reading “The Three Week Three Dollar Binary Watch”

Embed With Elliot: Debounce Your Noisy Buttons, Part II

If you’ve ever turned a rotary encoder or pushed a cursor button and had it skip a step or two, you’ve suffered directly from button bounce. My old car stereo and my current in-car GPS navigator both have this problem, and it drives me nuts. One button press should be one button press. How hard is that to get right?

In the last session of Embed with Elliot, we looked into exactly how hard it is to get right and concluded that it wasn’t actually all that bad, as long as you’re willing to throw some circuitry at the problem, or accept some sluggishness in software. But engineers cut corners on hardware designs, and parts age and get dirty. Making something as “simple” as a button work with ultra-fast microcontrollers ends up being non-trivial.

And unsurprisingly, for a problem this ubiquitous, there are a myriad of solutions. Some are good, some are bad, and others just have trade-offs. In this installment, we’re going to look at something special: a debouncer that uses minimal resources and is reasonably straightforward in its operation, yet which can debounce along with the best of ’em.

In short, I’ll introduce you to what I think is The Ultimate Debouncer(tm)! And if you don’t agree by the end of this article, I’ll give you your money back.

Continue reading “Embed With Elliot: Debounce Your Noisy Buttons, Part II”

Embed With Elliot: Debounce Your Noisy Buttons, Part I

“Psst…hey buddy! Wanna see the sweetest little debouncing routine this side of Spokane? C’mon over here. Step right over those bit-shift operators, they don’t bite. Now look at this beauty right here: I call her The Ultimate Debouncer(tm)!”

Everybody who works with microcontrollers eventually runs into the issue of switch bounce or “chatter”, and nearly everyone has their own favorite solution. Some fix it in hardware, others fix it in software. Some hackers understand chatter, and others just cut-and-paste the classic routines. Some folks even try to ignore it, and they might even get lucky, but everyone’s luck runs out sometimes.

In the next two “Embed with Elliot” installments, I’ll look a little bit at bouncing, look into doing hardware debouncing both the simple way and the right way, and build up a basic software routine that demonstrates some of the principles and which works just fine, though it’s not optimized. We’ll be laying the groundwork.

In the next installment, I’ll let you in on my personal favorite debounce routine. It’s a minor tweak on a standard, but with some special sauce that’s worth spreading around. I’ll call it the Ultimate Debouncer(tm), but will it stand up to the scrutiny of the Hackaday commenteers? (How’s that for a cliffhanger?!?)

For now, though, let’s look into switch bounce and the standard ways to fix it in hardware and software.

Continue reading “Embed With Elliot: Debounce Your Noisy Buttons, Part I”

Hairband Lights Up Depending On Your Mood

After learning how to use the ESP8266, [Chirag Nagpal] decided to do a fun project to experiment that polls data from Twitter. He calls it the Sentiband, and it analyses your last tweet’s sentiment and changes color accordingly.

There is an API available called Sentiment140 (Formerly ‘Twitter Sentiment’) which is capable of determining the emotional content of a tweet on Twitter. It uses classifiers built from machine learning, and was developed at Stanford by a few CS graduates. We’ve seen it used before on a Christmas tree ornament on a much larger scale, analyzing all holiday tweets to light up your tree.

[Chirag’s] version allows you to set a username and display the latest sentiment of that user’s tweets hidden in the subtext. Three LEDs light up; green for a positive tweet, red for negativity, and blue for neutral.

Continue reading “Hairband Lights Up Depending On Your Mood”

Conjuring Capacitive Touch Sensors From Paper And Aluminum Foil

Stumbling around YouTube, we found what has to be the lowest-tech method of producing a touchpad to make a capacitive touch keyboard, and we just had to share it with you. If you’re afraid of spoilers, skip down to the video below the break now.

[James Eckert] got his hands on a Freescale MPR121 capacitive touch sensor. The chip in question speaks I2C and senses up to twelve simultaneous capacitive sense electrodes; break-out boards are available in all of the usual places. It’s a sweet little part.

So [James] had to make a twelve-key capacitive keyboard on the quick. He printed out a key template on paper — something that he does often in his woodwork — and spray-glued aluminum foil on the back side. The video doesn’t say how many hours he spent with the razor blade tracing it all out, but the result is a paper, foil, and packing tape keyboard that seems to work just fine.

A pin-header was affixed to the foil with conductive paint and more tape. If you’ve ever tried soldering directly to aluminum foil, you’d know why. (And if you’ve got any other good tips for connecting electrically to aluminum foil, we’d love to hear them.)

Continue reading “Conjuring Capacitive Touch Sensors From Paper And Aluminum Foil”