FLEXWEST had a table at the Prescott SciTechFest at Embry Riddle Aeronautical University on March 2, 2024. This page contains links to more information for the demos we presented at our table.
If you attended this event, thank you. Whether you attended or not, I hope this information will help you explore various STEM topics more fully; – Dennis Mangrobang
MICROCONTROLLERS, GETTING STARTED WITH PYTHON PROGRAMMING:
At our table, I showed a demonstration of a Raspberry Pi Pico microcontroller controlling a 16×16 array of smart LEDs. This was to show an example of a way to use software running on a microcontroller to interact with the physical world. One good way for someone who is 10 years old or older (including adults) to get started in physical programming is write programs in the Python programming language running on a microcontroller connected to physical hardware devices.
The reason I recommend Python is it relatively easy to get started, and it is a general purpose language that is used in many application areas, from teaching programming up to developing AI systems and scientific programming. If you learn Python, it will likely be useable for many projects you might want to implement.
For younger children, ages 5-10, Python may not be suitable, and they might start with a visual language based on connecting programming blocks together by drag/drop on a PC, however those types of languages are typically used for anything other than beginning to learn about programming, and once they can advance they would move to language such as Python.
Two very popular microcontrollers that can run Micro Python are the Raspberry Pi Pico and microcontollers based on the ESP32. These are inexpensive, typically selling for less than $10. In addition to being able to run Micro Python, they can also be programmed with other programming languages such as C/C++, and software can be developed using the popular Arduino IDE if desired. I have never used ESP32, and I use the Pico because it includes an advanced feature called PIO, which I find handy.
A key milestone in getting started is to write your first program. For Python, I recommend you start by installing Thonny, which is a development environment that is great for beginners. Versions are available to run on Linux, MacOS or Microsoft Windows. It can be used to develop and run Python programs on your PC, or on a microcontroller such as the Pico, which has Micro Python installed. Search for information on installing Thonny on your PC if you need help, and information on how to get Micropython installed on your microcontroller and how to configure Thonny to connect to the microcontroller. There are many such tutorials.
If you want to interface to the real world, you will need to connect hardware to the microcontroller. Examples include LED lights, speakers, light detectors, motors, display screens, IMUs (gyroscope/accelerometers). Most people start by learning to blink an attached LED. There are many online tutorials to help you get started, so just search for what you want to do. Most people will use a breadboard and jumper wires to build temporary or prototype projects. Usually, as you advance, you will want to learn to solder to make projects permanent and more reliable. There are many kits that contain the microcontroller along with a breadboard, jumpers and some assortment of other hardware such as LEDs, switches, etc. Depending on what you want to do, these kits may be a good choice. As you advance, you can buy exactly the components needed for particular projects. One thing I think is useful is a breakout board that has screw terminals, which can make more reliable connections than a breadboard, and I often use it instead of a breadboard or in combination with a breadboard.
Raspberry Pi Pico official web site
Raspberry Pi Pico official web site
Links for where to purchase, documentation, and the software development kit (SDK) There are two variants of the Pico, one without WiFi and the Pico W which has WiFi.
Thonny : Interactive Development Environment for Python beginners
Thonny : Interactive Development Environment for Python beginners
Versions of Thonny are available for Linux, Mac and Windows. In addition to supporting running programs on your PC, it also supports running on microcontrollers that are loaded with Micro Python, e.g. the Raspberry Pi Pico.
Microcontroller starter kits and hardware components
These are examples of some kits that include a Raspberry Pi Pico W. You could choose to buy a kit, or buy individual pieces that match projects you may want to build. Note that some kits kits may include the Pico (without WiFi), and others may include the Pico W (with WiFi). I have not used any of these kits:
Raspberry Pi Pico Starter Kit w/ 25 Lessons
Raspberry Pi Pico Starter Kit w/ 25 Lessons
Pico Breadboard Starter Kit
Basic Starter Kit for Raspberry Pi Pico
Basic Starter Kit for Raspberry Pi Pico
Pico breakout board with screw terminals
Pico breakout board with screw terminals
This is the breakout board I used for our demo. Your Pico will need to have header pins installed, with the pins facing down, so it can be plugged into this breakout board. If your Pico has no headers, then you will need to get headers and solder them to the board. The advantage of using a breakout board like this is you can make connections with the screw terminals, which if you do it right will possibly be more reliable and less likely to disconnect than wires plugged into a breadboard. I often use this in addition to a breadboard, with some wires connected from the breakout to a breadboard as needed. To use this breadboard, you will also need a flat jewelers screwdriver of the right size for the screw terminals (3/32″ .094″ wide fits).
ELECTROMAGNETISM:
K&J Magnetics, Inc.
A source for magnets, magnet wire and pyrolytic graphite I used in my demonstrations.
Iron Filings
The best deal I found for iron filings. This is a 3 pack of coarse, medium and fine. In my demonstrations, I used the fine iron filings, which are 100 mesh particle size. Teachers: If you are wondering what size iron filings are best for your demonstrations, I recommend 100 mesh.
Magnetic field of a coil
I did this demonstration at our table. It uses iron filings to visualize the magnetic field of a coil. There are many other videos at this web site with excellent demonstrations of various aspects of electromagnetism.
Simple Brushless DC Motor
I showed this K&J Magnetics motor design at our table. Unlike most brushless motors, this does not create a rotating magnetic field using multiple poles. Instead, this motor has only a single pole, and when on it always generates the same magnetic polarity (e.g. north). Both permanent magnets on the rotor also have their north pole on the outside of the rotor. Thus, the electromagnet always repels the rotor magnets. A reed switch is positioned so when a rotor magnet causes it to close, it turns on a transistor to supply current though the electromagnet at the correct timing to repel the other magnet.
Diamagnetism and Levitation
K&J Magnetics information, including their demonstration I used at our SciTechFest table.
Planar Motor Videos
I showed some of these videos on my cellphone, as an example of what is possible with magnetic levitation and computer control of magnetic fields. Planar Motor manufactures a system which moves XBot platforms which contain permanent magnets by levitating them above Flyway bases which contain computer controlled electromagnets. This is a complex control application and is impressive.
LINE FOLLOWING ROBOTS, OPENCV:
Line following cars/robots can be fun, and can span a wide range of performance and complexity. You can search online for more information about different types, competitions, etc.
Inexpensive line following robot kit ( soldering required )
Inexpensive line following robot kit ( soldering required )
This is one of the least expensive line following robot kits available, and is the one I used for my demonstration. Note that this kit requires soldering.
OpenCV : Computer Vision Library official web site
OpenCV : Computer Vision Library official web site
I used OpenCV for the demonstration where color camera frames were converted to grayscale or processed with edge detection. Various computer vision techniques could be used to make a line following robot that is more robust and possibly higher performance. Behind our table I had my robot, Emiglio, made by the Italian toy company Giochi Preziosi in the 1980s. I am retrofitting Emiglio to be controlled by a Raspberry Pi using OpenCV (as in the demo) and a camera and other sensors, to be able to follow lines and other perform other functions. Note that the Raspberry Pi is a full fledged computer, running the Linux operating system. It is made by the Raspberry Pi Foundation, along with the Raspberry Pi Pico microcontroller.
I WANT TO START A ROBOTICS CLUB IN THE QUAD CITIES AREA
I am interested in starting a robotics club, for ages 10 and up, somewhere near Prescott AZ. This would be a technical club, mainly for people who already know how to program, solder and make robots. I don’t have a place to meet, so if you know a location where the club could meet at no charge, please let me know.