Input Devices
Input devices refer to every type of component or module that can receive analogue or digital measurements useful for our projects needs. As simple as it sounds, it is a world of possibilities, as these types of input devices can measure:
- Speed
- Sound
- Atmospheric Pressure
- Altitude
- Motor Position (encoders)
- Touch
- Proximity
- Material Bending
- Etc.
There is most likely a way to input any value you desire to your micro-controller, to process it and act upon it. Learning how the most common input devices work is a useful maker skill that will make you think about your projects in terms of systems that accomplish tasks and, together, solve a problematic.
Component vs Modules
There are two main ways of using input devices: components vs modules.
On one hand, a component refers to a single electrical component that serves as an input device by itself or with the help of a few extra controllers. These components are the purest way of implementing input devices into your project, as you are in charge of designing your PCBs and scripts to accommodate the component. This is a double edge sword, as some components requiere multiple extra components to work properly, harder to make wiring or complex soldering processes.
Components give you control in exchange of convenience.
On the other hand, a module refers to a pre built PCB with the components necessary for an out-the-box input capability. Its just like using component based inputs devices, but someone already designed and assembled the PCB for you. Modules are the easy, already proven way of implementing input devices into your project. The one big downside to modules are that they are already built, meaning that your project’s PCB must accommodate the device, not the other way around. Plus, modules tend to be a little bit more expensive that the component alone.
Modules give you convenience in exchange of control.
Which One to Use?
As most thing, it depends on your personal cases. For simple, single-component input devices, using the component itself can be even easier than using a module, as the module will most likely be more expensive, bulkier and with “unnecessary” components.
For more complex input devices, like encoders or buck converters, using a module might be more desired. This input devices tend to be more complex in their functionality, leaving a bigger error margin for beginner makers trying to design and solder it. Plus, these modules are already tested, meaning that you can rest assured that, once in your project, they will work as intended.
Testing an Input Device
For my project, I need an array of microphones to input speech into a Speech-To-Text library for my TLM (Tiny Language Model) to receive prompts), but also as a way of finding the overall direction of the sound to trigger its rotating base to face it. For this, 4 microphones might be enough.
The recommended microphone type for this type of application would be a MEMS (Micro Electrical Mechanical System) microphone. A MEMS microphone is a tiny electrical component that, with a small diaphragm inside of it, reproduces the sound received into either an analog or digital signal for our program to read.
For our specific use case, a digital signal will allow us to get a better quality audio for the Speech-To-Text to process it and return us a prompt. For this reason, using a module like the Adafruit ICS 43434 is an amazing choice. The module comes in a small sized PCB with the corresponding pads to solder or wire into our existing PCB. These modules are also cheap, which is great for our use case because we will be needing at least 4. And most importantly, using the module saves us time and effort, as the MEMS microphone is really small and its soldering pads are too close together for a single layer PCB like the ones we have access to produce.
Designing the PCB
Our PCB for this microphone will be really simple: It will have a Xiao RP2350, an LED that will signal noise detection, and 6 pads corresponding to the 6 pads needed for the module.
Then, we create the PCB layout. Again, this process is quite easy considering the few amount of components and the simplicity of its connections:
Now, we simply export the Gerber file and, using FabLab Kerela‘s Gerber to PNG, we get our PNG file to upload.
XTool F1 Ultra
Last week I had no time to use the XTool F1 Ultra for PCB production, and now I have an opportunity to do it. Ever since I saw the XTool potential, I was eager to try it out. Unlike the Roland milling machine, the XTool uses laser to engrave and even cut the PCB itself. Personally, it feels like a more “profesional” tool for PCB production, specially for small PCBs like this one.
Operating the XTool F1 Ultra is relatively easy, you can take a look the previous week Lab group assignment page for a more detailed guide on how to prepare your XTool F1 Ultra.
Assuming your XTool is already calibrated, following the group assignment instructions, we first need to import our SVG or PNG image into a new workspace.
Now, we must configure the parameters for the laser cutter. For this first trial we used the following parameters, taken directly from the series of tests made in the group assignment page. These parameters are:
- Job type: Engrave.
- Laser type: IR Fiber.
- Power (%): 100.
- Speed (mm/s): 750.
- Passes: 10.
- Lines per cm: 300.
- Engraving mode: Unidirectional.
These parameters where meant to be enough to engrave the PCB in a single job. Now, its time to send the file into the XTool itself. For this, we just need to click the Engrave button underneath the laser configuration. A window will appear with the Job preview and a Start button on the right-top corner of the Screen.
Now its time to prepare our material, by placing it into the XTool chamber. We can use a little bit of tape to secure it into the base, although I didn’t find this step as necessary as with the Roland. Now, we must lower the chamber protection screen.
Make sure the XTool extraction unit is on and working correctly, as fumes may be released during the job.
With the extraction unit ready and the chamber closed, we can go into our XTool control panel (the screen with the big green button) and press it. The laser will start working automatically! Make sure to stay near the laser cutter at all times in case something goes wrong.
Your screen will show the time remaining for the job to be done. When the job is over, wait a few seconds for the extraction unit to completely remove any fumes that might have been generated during the engraving process. Now, simply open the chamber and remove your material.
First Engraving Analysis
Our first engrave, as expected, wasn’t completely successful. For starters, the laser interpreted our SVG wrong. The white areas where meant to be engraved, and the black areas where meant to stay as copper. This first engraving mixed up the colors, engraving the black areas and preserving the white areas. The second problem was continuity. When testing the PCB engraved areas and the copper layer with a multimeter, there was continuity between both sections, meaning the PCB wasn’t fully engraved yet.
Second Attempt
For this second attempt I firstly inverted the colors of my PCB images, so that the XTool would engrave the correct sections.
Now, it was time to modify my initial parameters. For this second attempt I decided to follow the advice of a fellow Ibero Puebla FabLab student, Leonardo Batista. He was able to not only engrave, but also cut his PCB, all in the XTool F1 Ultra. I used his last set of parameters:
- Job type: Engrave.
- Laser type: IR Fiber.
- Power (%): 100.
- Speed (mm/s): 1000.
- Passes: 10+.
- Lines per cm: 300.
- Engraving mode: Unidirectional.\
- Material Thickness: (the PCB thickness).
Leonardo explains that his previous attempts failed because the material thickness wasn’t properly configured. He also explains that multiple passes might be required to complete the engraving process. I asume that doing 10 passes, then another 10 and so on is ideal to get a perfect Engraving.
Following his advice (thanks Leonardo), I did a second attempt. This time, the results where more promising, although not perfect.
This second attempt (the one on the right) is now engraved correctly but not enough. When testing the board with a multimeter, continuity was still present between the engraved and non-engraved areas of the PCB. This means that the engraving process did not fully removed the copper layer.
As Leonardo’s page said, multiple passes where needed, so I tried with another 5 passes, and then another 5 passes. Results stayed the same.
Trial and Error
Given that I was the only student using the XTool, I took my time to run my own tests on parameters. I five different configurations:
- The Lab’s Group Assignment parameters.
- Leonardo Batista’s parameters.
- ChatGPT generated parameters (not as serious as the other ones).
- Daniel Tartaglia YouTube video parameters.
- JTMakestl YouTube video parameters.
The main difference between these parameters where the speed (mm/s) and cuts per cm. JTMakestl parameters did actually went through the copper layer, but severely burnt the lower layers. The rest resulted into similar engravings, all without correctly engraving the PCB.
After this series of test, I came to the conclusion that speed (mm/s) was the most important parameter to get right. A high speed resulted into a beautifully engraved PCB but without removing the copper layer. An extra low speed resulted into removing the copper layer in one job, but burning underneath.
My Personal Best Parameters
My last PCB was a success. Among all the changes made to the parameters, I also used the automatic measurement tool to detect the material thickness. Previously, I measured 1.4mm as my copper plate thickness. The XTool detected a 2.4mm thickness, which checks out with a common tip I saw while investigating the parameters I tested: add +1mm to your material thickness.
Plus, there was a hidden configuration I also added to the parameters: The cross pattern option, under the advanced configurations menu.
With this in mind, I ended up doing 3 different jobs:
| Power % | Speed (mm/s) | Passes | Lines per cm | Frequency | Progressive Angle | Cross Pattern | |
|---|---|---|---|---|---|---|---|
| Engraving Job | 100 | 600 | 10 | 240 | 32 | Yes | Yes |
| Cleaning Job | 100 | 750 | 5 | 240 | 32 | Yes | Yes |
| Finishing Job | 80 | 1400 | 1 | 240 | 45 | Yes | Yes |
The whole PCB production took some time (1+ hour). But, in the end, the results where worth the wait. In my hands where the best PCB I’ve ever produced. Every track had a perfect resolution, even the smallest ones reserved for connecting ground pads to the ground plane. The area between the tracks was smooth, without messy protruding material.
The resulting PCB was perfect. Almost perfect…
Side Quest: Cutting my PCB
I was so exited with my results that I forgot I never cut the PCB layout previous to the engraving process, which meant that my PCB was stuck inside the whole copper plate. Leonardo Batista was able to cut his PCB with the XTool itself, but I wasn’t ready to spend more time testing for parameters to do a job that, being honest, is not meant to be done with the XTool. For future PCBs, cutting the layout first in the Roland machine seems like a great idea.
Now, I needed figure how to remove my PCB from the copper plate. Using a Dremel tool seemed like a good choice, but every instructor I consulted gave me the same answer: using a Band Saw.
My university has a lot of tools at our disposal, one of them being a band saw. So, I had to use a band saw for the first time. Using a band saw is quite straight forward: You just need to insert your material through the moving band following your layout. It is not as dangerous as it might seem, but there are a few considerations you must keep in mind before using a band saw:
- Always use glasses.
- Hold your material tightly with your hands with enough separation between your fingers and the band.
- Material might fly with speed if it is separated from the base material with a cut from the band saw. To prevent this, remove from the band saw when only a sliver of material is holding the piece, then remove by hand.
With these precautions in mind, we can start cutting the PCB. There is no video of this process, as I was alone, but it went surprisingly smoothly for my first time.
After using the band saw, the PCB was ready!