How to Make (almost) Anything 2023 | Week 10.1: Output Devices

Home

Assignment: Group Project -- Measure the power consumption of an output device; Individual Project -- Add an output device to a microcontroller board you've designed, and program it to do something.

Individual assignment: Design an output device

Description: The design, production, and programming of a NeoPixel Jewel 7 output device

Primary files:
  1. NeoPixel Jewel 7 output device PCB schematic and design; built upon the Input Device file referenced in Week9.1 (KiCad)
Procedure:
  1. Design the desired NeoPixel Jewel 7 circuit in KiCad, using a NeoPixel Jewel 7 and Xiao RP2040 (Note: I built this circuit as a new capability to the Input Device from Week 9.1 I, and as such was added to the pin head connectors)
  2. Once the KiCad file has been made, export as a gerber.
  3. Import the gerber FCu and Edge Cut layers into Quentin's Grb2Img tool, then select "fill edge cut" and "black and white" before exporting render (Note: it is helpful to do edge cut first and press the lock icon next to the dimensions to ensure your FCu and edge cut dimensions align)
  4. Import the downloaded PNG files into the Mods platform to convert into G-code (1/64 for Fcu and 1/32 for edge cuts)
  5. Import the F.Cu G-Code file to the desktop attached to the CNC milling machine
  6. Prepare the CNC by clamping down a sacrificial sheet of copper (bottom) and the milling sheet of copper (top), then secure the 1/64 end mill using the blue guide to determine proper bit depth
  7. Move bit to x=0, y=0 and then ensure the ground lead is attached to the top of the probe before zeroing the z plane
  8. After the z dimension has been probed and raised, remove the ground lead from the probe and insert the plasstic cover over the end mill then turn on the vacuum
  9. Press play on your mill trace
  10. Upon completion of the mill trace, turn off vacuum, remove plastic cover, and exchange the end mill for the 1/32
  11. Upload the EdgeCuts G-Code file to the desktop attached to the CNC milling machine
  12. Repeat the steps above with the 1/32 end mill for the mill outline
  13. Upon completion of the mill outline, turn off vacuum, remove plastic cover, and snap PCB from the copper sheet
  14. Inspect the PCB to ensure the trace was clean and as expected; If complications occurred, adjust design as needed and repeat PCB production
  15. Solder the respective components onto the board and validate the board does not have any shorts (note: in this instance the connecting cables were soldered to the NeoPixel Jewel 7)
  16. Within Arduino IDE, program your NeoPixel Jewel 7 to light up specified colors, a delay can also be added for sequential pixel illumination
  17. Connect the RP2040 to laptop and load the desired program
  18. Validate NeoPixel output is as expected by referencing the light color and sequence emitted
Key learnings:
  1. The joy of multicompatibility -- I found the value in designing a circuit with the optionality of connecting additional components via pin headers
  2. Adafruit has wonderful resources availble -- The Adafruit library was very helpful for documenting the capabilities of NeoPixels


Input device PCB design in KiCad - PCB
NeoPixel Jewel 7 output device PCB design in KiCad, built upon design referenced in Week 9.1



Assembled output device
Assembled NeoPixel Jewel 7 output device



Validated output device
Validation of output device, where the NeoPixel Jewel 7 illuminates based on the specified color and delay sequence