430man Evolution has a pretty simply underlying idea: A chain of LEDs that can be triggered at multiple points.
Floating pins capture touch events and a light pulse propagate through the sculpture. Thanks to the ultra low power feature of the MSP430 the system of 8 MCUs only consumes about 50uA in standby and should last a while on a single CR2032 battery.
The chain is divided into independent subsections, consisting of:
- 2 input pins detect touch events and receive pulses from its neighbor
- 2 output pins to propagate pulses to its neighbor
- 6 SMD 1206 LEDs
- 100nF decoupling cap (important if you want to avoid brownouts.)
- 100mil / 2,54mm pitch headers
- Coated repair wire for the connections
- R and C for the reset circuit
Programming is straight forward too. The chain can be triggered from the “left” and “right”. So two independent shift registers are used to keep track of the pulses. To output the both registers are XORed and displayed.
Tip: Saving resistors and energy is easy. Use the build-in timer with the PWM feature to control brightness of the LED without actually wasting energy. 5 more lines of code and the world is a greener place.
Tip: TI’s IDE CodeComposer Studio has two handy tools build in. First is Grace, a graphical configuration engine that allows you to set up I/O’s, Timer, PWM in no time. And at compile time there is the ULP Advisor that checks your code against ULP coding rules to help you minimize energy consumption.
Disclaimer: No perfectly good MCU’s got hurt in this project. All devices used in this project have been damaged or are outdated revisions that would have otherwise been scrapped.
When I reflected on the results of 430man I liked the outcome. It was much easier for me to explain “chips” and get people excited about electronics. I think it lowered the entry barrier and serves as a conversation starter. I wrote about it in some more details.
But the engineer in me was not too happy. The 430man is build of 16 bit Ultra-Low-Power MCU’s, RAM, Flash, 12 MHz clock,… All sitting idle. So why not make it interactive? Touch it and it blinks. A couple of LED’s, CR2032 and 38 lines of code later the evolution was complete.
Now pointing at these two sculptures is easy, explaining that they are made of MicroControllers, very smart things that can detect that they are touched and react to it by turning on all this fancy lights.
And if the audience is still awake the story can be continued by talking about build details – Read on!
MicroControllers are a bit (pun intended) abstract to most people. What can you do with them? An unconventional and not too serious approach to this topic.
“What do you do for a living?”
“I am an electronic engineer and I am working with MicroControllers”
Sometimes – but only sometimes – people care and are brave enough to respond: “?”.
Sounds familiar? Even though this question has been asked endless times, I never know how to break it down and explain. Most of the time I just point to the mobile phone – and let the Siri discussion start.
Serious: How do you respond and explain to a non engineer? All the excitement we have for our profession – it’s bits and bytes, layout and MIPS. Talking to an engineer is easy and you can go on and on about the beauty of electronics. But with a novice it’s hard to convey the message.
Let’s look at Leonardo Da Vinci. He was far ahead of his time, constructing all this machines and theories in his head, describing them on paper. Revolutionary! But what is he famous for? Mona Lisa, a painting that does not do anything. Nothing to understand. It has not brought humans a step closer to the moon or solved any problem on this world. But it is beautiful. It is art. It can make your day brighter just by looking at it.
So, how about explaining electronics by showing it in a form that does not need to be understood?
A while back I took some 16 bit MSP430 MicroControllers in PDIP packages. Those bugs sat on the desk for a while and got arranged and rearranged in sort of an meditative phase while on a phone call. At the end of the call a soldering iron put it all in a more permanent state. The 430man [pronounced Four-Thirty-Man] was born, here are the details.
I put “him” on my desk, next to a bunch of really cool and complex stuff I am working on. Guess what: No one asked me a question about the cool stuff anymore. Everyone wants to talk about the 430man.
Sad? Maybe. It could also prove to be an exciting different approach. Time to take the concept one step further – keep reading!
In the video you can hear the MSP430F5529 playing
“The 42 Melody” sample = t*(42&t>>10)
In 2011 Ville-Matias Heikkilä (Viznut) experimented with short computer programs to create music.
“Discovering novel computer music techniques by exploring the space of short computer programs”
Some of the created “songs” aka Formulas with title and artist info can be found on http://pelulamu.net/countercomplex/music_formula_collection.txt. There is also a great page that allows you to play with formulas http://www.bemmu.com/music/index.html
NatureTM on 43oh then wrote a program for the MSP430G2553
“Music with only a speaker, a LP, and 30 lines of code”
I took NatureTM’s code and modified it for an MSP430F5529 on TI’s MSP-EXP430F5529 LaunchPad. Code is available on https://github.com/ucDude/ByteBeat.
A small piezo speaker on P1.2 is used to transform the toggling pin (high/low) signal into some “music”. Depending on the speaker used the sound ranges from bad to very bad. With a resistor, a cap and a transistor it should be possible to drive the piezo properly and improve sound quality.
I had a bunch of PDIP devices on my desk – and a very boring phone call.
So I started assembling the devices in one or the other shape.
After the call I went to the lab and found some more components and tools and put it into a more permanent form.
430man was born, named after the MSP430G2001 devices used to build it. It also is a great match for my web presence: ucDude.
A hardware engineers version of ‘Hello World’.