You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+10-16Lines changed: 10 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,15 +17,16 @@ This branch, `feature/esp_as_mcu_host` is dedicated for any host as MCU support.
17
17
18
18
## 2 Architecture
19
19
20
-
##### Hosted Slave
21
-
This is an ESP chip that provides Wi-Fi, Bluetooth, and other capabilities.
20
+
##### Hosted Co-Processor
21
+
This is an ESP chip that provides Wi-Fi, Bluetooth, and other capabilities. It is also referred as `hosted-slave` interchangeably.
22
22
23
23
##### Host MCU
24
-
This can be any generic microcontroller (MCU). It uses the capabilities of the Hosted Slave through Remote Procedure Calls (RPCs). The Host MCU sends these RPC commands to the Hosted Slave using a reliable communication bus, like SPI, SDIO, or UART. The Hosted Slave then handles the RPC and provides the requested functionality to the Host MCU.
24
+
This can be any generic microcontroller (MCU). We demonstrate any ESP as host. Using port layer, any host can act as host MCU.
25
25
26
-
The data (network or Bluetooth) is packaged efficiently at the transport layer to minimize overhead and delays when passing between the Host and Slave.
27
-
28
-
This modular design allows any MCU to be used as the Host, and any ESP chip with Wi-Fi and/or Bluetooth to be used as the Hosted Slave. The RPC calls can also be extended to provide any function required by the Host, as long as the Slave can support it.
26
+
##### Communication
27
+
- Host extends the capabilities of the Hosted co-processor through Remote Procedure Calls (RPCs). The Host MCU sends these RPC commands to the Hosted co-processor using a reliable communication bus, like SPI, SDIO, or UART. The Hosted co-processor then handles the RPC and provides the requested functionality to the Host MCU.
28
+
- The data (network or Bluetooth) is packaged efficiently at the transport layer to minimize overhead and delays when passing between the Host and co-processor.
29
+
- This modular design allows any MCU to be used as the Host, and any ESP chip with Wi-Fi and/or Bluetooth to be used as the Hosted co-processor. The RPC calls can also be extended to provide any function required by the Host, as long as the co-processor can support it.
29
30
30
31
## 3 Solution Flexibility
31
32
@@ -81,9 +82,8 @@ No worries if you don't have an ESP32-P4. In fact, most users don't. You can cho
Copy file name to clipboardExpand all lines: docs/design_consideration.md
+13-13Lines changed: 13 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
**Table of Contents**
4
4
5
5
-[1. Choosing the Correct ESP chip as Slave](#1-choosing-the-correct-esp-chip-as-slave)
6
-
-[1.1 Using ESP chip as Hosted Master](#11-using-esp-chip-as-hosted-master)
6
+
-[1.1. Using ESP chip as Hosted Master](#11-using-esp-chip-as-hosted-master)
7
7
-[2. General Hardware Considerations](#2-general-hardware-considerations)
8
8
-[2.1. GPIOs used for interface](#21-gpios-used-for-interface)
9
9
-[2.2. Using SPI insted of SDIO](#22-using-spi-insted-of-sdio)
@@ -12,14 +12,14 @@
12
12
-[3. General Debugging Guidelines](#3-general-debugging-guidelines)
13
13
-[3.1. Add tapping points to your PCB prototype](#31-add-tapping-points-to-your-pcb-prototype)
14
14
-[3.2. Tap out additional GPIO signals as testing points and future expansion](#32-tap-out-additional-gpio-signals-as-testing-points-and-future-expansion)
15
-
-[3.3 Verifying Hosted Interface with Raw Throughput](#33-verifying-hosted-interface-with-raw-throughput)
15
+
-[3.3. Verifying Hosted Interface with Raw Throughput](#33-verifying-hosted-interface-with-raw-throughput)
16
16
-[4. Others](#4-others)
17
17
-[5. References](#5-references)
18
18
19
19
There are several considerations that need to be taken into account
20
20
when implementing ESP-Hosted for your system.
21
21
22
-
## 1. Choosing the Correct ESP chip as Slave
22
+
## 1 Choosing the Correct ESP chip as Slave
23
23
24
24
For prototyping, any ESP32 chip can be used as the slave, provided it
25
25
has the required interface (SPI, SDIO). But when creating an actual
@@ -44,9 +44,9 @@ The project defaults to using an ESP chip as the Hosted Master. This
44
44
is to act as a reference platform and make it easier to evaluate and
45
45
test Hosted before porting it to your MCU of choice.
46
46
47
-
## 2. General Hardware Considerations
47
+
## 2 General Hardware Considerations
48
48
49
-
### 2.1. GPIOs used for interface
49
+
### 2.1 GPIOs used for interface
50
50
51
51
Make sure the correct GPIOs pins on the Hosted Slave and Master are
52
52
connected together. Verify that the correct GPIOs are set-up in
@@ -58,7 +58,7 @@ connected together. Verify that the correct GPIOs are set-up in
58
58
> under Hosted. Check the ESP datasheet to verify the GPIOs you select
59
59
> can be used as a Hosted interface.
60
60
61
-
### 2.2. Evaluate with jumpers first
61
+
### 2.2 Evaluate with jumpers first
62
62
63
63
It is flexible to evaluate with jumper cables or bread board than full-fledged PCB.
64
64
In general, SPI (Standard & Dual SPI) imposes fewer hardware requirements compared to
@@ -80,7 +80,7 @@ Once you evaluate the solution on jumper cables, you can move to PCB solutions w
80
80
- Quad SPI : jumpers not supported, only PCB
81
81
- SDIO 4 Bit: Jumpers not supported, only PCB
82
82
83
-
### 2.3. Whenever possible, Use `IO_MUX` GPIOs.
83
+
### 2.3 Whenever possible, Use `IO_MUX` GPIOs.
84
84
85
85
In general, ESP peripheral interfaces can be assigned to any available
86
86
GPIO through a multiplexer. But some ESPs have dedicated GPIOs for
@@ -93,7 +93,7 @@ interface for Hosted.
93
93
> The SDIO interface on the ESP32 and ESP32-C6 have fixed GPIO
94
94
> assignments and cannot be changed.
95
95
96
-
### 2.4. Signal Length and Noise Reduction
96
+
### 2.4 Signal Length and Noise Reduction
97
97
98
98
For best performance, a PCB with traces should be used to connect the
99
99
Hosted Slave and Master. For prototyping, jumper cables can be used,
@@ -123,15 +123,15 @@ For jumper cables, you can try surrounding the signals, especially the
123
123
> Also check the Hosted documentation for SPI and SDIO for more
124
124
> information and guidelines on the interfaces.
125
125
126
-
## 3. General Debugging Guidelines
126
+
## 3 General Debugging Guidelines
127
127
128
-
### 3.1. Add tapping points to your prototype
128
+
### 3.1 Add tapping points to your prototype
129
129
130
130
Adding tapping points or headers to the Hosted interface signals on
131
131
your prototype will make it easier to check whether the Hosted
132
132
interface is working as expected.
133
133
134
-
### 3.2. Tap out additional GPIO signals as testing points and future expansion
134
+
### 3.2 Tap out additional GPIO signals as testing points and future expansion
135
135
136
136
Add tapping points to some unused GPIOs on both the Hosted Slave and
137
137
Host on your prototype PCB. This can later be use for debugging or
@@ -169,7 +169,7 @@ on Host, enter `Menuconfig` and enable **Component config** --->
169
169
the data transfer direction: **Host to Slave**, **Slave to Host** or
170
170
**Bidirectional**.
171
171
172
-
## 4. Others
172
+
## 4 Others
173
173
174
174
Check the References below for links to the Product Selector, and more
175
175
detailed information on the interfaces used in Hosted. If you have
@@ -179,7 +179,7 @@ You can also raise an Issue on the ESP-Hosted Github repository. Check
179
179
that the issue has not already been raised before submitting. The
180
180
solution to your problem may have already been provided.
0 commit comments