Skip to content

Commit 33d22ab

Browse files
committed
Track status display
1 parent 87237eb commit 33d22ab

8 files changed

Lines changed: 103 additions & 1 deletion

File tree

54.8 KB
Loading
35.1 KB
Loading
9.59 KB
Loading
17.7 KB
Loading
508 KB
Loading

docs/reference/esp32/.nav.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
nav:
22
- WeMos D1 R32 + EX8874: esp32-ex8874.md
33
- Acebott + EX8874: esp32-acebott.md
4+
- Keyestudio + EX8874: esp32-keyestudio.md
45
- ESP32 + L298 Shields: esp32-l298-shield.md
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
---
2+
hide:
3+
- toc
4+
---
5+
6+
# Keyestudio + EX8874
7+
8+
!!! note "Keyestudio ESP32 Beta Testing"
9+
10+
Please note that the Keyestudio ESP32 board is currently in Beta testing, so this information may change at any time. If using this board, we highly recommend joining our [Discord server](/support/discord.md) and request access to the `#beta-testing` channel.
11+
12+
![Keyestudio ESP32](/_static/images/esp32/keyestudio-iot-esp32-plus.png){ width=30% align=right }
13+
14+
## Keyestudio IOT ESP32 PLUS Development Board
15+
16+
- Limited testing has been done with this board.
17+
- Please report any anomalies when using the pins in the suggested custom motor defines.
18+
- A custom motor define is required when using the Keyestudio ESP32 board, as the pins are in different locations vs. the WeMos ESP32.
19+
- Do not be fooled by the V pin on the I2C header block as it is 5V, and there is no onboard level shifting of the SDA SCL pins.
20+
21+
## Keyestudio IOT ESP32 PLUS vs. WeMos R1 D32
22+
23+
- Fewer modifications may be required.
24+
- WiFi does not need the resistor.
25+
- Pin locations A0, A1 can be used for current sensing.
26+
- Default pins can be used on EX8874.
27+
28+
![Keyestudio IOREF](/_static/images/esp32/esp32-keyestudio-bent-pin.png){ width=20% align=right }
29+
![Keyestudio IOREF](/_static/images/esp32/esp32-keyestudio-ioref.png){ width=15% align=right }
30+
31+
## Incorrect IOREF voltage
32+
33+
- The IOREF pin location has the 5V pin. If the pin on the EX8874 is bent, the IOREF could be jumpered to 3V3 pin on the EX8874.
34+
- The preferable work-around to the incorrect 5V pin is to modify the EX8874, using the **3V3 IOREF Override** solder pad on the EX8874. If voltage is not correct, the ADC inputs will receive up to 5V when the IOREF pin is 5V.
35+
36+
![EX8874 IOREF](/_static/images/esp32/ioref-override.png){ width=30% align=right }
37+
38+
- When using the 3V3 IOREF Override, bend the IOREF pin or confirm that the trace connecting the pin is completely cut.
39+
40+
---
41+
42+
## One EX8874
43+
44+
- Keyestudio ESP32 motor defines are not included in MotorDrivers.h
45+
- Do not edit MotorDrivers.h; a custom motor define should be added in config.h
46+
- Note how the ESP32 GPIO pin numbers are used, and the Arduino pin locations are shown/commented.
47+
48+
```cpp
49+
#define EX8874_KEYES_ESP32 F("EX8874_KEYES_ESP32"),\
50+
new MotorDriver(25/* 3*/, 19/*12*/, UNUSED_PIN, 13/*9*/, 32/*A0*/, 1.52, 5000, 36 /*A4*/), \
51+
new MotorDriver(23/*11*/, 18/*13*/, UNUSED_PIN, 12/*8*/, 33/*A1*/, 1.52, 5000, 39 /*A5*/)
52+
#define MOTOR_SHIELD_TYPE EX8874_KEYES_ESP32
53+
```
54+
55+
- When one EX8874 motor shield is used with Keyestudio IOT ESP32 PLUS, the default EX8874 pins are used.
56+
57+
       ![Keyestudio table](/_static/images/esp32/keyestudio-ex8874-x1b.png){ width=80% }
58+
59+
### Single EX8874 Checklist
60+
61+
- [ ] Cover the barrel connector on Keyestudio IOT ESP32 PLUS Development Board, as VIN power will be provided by EX8874
62+
- [ ] IOREF Override set to 3v3
63+
- [ ] Confirm that IOREF pin is bent or trace is cut
64+
- [ ] Add the custom motor define - 4 lines in config.h
65+
66+
---
67+
68+
## Stacked EX8874
69+
70+
- Reminder: No modifications are needed when installing EX8874 for 4 track outputs on EX-CSB1.
71+
- **IOREF:** The IOREF override is also needed for the top shield.
72+
- **VIN:** Refer to instructions on [cutting the VIN trace and disabling the regulator](/products/ex-motorshield8874/ex-motorshield8874.md/#steps-to-stack) for the top shield.
73+
74+
- Stacking motor shields on Keystudio ESP32 requires
75+
a. use of solder pad for 8 alternate pins
76+
b. for Fault pins, bend A4 and A5 pins and jumper to the GPIO headers
77+
78+
       ![Keyestudio table](/_static/images/esp32/keyestudio-ex8874-x2b.png){ width=80% }
79+
80+
- A custom motor define will be needed in config.h
81+
82+
```cpp
83+
#define EX8874X2_KEYES_ESP32 F("EX8874X2_KEYES_ESP32"), \
84+
new MotorDriver(25/* 3*/, 19/*12*/, UNUSED_PIN, 13/*9*/, 32/*A0*/, 1.52, 5000, 36/*A4*/), \
85+
new MotorDriver(23/*11*/, 18/*13*/, UNUSED_PIN, 12/*8*/, 33/*A1*/, 1.52, 5000, 39/*A5*/), \
86+
new MotorDriver(26/* 2*/, 5/*10*/, UNUSED_PIN, 14/*7*/, 34/*A4*/, 1.52, 5000, 2 /*A4*/), \
87+
new MotorDriver(16/* 5*/, 17/* 4*/, UNUSED_PIN, 27/*6*/, 35/*A5*/, 1.52, 5000, 4 /*A5*/)
88+
#define MOTOR_SHIELD_TYPE EX8874X2_KEYES_ESP32
89+
```
90+
91+
### Stacked EX8874 Checklist
92+
93+
- [ ] Cover the barrel connector on Keyestudio IOT ESP32 PLUS Development Board, as VIN power will be provided by one EX8874
94+
- [ ] IOREF Override set to 3v3 on both EX8874 boards
95+
- [ ] Confirm that IOREF pin is bent or trace is cut
96+
- [ ] VIN trace cut and regulator disabled on top EX8874
97+
- [ ] Alternate pins enabled via solder pads
98+
- [ ] Jumpers added for GPIO 2 and 4
99+
- [ ] Add the custom motor define - 6 lines in config.h
100+
101+
==TODO==

docs/reference/nucleo/nucleo-144-ex8874.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ Brake and Fault pin updates as shown for F429ZI F439ZI.
5858

5959
==TODO== - update MotorDrivers.h for D8
6060

61-
- This motor define can be used with E8874 and F413ZH F446RE
61+
- This motor define can be used with E8874 and F413ZH F446ZE
6262
\- alternate Brake pin is used for Track B
6363
\- presently a custom motor define is needed in config.h
6464

0 commit comments

Comments
 (0)