Skip to content

Commit

Permalink
Merge pull request #16 from eamars/v2
Browse files Browse the repository at this point in the history
Add v2 PCB
  • Loading branch information
eamars committed Aug 17, 2024
2 parents 0793e85 + 7a59600 commit 48d003f
Show file tree
Hide file tree
Showing 343 changed files with 936,665 additions and 66 deletions.
36 changes: 36 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# For PCBs designed using KiCad: https://www.kicad.org/
# Format documentation: https://kicad.org/help/file-formats/

# Temporary files
*.000
*.bak
*.bck
*.kicad_pcb-bak
*.kicad_sch-bak
*-backups
*.kicad_prl
*.sch-bak
*~
_autosave-*
*.tmp
*-save.pro
*-save.kicad_pcb
fp-info-cache

# Netlist files (exported from Eeschema)
*.net

# Autorouter files (exported from Pcbnew)
*.dsn
*.ses

# Exported BOM files
# *.xml
# *.csv

# Do not commit auto generated directory
jlcpcb/

# Ignore temporary files
*.lck
\#auto_saved_files\#
97 changes: 31 additions & 66 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,30 @@
# Raspberry Pi Pico Motor Expansion Board
# Raspberry Pi Pico Motor Expansion Board V2

The Raspberry Pi Pico Motor Expansion Board is designed to be used as the controller for [OpenTrickler](https://github.com/eamars/OpenTrickler). The board is designed to trickle certain amount of charges (e.g, gun powder) from the reservoir by reading measurements from the attached precision digital balance and actuate corresponding motors.
The Raspberry Pi Pico Motor Expansion Board V2 vis designed to be used as the controller for [OpenTrickler](https://github.com/eamars/OpenTrickler). The board is designed to trickle certain amount of charges (e.g, gun powder) from the reservoir by reading measurements from the attached precision digital balance and actuate corresponding motors.

![3d_view](resources/3d_view.png)

Join our [discord server](https://discord.gg/ZhdThA2vrW) for help and development information.

## Peripherals

* RS232 IO port with either straight through or NULL modem type of connection via on board DB9 connectors. Used to communicate with the precision digital balance.
* 2x Stepper motor driver socket designed for TMC stepstick drivers. TMC2209 with UART is recommended.
* 2x EXP ports for [RepRap 12864 LED display](https://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller)
* A 40 pin socket for Raspberry Pi Pico or Pico W.
The PINOUT diagram is shown below. To pair with the OpenTrickler controller software, you need to use Pico W as the main controller.

* EXP1/EXP2: To be paired to [RepRap 12864 LED display](https://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller) and the compatible display module.

* PWM1/PWM2/PWM3: Can be used to connect with SG90/MG90/S0009M servo motors, or Neopixel RGB LEDs (WS2812)

* UART0: Can be used to connect with external serial to UART adapter, when UART1 is not used.

* UART1: Compatible with RS232 devices.

![peripherals](resources/opentrickler_pcb_v2_peripheral_annotation.drawio.png)

## Power

The expansion board is designed to be powered by 12V or 24V DC supply.
The board is designed to be power from USB-C Charger or power banks. The charger **MUST** support minimum 12V and 2A output.

**NOTE: The board is NOT compatible with USB-A or USB-B charger or adapter cable. USB-C cable and charger must be used.**

## PCB

Expand All @@ -29,70 +38,26 @@ The board is designed with hand soldering in mind. The board can also be manufac

![assembly](resources/assembly.jpg)

BOM and gerber files are provided under [production](motor_expansion_board/production) directory. [Instructions](motor_expansion_board/production/README.md) are also provided regarding the PCB contract manufactoring with JLCPCB.
BOM and gerber files are provided under [production](motor_expansion_board_v2/production) directory. [Instructions](motor_expansion_board_v2/production/README.md) are also provided regarding the PCB contract manufactoring with JLCPCB.

## Components Substitution

## Enclosure
There are several components on JLCPCB that can be out of stock from time to time. The table below shows the substitution of those components.

A 3D printable enclosure is also supplied in [enclosure](motor_expansion_board/enclosure) directory.
| Designator | Part Number | Primary LCSC Part Number | Substitution LCSC Part Number |
| ----------- | --------------------- | ------------------------ | ----------------------------- |
| U2 | CAT24C256 (SOIC-8) | C79987 | C81195 (CAT24C128) |
| IC1 | TPS5450 (SOP-8) | C114425 | |
| U3 | CH224K (ESSOP-10) | C970725 | |
| L1 | 15uH Inductor (10x11) | C151872 | C439295<br>C5123010 |
| U4 | MAX3232 (SOIC-16) | C18261 | |
| J10 | DB9 Male | C426221 | C141880 |
| U5,U6,U7,U8 | 74LVC1G125 | C23654 | |

## Revisions

* v0.1: Initial release.
* v0.2: Add 2x 100uF caps for stepper motor driver power supply.
* v0.3: Fix issues found on v0.2 design. See details at [release](https://github.com/eamars/RaspberryPi-Pico-Motor-Expansion-Board/releases/tag/v0.3) page.
Noted the NEOPIXEL output is moved from GP26 to GP13 from this revision.
* v1.0: Add missing ground PIN for RS232 female connector. First release.
* v1.0.1: Fix the LCSC part number for on-board DB9 male connector. Note there is no board silkscreen update.
* v2.0: Initial release

## Errata

### v1.0 -> v1.0.1

In v1.0 the incorrect LCSC part number for DB9 male connector was recorded. If you've ordered the PCBA from JLCPCB by building the v1.0 release, the DB9 connector is likely incorrect.

**How to tell?**

If you have DB9 female connector assembled, you will have the incorrect part.

**How to fix?**

You can de-solder the DB9 female connector and replace with the DB9 male connector. If you would like to order from LCSC, the part number is [C426221](https://www.lcsc.com/product-detail/_FOXCONN-_C426221.html).

The v1.0.1 already includes the fix.

# PWM Expansion Board

The PWM Expansion Board is designed to extend the output capability for the existing v1.x of the Raspberry Pi Pico Motor Expansion Board. The PWM Expansion Board added additional 3x 5V PWM output that are suitable for servo motors and Neopixel LEDs.

![assembly](resources/pwm_expansion_board_install.jpg)

## Peripherals

GPIO26, 27 and 28 are now wired to the PWM output terminals.

## Power

The PWM Expansion Board is powered by the Raspberry Pi Pico Motor Expansion Board with 5V supply.

## PCB

The board is designed to be manufactured with 2 layer PCB. Traces are placed at top and bottom layers. GND and 5V are poured to the top and bottom layers.

## Manufacturing

The board is designed with hand soldering in mind. The board can also be manufactured by SMT with limited selection of components.

![assembly](resources/pwm_expansion_board_assembly.jpg)

BOM and gerber files are provided under [production](pwm_expansion_board/production) directory. [Instructions](motor_expansion_board/production/README.md) are also provided regarding the PCB contract manufactoring with JLCPCB.

## Sourcing

You may need to source the following components from third party:

* Right angle JST XH connector [Aliexpress](https://www.aliexpress.com/item/1005005424915227.html)
* **20x1** long pin (11mm) header [Aliexpress](https://www.aliexpress.com/item/1005005965643878.html)

## Revisions

* v1.0: Initial Release
None
Loading

0 comments on commit 48d003f

Please sign in to comment.