This thread is for anyone working on personal projects to share their progress, and hold themselves somewhat accountable to a group of peers.
Post your project, your progress from last week, and what you hope to accomplish this week.
If you want to be pinged with a reminder asking about your project, let me know, and I'll harass you each week until you cancel the service

Jump in the discussion.
No email address required.
Notes -
Sorry about that. I should have mentioned NeoPixel (or DotStar) USB-level voltage strips as an option, so used to students starting a shopping list at Adafruit that didn't think to mention it. Voltage drop can be a problem with higher currents across thinner wires in surprisingly short distances, but if it makes it less bulky that's probably a fine tradeoff.
I will caution that mixing 5v LED drivers and 3.3v logic levels can be finicky. The WS2812s technically run on a percentage of input LED driver voltage. This usually works well enough anyway because the tolerances are so broad on newer chip production, but I have had benchtop setups stop working when moved to a longer data line, because the input battery was high one day and not the other, when in new locations, or even just because of temperature swings. By contrast, WS2815s regulate their logic-driver voltage down to 5v and specify 2.5v as logical 'high', so you have to be running a very long data line over thin wires before they start acting up, if it's possible at all.
Agreed. I really wish science classes would have a short electrical engineering breadboard-style class. It's about a five-hour block to teach typical middle-school students batteries, capacitors, voltage, resistors, diodes, LEDs, and switches, and even for those who never touch electrical components again, the fundamentals of 'too much voltage burns things up' is literally a penny-a-student and extremely valuable to internalize. And just giving people a coin cell and an LED tells them a ton about voltage and electrical components having 'directions'.
LED drivers are more an early high-school thing, but they're just so much better at teaching for loops, modulo operators, and fundamentals of processor timing, to too many students that otherwise get bored out of their gourds dealing with Scratch.
Ha, no worries at all dawg. You've helped me so much already.
I'll probably still use what I learned about 12V for non-wearables projects. I'm looking forward to getting a new place and really ricing out my man cave.
What do you normally teach, exactly?
Sorry, it's not a school program - I don't have the credentials or interest in dealing with the .edu sector in any more constant form - just a set of outreach programs I've helped with.
I've been doing about a lot of STEM outreach, typically one- or two-week programs focused for 'underprivileged' students, FIRST teams, and home school collectives. A good number of the students are just getting thrown into things as a glorified daycare, but you do get some that are interested despite themselves.
Topics cover a variety of materials in shallow entry-level, so we'll have a block for circuit design, a block for CAD (usually only at the TinkerCAD level), a block for programming, a block for hands-on fabrication, and a more general 'art'-ish one, centered around a main project. Done ESP32 wheeled robots, a line-follower robot, a sensor-driven infinity mirror, and a macropad.
Circuit design is just really a basics-of-electronics. We'll start with giving people a CR2022 and an LED, show how the LED works one way and not the other, and the move to a dual-AA and show what happens when too much current goes through electronics. Resistors to talk up how power can be limited and what the math behind that is, how multiple LEDs in parallel and series work, bring in quad-AA batteries to show what changing voltages do. Explain multimeters, and correct (and safe) use. Potentiometers as a way to control resistance directly, then capacitors as a well to store small amounts of power, then direct drive motors, then how and why BJT transistors were used to control motors through switches. Older students we'll try to get into more complicated circuits like a metastable circuits, inductors, or very basic op-amp usage, but it tends to be pretty hit or miss.
Programming, start with computers versus microprocessors, how to compile and deploy code in Arduino, what the chips we're using even are, start with the simple blinking onboard LED and how to change time and pattern, add three or four breadboard LEDs, talk variables and types, the difference between assignment and comparison, and the fundamentals of flow control through if statements and for/while loops. Review what the arduino setup and loop functions are, why they exist, and introduce the idea of custom functions, move code from previous lessons into discrete functions for reuse and simplification. Move from standalone LEDs to a neopixel strip, introduce libraries, explain that Arduino is a library, explain that libraries can hold functions, review for loops and while loops in a neopixel context. Younger students tend to cap out there. Older or more dedicated ones, we'll get into the introduction of recursion, modulo, break/continue/return, switch/case, and enums.
So far we've mostly used C++ because it's the only really financially practical way to get the students something they can take home. Python's available, and been for a while, and I've got a stack of MicroBit's from a dry run, but just absolutely can't get people to handle the whitespace once you get to flow control. Been trying to get a Java or ROS option together, but cost per board was impractical even back pre-COVID and it's only gotten worse since.
Art side's been one of the weaker bits. Had a couple times where we had to fall back on papercraft and stickers stuff, but usually try to get some interface with manufacturing or less-traditionally-available stuff: older students got to go through simple woodworking to plotting out CAM for a CNC run, younger ones got to do powdercoating and lasercut, and this summer's program we'll looking at some sublimation prints on metal plate and mousepads if I can get signoffs on a safe process for it.
I also do lessons for FIRST FRC and FTC teams, but that tends to be more variable, and it's just the standard Basics Of Java / C++ / Python / LabView (bleh) mess.
More options
Context Copy link
More options
Context Copy link
More options
Context Copy link