I love my Raspberry Pi!!!
What else is there to do after 39 days of self-quarantine but to relearn how to program. It’s been 35 years since I programmed professionally. There are many who would argue that I never did.
Python seems to be the current rage with newbies and professional programmers so that is my starting place. I also want to get back to playing with hardware and sensors and actuators. I selected the Raspberry Pi micro computer for my starting point.
I’ve watched the Maker movement from the sidelines for a decade and am amazed at the range of hardware and software projects that people new to programming are able to do. Kelly Franznick showed me what was possible with non-programmers with his student class projects. I wrote about his experience in “Find. Copy. Paste. Tweak.” This method for beginning programmers turns out to be the secret of the most experienced software architects.
Building on Kelly’s experience, I set up a class project to build an Arduino air quality monitor and a company to surround it in “Designing a Human Centered Venture.” I was blown away by what the sixteen graduate students were able to do in 10 weeks.
Recently, I reconnected with two of the best software engineering architects I’ve had the pleasure of working with in my career – John Churin and Eric Robinson. Each of them regaled me with their exploits in the micro world. John showed off his Christmas lighting extravaganza with LED lights everywhere on his house and on the trees in his yard in Grants Pass, OR. I was especially impressed with his slowly rotating and blinking red LED lights to simulate night animals eyeing you. He believes this is keeping his yard free of deer and raccoons.
Eric decided he would start with an Arduino project to control the lights on his Jeep. He’s had fun learning the Arduino as well as figuring out how to tie into the Jeep’s “digital network.”
I let my Raspberry Pi Canakit Complete Desktop Starter Kit and the Freenove Ultrasonic Starter Kit sit in quarantine for a few days while I raced through several books to get my mind wrapped around the hardware and the Python Programming Lanugage:
- Raspberry Pi: A Comprehensive Beginner’s Guide
- Raspberry Pi 4 Complete Manual
- Head First Python: A Brain-Friendly Guide
I finally worked up the courage to open the boxes and extract the parts. I wasn’t worried about the quality of the kits. I just have the bad habit or karma or weird energy that when I encounter technology and software it tends to break. The quality assurance engineers I worked with loved to have me come by as they knew the software would break and bugs would show up at the same time I did.
I pulled all the pieces out of the boxes and plastic wrapping. I could not believe how small the Raspberry Pi board is. It is smaller than the computer mouse. And yet it is a quad processor with 4GB of memory, USB ports, 1gb ethernet, wireless, bluetooth and on and on. All on this tiny little credit card sized board.
I attach the heat sinks, put the board in the box, attach the cables and I am ready to go. Not. I need an HDMI monitor. I have at least 15 monitors in my computer history museum of a house. After 14 tries, I finally find one that has an HDMI connector. I am ready to plug in the power. With great trepidation and expecting smoke or a mini-explosion to occur I connect the USB-C power plug.
No smoke. No explosion. Just a little red light on the board and the monitor starts blinking, and then a rainbow, and then the software starts loading. OMG, everything is working like the instructions say. This can’t be.
After 5 minutes of loading and installing software, the computer is ready to reboot into the Raspbian “windows like” Operating System. It just works.
I didn’t have to troubleshoot.
I didn’t have to call customer support.
It just works.
What to do first. Let’s try the browser. Up comes Chromium (a variant of Google Chrome). I log in and it asks me if I want to download all my bookmarks and chrome plugins. Are you kidding me? At heart, this is a $35 computer board.
OK, I’ll play your game Raspberry Pi. See if you can load Gmail. Yup, up it comes.
See if you can load my thousands of Google Photos. Yup, up it comes.
All right, now I am really going to challenge you. See if you can load Microsoft Office 365 so I can check my Outlook email. Yup, up it comes.
While theoretically I know that once you have an Internet browser you can run all this web software, but on a $35 computer? Why would I ever buy a desktop again?
I am dancing around the house. “Jamie, come look at this little computer and what it can do,” I shout out to my wife.
Now, it is time to try some Python coding.
I start the Python Thonny IDE (Integrated Development Environment). Of course, I have to start with a couple variants of the “Hello World!” program.
I decide to do the Odds program in Head First Python. After fixing several of my typos, the program works.
I share the photo of my first program with Eric. He has kindly offered to help with any problems I have and critique my coding techniques.
Within a minute, Eric texts his critique:
“Yeah. I bet you loved typing in all those odd numbers. 🙂
“A simpler way would be: odds = range(1, 60, 2)”
I knew he was going to be entertained with my programming.
My next project is to program the “send an email” from the Raspberry Pi from the Beginner’s Guide book. I copy the program in and fix my typos. However, as I looked at the program before running it, there were some variable names that didn’t look right. They looked like typos to me. I run the program. Sure enough it fails. I fix what I think are the typos, and the program still fails.
Off I go to the Internet to see if somebody else has one. Sure enough, I find one and compare the two programs. The one on the internet looks better, so I do the “Find. Copy. Paste. Tweak.” process again. The new program runs.
Now I have to show off a bit. So I set up a quick loop to send an email to Eric and a few family members. Amazingly, this program runs as well.
Eric texts “Yep, you’ve created a ‘spam bot.'”
Did I mention that Eric has a peculiar lovable way of “helping and critiquing”?
I am bouncing around the house now.
I have to take a few minutes and write a blog post. I share the “I love my Raspberry Pi” title with Eric.
“You love it.. until you don’t. It’s like a relationship with anything — instant love as you learn all the new things. Then something becomes difficult. You can’t do what you want. The magic disappears. Things start breaking or wearing out. It becomes an anchor. Then you buy the new thing and start all over again.
“Maybe I should write a blog,.. :)”
Eric follows up with:
“Maybe there are ‘Seven Stages of Joy’ to match our ‘Seven Stages of Grief'”?
Nice try Arduino man. Go buy yourself a Raspberry Pi.
I love my Raspberry Pi!
I am off to the next project of hooking a web cam to the Raspberry Pi to see if I can do motion detection and recording.
[NOTE: This is the second in the series of love affairs with technology. The first was “I love my Fitbit.“]
I love it! The joy of new discovery comes through! My Raspberry Pi is on it’s way.
Now go install a real set of dev tools and set up your Github account.
A step at a time. Carrot and stick approach is always your way. 🙂
“windows like”? c.omn Skip, just say it “a Debian Linux derivative”. I remember when Erik Christensen asked me why I was wasting my time with that stupid Linux, it would never gain acceptance anywhere, now it powers the world 🙂
Thanks John. Just can’t get out of my Windows mindset and into the Linux mindset. One step at a time.