-
Notifications
You must be signed in to change notification settings - Fork 0
Hardware Guide
Reference on the Board | Notes | Footprint | Quantity | Shop Description | Shop Item No. | Costs per Unit in EUR | Shop |
---|---|---|---|---|---|---|---|
U1 | ESP32-WROOM-32 Processor | ESP32-WROOM-32 | 1 | WIFI-SMD-Modul, ESP32-D0WD-V3, 4 MB SPI, 3,3 V, 18 x 25,5 x 3,1 | ESP32WROOM32E | 3.6 | Link |
RTC | Real-Time-Clock unit | PinSocket_1x05_P2.54mm_Vertical | 1 | Raspberry Pi - Real-Time-Clock-Modul (RTC), DS3231SN | RPI RTC CLOCK | 4.6 | Link |
USB | USB input pin socket of the board | PinSocket_1x05_P2.54mm_Vertical | 1 | Präzisionsbuchsenleiste, gewinkelt, RM 2,54, 20-polig | W+P 154-020-1 | 2.25 | Link |
R_EN | SMD Resistor, 10K | R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | 1 | SMD-Widerstand, 0603, 10 kOhm, 100 mW, 1% | SMD-0603 10K | 0.02 | Link |
C_EN, C2 | SMD capacitors, 0.1uF | C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | 2 | Vielschicht-Kerko, 100nF, 50V, 125°C | KEM X7R0805 100N | 0.03 | Link |
C1 | SMD capacitors, 10uF | C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | 1 | Vielschicht-Kerko, 10µF, 10V, 85°C | KEM X5R0805 10U | 0.14 | Link |
T3, GND | through-hole resistor, 8.2K from T3 to GND | PinSocket_1x01_P2.54mm_Vertical, PinSocket_1x02_P2.54mm_Vertical | 1 | Widerstand, Metallschicht, 8,20 kOhm, 0207, 0,6 W, 1% | METALL 8,20K | 0.07 | Link |
SD_card | SD Breakout Board | PinSocket_1x06_P2.54mm_Vertical | 1 | Micro SD Breakout Board 3,3V 6Pin für SD/TF Karte Compatible with Arduino | CP09009 | 1.19 | Link |
SW_EN_btn, SW_Boot_btn | Buttons | SW_Push_1P1T_NO_6x6mm_H9.5mm | 1 | 10 Stk. 6x6x6mm DIP-4 mini Drucktaster Eingabetaster AC 250V DC 12V 50mA | ZB04002 | 1.19 | Link |
IMU | Inertial Measurement Unit (IMU) | PinSocket_1x04_P2.54mm_Vertical | 1 | GY-LSM6DS3 6-Wege-Modul Stöße, Neigungen, Bewegungen, Taps, Schritte, Temperatur messen | 604811 | 2.58 | Link |
Notes | Quantity | Shop Description | Shop Item No. | Costs per Unit in EUR | Shop |
---|---|---|---|---|---|
PCB Boards | 1 | PCB 2L, HASL, 8BD | AIS-109 | 2,6 | Link |
Stellar Stencil for the PCBs | 1 | Stencil, 100µm | AIS-103 | 6.69 | Link |
Low-temp solder paste | 1 | BEEYUIHF bleifreies Lötpaste, Sn42 Bi58 Spritzenlötpaste Flussmittel, bleifrei Lötflussmittel-Zinnpaste, Niedrige Temperatur 138 Grad, für BGA SMT Lötzinn (1.05oz/30g) | B0BLNJMTRF | 12.99 | Link |
AAA battery springs | 1 | sourcing map 20Set Batterie Federplatte AAA Feder Kontakt Vernickelt 10mmx9mm | B0B1HKP324 | 6.99 | Link |
Insulated copper wire | 1 | LITZE RT Kupferlitze isoliert, 10 m, 1 x 0,14 mm², rot | LITZE RT | 0.93 | Link |
High-performance lithium batteries | 1 | Kraftmax 10er Pack CR123 / CR123A Lithium Hochleistungs- Batterie für professionelle Anwendungen | 14.94 | Link | |
USB to TTL Serial converter | 1 | FTDI Adapter FT232RL USB zu TTL Serial 3,3V und 5V für Arduino PRO Mini | 272300614420 | 1.67 | Link |
USB 2.0 A to Mini B cable | 1 | USB 2.0 Kabel, A Stecker auf Mini B Stecker, 0,3 m | GC 3310-AM03 | 1.3 | Link |
White PLA filament, 750g | 1 | ULTIMAKER 74579 PLA Filament - M0751 weiß - 750 g | ULTIMAKER 74579 | 41.65 | Link |
Rapid photopolymer resin, 1000g | 1 | ELEGOO 3D Drucker LCD UV Resin, 405nm Rapid Photopolymer Resin für LCD/DLP 3D Drucker Photopolymer Harz, 1000g Weiß | B08PBWMCXZ | 29.99 | Link |
Toothbrush with replaceable heads | 1 | aronal - Zahnbürste öko-dent mit Aufsteckbürsten mittel, 1 St | 1539461 | 3.95 | Link |
Methacrylate adhesive | 1 | Methacrylatkleber, Multi Power 3, milchig weiß / gelb, flüssig | GLUE MP111 | 5.6 | Link |
28 x 1 mm NBR 70 O-ring | 1 | Dichtring / O-Ring 28 x 1 mm NBR 70 | 451011 | 1.36 | Link |
M3 x 1/4 inch PC screws | 1 | PC Schrauben M3 x 1/4 Zoll, 50 Stück | ST SCREWM3 | 5 | Link |
M3 x 16 mm flat countersunk screws | 1 | Flach-Senkkopfschrauben, Edelstahl A2, PZD, M3, 16 mm, 100 Stück | SKS-E M3X16-100 | 6.99 | Link |
M3x5.7 thread inserts for 3D printing | 1 | 3D Druck, Gewindeeinsätze, M3x5,7, 100 Stück | RX-M3X5,7 | 8.99 | Link |
Tape | 1 | tesafilm® invisible, 10 m x 19 mm, 1 Rolle | TESA 57335 | 1.45 | Link |
MicroSDHC memory card | 1 | MicroSDHC-Speicherkarte 4GB, Intenso | INTENSO MSDHC4G | 2.99 | Link |
The design was created with KiCad (https://www.kicad.org/). KiCad is open source and free of charge.
You can find the latest PCB design, version 2.0, in the following directories: hardware/PCB_design/{smart_toothbrush_version_2.0_KiCad, smart_toothbrush_version_2.0_Gerber_files.zip}. The design is user-friendly, offering pins for each component on the board. This allows for direct soldering of components to the board via pins, simplifying the process and saving time. Additionally, a mounting screw ensures the board's stable position within the toothbrush. For added convenience, the microSD card slot is easily accessible on the front of the board.
To order new PCBs, we have had good experiences with Aisler (https://aisler.net/). If you use KiCad, you can install the AISLER Push for KiCad plugin (https://community.aisler.net/t/aisler-push-for-kicad/) to directly push the PCB design from KiCad to Aisler. Then, your PCB design is automatically checked by Aisler to avoid basic design errors. For a more efficient soldering process of the SMD components and the processor to the board, you can order a corresponding stencil for precise application of the solder paste.
To solder the SMD components on the board, you can use either a Hot Air Soldering Station, a Soldering Station, or a Reflow Oven. We used the T-962 Infrared Reflow Oven and solder paste with a melting point of 138℃. Place the stencil over the PCB and apply solder paste with a card such as credit card. After removing the stencil, solder paste should be evenly distributed over all contact surfaces. Next, place the processor and the other SMD components on the board.
R_EN | Resistor, 0603, 10 kOhm |
C_EN, C2 | Capacitor, 0805, 100nF |
C1 | nothing |
If you use a reflow oven, you should be careful that the buttons do not melt and deform due to the heat. For us, it was better to leave the buttons out and then solder them on manually later.
Then, depending on your solder paste, choose a reflow curve. If you use the T-962 infrared reflow oven, then you can use wave 2.
- Start with the buttons, flatten the legs and then cut them off as shown in the picture.
- Then, solder the two buttons to the corresponding pads.
- Next, position and solder the angled connector block with 5 pins on the board. It is required for the USB connection.
- Then, take the resistor with 8.20 kOhm and solder it between the T3 and the GND connection on the front of the PCB and clip off the connection wires from the resistor.
- Then, solder the IMU GY-LSM6DS3 to the PCB as follows on the back of the PCB.
- Adapt the existing pin headers to accommodate configurations of 1 x 1 pin and 1 x 4 pins and then set the pins as shown in the table and in the pictures to connect the IMU to the PCB.
3V3 | |
GND | |
INT1 | SCL |
SDA |
- Then, solder the pins on the front to the PCB and the pins on the back to the IMU.
- Next, solder the Real-Time-Clock-Module (RTC), DS3231SN on the PCB.
- First, desolder the yellow battery on the back and remove the black pin socket.
- To avoid damaging the RTC, remove the leg of each pin, e.g., with a side cutter, by simply cutting off one leg. At first, it might seem strange, but with this approach, there's no need to remove and then re-solder new pins onto the RTC. This is beneficial because re-soldering can often cause issues such as cold solder joints or even damage to the component.
- Then position the RTC on the back of the board and use the available holes on the board to insert the legs of the RTC.
- Then solder the legs of the RTC to the board on the front side.
- Next, solder the Micro SD Breakout Board on the PCB. We use the pins of the Micro SD Breakout Board directly for this, although they are on the wrong side. To do this, simply heat the solder with a soldering iron and then push the pins to the other side.
- Then remove the plastic spacer and solder the pins from above and below to the Micro SD Breakout Board.
- The Micro SD Breakout Board should be aligned parallell to the circuit board so that it fits well in the outer shell later on.
- Finally, connect the 3V and GND holes on the circuit board to the battery contacts using cables.
- Cold solder joints or other connections that have not been soldered correctly can be checked with a multimeter. Simply look at the circuit diagram and check the connections with a multimeter.
- Also check the connections from the pads of the PCB to the pads of the processor, as sometimes not all the pads of the processor are soldered to the PCB with the solder paste. In this case, simply re-solder manually with solder and check for a connection.
- If you want to make changes to the case, you can use the Fusion-360 software (https://www.autodesk.de/products/fusion-360). There is a free limited home-based, non-commercial personal edition or a student license available.
- Then export the changed files as .stl files.
- Resin printing is necessary for the cover and outer shell because it needs to be fully disinfectable and hygienic. Only the resin print then leads to a smooth surface of the outer case.
- For the preparation of the files for printing, you can use Chitubox, a Resin 3D Printing Slicer software (https://www.chitubox.com/en/index). There is a basic free version of Chitubox available: CHITUBOX Basic is a free 3D printing software (slicer) that slices and converts 3D mesh files into printable files.
- In the following we use an ELEGOO Mars Resin 3D Printer.
Use the Elegoo Mars printer for the outer shell. Best results were achieved with the Elegoo rapid Resin in white. We used the following print settings:
Exposure Time (s) | Lift Distance (mm) | Lift Speed (mm/min) | Bottom Exposure Time (s) | Layer Height (mm) | Retract Speed (mm/min) |
---|---|---|---|---|---|
8 | 5 | 100 | 60 | 0.035 | 150 |
Make sure to stick to the orientation, because the surface in the back will be smoother this way. This is important for correct sealing with the O-ring.
- To avoid possible damage to the LCD screen of the printer, always check that there is no leftover material on the bottom of the display before the build plate is lowered. This is particularly important if printing is started a second time and there may be support material at the bottom.
- Before each print: Clean the build plate and the resin tank with isopropanol.
- Fill in the resin and start printing. Printing the cover takes around 20 minutes.
- Make sure to be gentle when removing it from the print plate, because it breaks easily.
- Then use the ELEGOO Mercury Wash Station to wash and clean the print. Two to three minutes are enough. Otherwise, simply use a box filled with isopropanol.
- Next, wait until the model is dry and check that it is clean.
- Finally use an Elegoo Mercury cure station. For us, 5 minutes worked quite well. It´s important to use the right curing time so that the print is solid but not porous and bridging.
- Finally, you receive the following covers:
- Printing the shell takes around 16 hours!
- To ensure that there is enough resin in the printer, it is important to check the fill level after approx. 5-6 hours and refill if necessary. For us, topping up once after approx. 5-6 hours worked well, as we preferred to fill the tank to the top, even if in the end not all resin was needed!
- When refilling, we highly recommend to not stop the printing, but carefully filling the resin while printing to avoid any cracks and unnecessary edges.
- Then again, an Elegoo Mercury cure station for 5 minutes worked quite well.
- Result:
- We printed the inner part with the Ultimaker 3D printer. To generate the files for the printing process, the Ultimaker Cura software can be used https://ultimaker.com/software/ultimaker-cura/.
- Next, we use an Ultimaker 2+ 3D Printer and the Ultimaker Cura software.
- To print the inner component, Import the STL file and use the standard settings with a layer height of 0.06mm. If the print fails, first check that you set the correct layer height! For us, a layer height of 0.06mm worked quite well! Additionally, you can set the Build Plate Adhesion to brim, which worked quite well for us.
- We used the filament pla white (1613).
- Printing each inner cover takes around two and a half hours.
- Take the Aronal toothbrush and cut off about 1.6 cm from the upper part of the toothbrush.
- You can use a simple hand saw and a file to remove any excess material so that the piece fits into the hole of the outer case of the toothbrush.
- Use two-component glue to glue the piece into the hole of the outer case of the toothbrush.
- Use either two-component or fast-drying glue to secure the threads from the inside into the holes of the outer case (this can be a bit tricky).
- Take the thread and insert it into the hole.
- Next, use the screw to mount the board in the inner case.
- Then glue the cover and the inner case together.
- Place the O-ring on the cover as shown in the picture.
- You can now insert the inner case into the outer case and secure it with the screws (M3, 16 mm).
- Now the smart toothbrush is complete.