Skip to content

Hardware Guide

Freeze-FF edited this page May 2, 2024 · 37 revisions

Components Needed to Manufacture a Smart Toothbrush

Electronic Components for Assembling the PCB

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

Additional Components for Assembling the Smart Toothbrush

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

PCB Design

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.

image

Ordering New PCBs

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.image

Soldering the SMD Components on the Board

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.

image 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. image

Soldering All Other Components on the Board

Buttons

  • Start with the buttons, flatten the legs and then cut them off as shown in the picture.

image

  • Then, solder the two buttons to the corresponding pads.

image

Angled Connector Block

  • Next, position and solder the angled connector block with 5 pins on the board. It is required for the USB connection.

image

image

Resistor

  • 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.

image

image

IMU

  • 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.

image

3V3
GND
INT1 SCL
SDA

image

  • Then, solder the pins on the front to the PCB and the pins on the back to the IMU.

image

image

RTC

  • Next, solder the Real-Time-Clock-Module (RTC), DS3231SN on the PCB.

image

  • 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.

image

  • 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.

image

  • Then solder the legs of the RTC to the board on the front side.

image

Micro SD Breakout Board

  • 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.

image

  • Then remove the plastic spacer and solder the pins from above and below to the Micro SD Breakout Board.

image

  • The Micro SD Breakout Board should be aligned parallell to the circuit board so that it fits well in the outer shell later on.

image

image

Cables

  • Finally, connect the 3V and GND holes on the circuit board to the battery contacts using cables.

image

Troubleshooting in the Electronics

  • 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.

Editing the Design of the Case

  • 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.

Printing the Cover and Outer Case

  • 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

image

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.

Printing the Cover

  • Fill in the resin and start printing. Printing the cover takes around 20 minutes.

image

  • 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.

image

  • 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.

image

  • Finally, you receive the following covers:

image

Printing the Outer Shell

  • Printing the shell takes around 16 hours!

image

  • 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.

image

  • Then again, an Elegoo Mercury cure station for 5 minutes worked quite well.

image

  • Result:

image

Printing the Inner Component

  • 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.

image

  • We used the filament pla white (1613).
  • Printing each inner cover takes around two and a half hours.

image

Assembling the Toothbrush

Toothbrush and Outer Shell

  • 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.

image image

  • Use two-component glue to glue the piece into the hole of the outer case of the toothbrush.

image

  • 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).

image

Inner Case and Cover

  • Take the thread and insert it into the hole.
  • Next, use the screw to mount the board in the inner case.

image

  • Then glue the cover and the inner case together.

image

  • Place the O-ring on the cover as shown in the picture.

image

  • 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.

image