Skip to content

Commit ff57a83

Browse files
authoredMar 6, 2025··
Merge pull request #247 from OpenBCI/ftdi-update-2025
Deprecate the FTDI driver fix for Mac while retaining the existing link
2 parents 9149ea5 + aa1047d commit ff57a83

File tree

4 files changed

+540
-528
lines changed

4 files changed

+540
-528
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,319 @@
1+
---
2+
id: FTDI_Fix_Mac_Deprecated
3+
title: FTDI Buffer Fix on OS X 10
4+
---
5+
6+
## Summary
7+
8+
:::important
9+
10+
**THIS DOC IS NOW DEPRECATED. MACS NO LONGER REQUIRE THIS FIX.**
11+
12+
The FTDI driver is only necessary for Mac OS X 10.9 through 10.15. If you are running a Mac that is mid 2015 or newer, you do not need to install the FTDI driver! The included drivers with OS X 11, 12, 13, 14, and 15 can handle communications with Cyton and Dongle out of the box.
13+
:::
14+
15+
On some Macs, you may have noticed that the data coming from your board is very choppy.
16+
17+
This is a result of the FTDI virtual com port (VCP) driver's default settings for macOS. For more info on FTDI VCP drivers, see [this forum thread](http://openbci.com/forum/index.php?p=/discussion/196/os-x-and-virtual-com-ports-mavericks-yosemite-note) and the [FTDI VCP web page](http://www.ftdichip.com/Drivers/VCP.htm).
18+
19+
This document details how to edit the config data of the **Info.plist** file of your FTDI VCP driver, so that the choppiness is significantly reduced, and you are able to process the data in real-time, with minimal latency!
20+
21+
This tutorial has been verified to work with the following macOS versions:
22+
23+
- 10.9
24+
- 10.10
25+
- 10.11
26+
- 10.13
27+
- 10.14
28+
- 10.15
29+
30+
### Step 1: open Terminal
31+
32+
To open Terminal, go to:
33+
34+
/Applications/Utilities/Terminal
35+
36+
All of the lines of code you see below you will run from the Terminal command line. If you are unfamiliar with using Terminal, check out this [Introduction to the Terminal in macOS](https://www.youtube.com/watch?v=yIY3iPDVUBg) Youtube tutorial.
37+
38+
**_!!! WARNING !!!_**
39+
40+
Be very careful when using the **sudo rm** command. It is used to remove files from your system. Never EVER enter the following command by itself, without specifying a filepath. That will wipe your hard drive.
41+
42+
If you are new to Terminal, it is best to simply copy and paste the lines of code below into your terminal window.
43+
44+
### Step 2: Remove any existing FTDI drivers & reboot
45+
46+
Remove the FTDI [kernel extension](http://www.macbreaker.com/2012/01/what-are-kexts.html) (.kext) from your machine. You might not have it installed already. If you do not, skip this step.
47+
48+
```
49+
50+
sudo rm /System/Library/Extensions/FTDIUSBSerialDriver.kext
51+
sudo rm -rf /Library/Extensions/FTDIUSBSerialDriver.kext
52+
53+
```
54+
55+
After removing all existing FTDI drivers, reboot your computer.
56+
57+
### Step 3: get the FTDI driver
58+
59+
#### for macOS 10.9 to 10.11
60+
61+
Download and install the FTDI Driver 2.2.18 for your processor from the [FTDI VCP page](http://www.ftdichip.com/Drivers/VCP.htm). The latest FTDI VCP driver for macOS (version 2.3) does not work yet for this fix.
62+
63+
Here are the direct download links for [32-bit](https://ftdichip.com/wp-content/uploads/2020/10/FTDIUSBSerialDriver_v2_2_18.dmg) and [64-bit](https://ftdichip.com/wp-content/uploads/2020/10/FTDIUSBSerialDriver_v2_2_18.dmg) processors. Most likely you are working with 64-bit.
64+
65+
The downloaded .dmg comes with two installers in it. **FTDIUSBSerialDriver_10_3** for OS X 10.3 and **FTDIUSBSerialDriver_10_4_10_5_10_6_10_7** for the rest. You most likely need to install **FTDIUSBSerialDriver_10_4_10_5_10_6_10_7**.
66+
67+
#### for macOS 10.13 and 10.14
68+
69+
Download and install the FTDI Driver 2.4.2 from the [FTDI VCP page](http://www.ftdichip.com/Drivers/VCP.htm).
70+
71+
### Step 4: enable dev mode
72+
73+
Prior to making edits to the kext file, you must enable kext dev mode and disable signature verification. For OS X 10.10 or older, you just type:
74+
75+
```
76+
77+
sudo nvram boot-args="kext-dev-mode=1"
78+
79+
```
80+
81+
For 10.11 or newer, you need to reboot your computer and before booting, hold the Cmd-R key. This will get you into recovery mode. From Utilities, choose Terminal and type:
82+
83+
```
84+
85+
csrutil disable
86+
87+
```
88+
89+
You can then close the Terminal application and reboot your computer to normal mode. You can proceed with Step 6.
90+
91+
### Step 5: reboot your computer
92+
93+
After re-installing the FTDI driver and enabling kext dev mode, reboot your computer once more to ensure that everything has taken effect.
94+
95+
### Step 6: plug in your dongle
96+
97+
Plug in your dongle and ensure that the switch is set to GPIO6 (not RESET).
98+
99+
![image](../assets/DepImages/dongleConnection.png)
100+
101+
### Step 7: unload the FTDI kernel extension
102+
103+
```
104+
105+
sudo kextunload /System/Library/Extensions/FTDIUSBSerialDriver.kext
106+
107+
```
108+
109+
### Step 8: make sure it's unloaded
110+
111+
```
112+
113+
kextstat | grep FTDI
114+
115+
```
116+
117+
If everthing is good, nothing should print after running this command.
118+
119+
### Step 9: open the Info.plist file:
120+
121+
```
122+
123+
sudo emacs /System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/Info.plist
124+
125+
```
126+
127+
or
128+
129+
```
130+
131+
sudo vim /System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/Info.plist
132+
133+
```
134+
135+
### Step 10: edit the config data
136+
137+
Now add the new config data for the "FT X Series" as seen below. The "FT X Series" key is about 1/3 of the way through the Info.plist file and all of the keys are in alphabetical order. Scroll down to 'F'!
138+
139+
#### for macOS 10.9 to 10.11, using the driver 2.2.18
140+
141+
**BEFORE**
142+
143+
```
144+
145+
<key>FT X Series</key>
146+
<dict>
147+
<key>CFBundleIdentifier</key>
148+
<string>com.FTDI.driver.FTDIUSBSerialDriver</string>
149+
<key>IOClass</key>
150+
<string>FTDIUSBSerialDriver</string>
151+
<key>IOProviderClass</key>
152+
<string>IOUSBInterface</string>
153+
<key>bConfigurationValue</key>
154+
<integer>1</integer>
155+
<key>bInterfaceNumber</key>
156+
<integer>0</integer>
157+
<key>bcdDevice</key>
158+
<integer>4096</integer>
159+
<key>idProduct</key>
160+
<integer>24597</integer>
161+
<key>idVendor</key>
162+
<integer>1027</integer>
163+
</dict>
164+
165+
```
166+
167+
**AFTER**
168+
169+
```
170+
171+
<key>FT X Series</key>
172+
<dict>
173+
<key>CFBundleIdentifier</key>
174+
<string>com.FTDI.driver.FTDIUSBSerialDriver</string>
175+
<key>IOClass</key>
176+
<string>FTDIUSBSerialDriver</string>
177+
<key>IOProviderClass</key>
178+
<string>IOUSBInterface</string>
179+
<key>bConfigurationValue</key>
180+
<integer>1</integer>
181+
<key>bInterfaceNumber</key>
182+
<integer>0</integer>
183+
<key>bcdDevice</key>
184+
<integer>4096</integer>
185+
<key>idProduct</key>
186+
<integer>24597</integer>
187+
<key>idVendor</key>
188+
<integer>1027</integer>
189+
<key>ConfigData</key>
190+
<dict>
191+
<key>PortName</key>
192+
<string>OpenBCI</string>
193+
<key>InBufferSize</key>
194+
<integer>64</integer>
195+
</dict>
196+
</dict>
197+
198+
```
199+
200+
**Note:** We also rename the port name to OpenBCI because it's easier to spot if the board is connected or not.
201+
202+
#### for macOS 10.13 and 10.14, using the driver 2.4.2
203+
204+
**BEFORE**
205+
206+
```
207+
208+
<key>FT X Series</key>
209+
<dict>
210+
<key>CFBundleIdentifier</key>
211+
<string>com.FTDI.driver.FTDIUSBSerialDriver</string>
212+
<key>IOClass</key>
213+
<string>FTDIUSBSerialDriver</string>
214+
<key>IOProviderClass</key>
215+
<string>IOUSBInterface</string>
216+
<key>bConfigurationValue</key>
217+
<integer>1</integer>
218+
<key>bInterfaceNumber</key>
219+
<integer>0</integer>
220+
<key>bcdDevice</key>
221+
<integer>4096</integer>
222+
<key>idProduct</key>
223+
<integer>24597</integer>
224+
<key>idVendor</key>
225+
<integer>1027</integer>
226+
</dict>
227+
228+
```
229+
230+
**AFTER**
231+
232+
```
233+
234+
<key>FT X Series</key>
235+
<dict>
236+
<key>CFBundleIdentifier</key>
237+
<string>com.FTDI.driver.FTDIUSBSerialDriver</string>
238+
<key>IOClass</key>
239+
<string>FTDIUSBSerialDriver</string>
240+
<key>IOProviderClass</key>
241+
<string>IOUSBInterface</string>
242+
<key>bConfigurationValue</key>
243+
<integer>1</integer>
244+
<key>bInterfaceNumber</key>
245+
<integer>0</integer>
246+
<key>bcdDevice</key>
247+
<integer>4096</integer>
248+
<key>idProduct</key>
249+
<integer>24597</integer>
250+
<key>idVendor</key>
251+
<integer>1027</integer>
252+
<key>ConfigData</key>
253+
<dict>
254+
<key>InBufferSize</key>
255+
<integer>128</integer>
256+
<key>LatencyTimer</key>
257+
<integer>24</integer>
258+
</dict>
259+
</dict>
260+
261+
```
262+
263+
### Step 11: save & close
264+
265+
In emacs:
266+
267+
To save:
268+
**[CTRL] + x**
269+
followed by
270+
**[CTRL] + s**
271+
272+
To close emacs:
273+
**[CTRL] + x**
274+
followed by
275+
**[CTRL] + c**
276+
277+
---
278+
279+
In vim:
280+
281+
Hit the **[esc]** key to go into command mode.
282+
Then type **:wq** to save and quit.
283+
284+
### Step 12: reload the kernel extension
285+
286+
```
287+
288+
sudo kextload /System/Library/Extensions/FTDIUSBSerialDriver.kext
289+
290+
```
291+
292+
### Step 13: make sure it's loaded
293+
294+
```
295+
296+
kextstat | grep FTDI
297+
298+
```
299+
300+
You should get a response that looks something like this:
301+
302+
```
303+
304+
145 0 0xffffff7f82dce000 0x8000 0x8000 com.FTDI.driver.FTDIUSBSerialDriver (2.2.18) <118 37 5 4 3 1>
305+
306+
```
307+
308+
### Step 14: enjoy smoother streaming
309+
310+
Open the OpenBCI Processing GUI (or other software), connect to your device, and begin streaming the data.
311+
312+
---
313+
314+
### Helpful Resources
315+
316+
- [Marion's original fix (thank you)!](https://marion.ai/koac/)
317+
- [FTDI VCP web page](http://www.ftdichip.com/Drivers/VCP.htm)
318+
- [What is a .kext file?](http://www.macbreaker.com/2012/01/what-are-kexts.html)
319+
- [FTDI Driver Installation Guide for macOS](http://www.ftdichip.com/Support/Documents/AppNotes/AN_134_FTDI_Drivers_Installation_Guide_for_MAC_OSX.pdf)

‎website/docs/Troubleshooting/00-TroubleshootingLanding.md

-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,5 @@ The guides below offer tips on common hardware and software issues and how to fi
88
- [Minimizing Noise](Troubleshooting/01-MinimizingNoise.md)
99
- [GUI Troubleshooting](Troubleshooting/02-GUI_Troubleshooting.md)
1010
- [FTDI Buffer Fix on Linux](Troubleshooting/03-FTDI_Fix_Linux.md)
11-
- [FTDI Buffer Fix on OS X](Troubleshooting/05-FTDI_Driver_Fix_Mac.md)
1211
- [FTDI Buffer Fix on Windows](Troubleshooting/04-FTDI_Fix_Windows.md)
1312
- [MacOS Ganglion BLE Workaround](Troubleshooting/MacOS_Ganglion_BLE_Workaround.md)
Original file line numberDiff line numberDiff line change
@@ -1,316 +1,10 @@
11
---
22
id: FTDI_Fix_Mac
3-
title: FTDI Buffer Fix on OS X
3+
title: FTDI Buffer Fix on Mac
44
---
55

6-
## Summary
7-
86
:::important
9-
**The FTDI driver is only necessary for Mac OS X 10.9 through 10.15. If you are running a Mac that is mid 2015 or newer, you do not need to install the FTDI driver! The included drivers with OS X 11, 12, and 13 can handle communications with Cyton and Dongle out of the box.**
10-
:::
11-
12-
On some Macs, you may have noticed that the data coming from your board is very choppy.
13-
14-
This is a result of the FTDI virtual com port (VCP) driver's default settings for macOS. For more info on FTDI VCP drivers, see [this forum thread](http://openbci.com/forum/index.php?p=/discussion/196/os-x-and-virtual-com-ports-mavericks-yosemite-note) and the [FTDI VCP web page](http://www.ftdichip.com/Drivers/VCP.htm).
15-
16-
This document details how to edit the config data of the **Info.plist** file of your FTDI VCP driver, so that the choppiness is significantly reduced, and you are able to process the data in real-time, with minimal latency!
17-
18-
This tutorial has been verified to work with the following macOS versions:
19-
20-
- 10.9
21-
- 10.10
22-
- 10.11
23-
- 10.13
24-
- 10.14
25-
- 10.15
26-
27-
### Step 1: open Terminal
28-
29-
To open Terminal, go to:
30-
31-
/Applications/Utilities/Terminal
32-
33-
All of the lines of code you see below you will run from the Terminal command line. If you are unfamiliar with using Terminal, check out this [Introduction to the Terminal in macOS](https://www.youtube.com/watch?v=yIY3iPDVUBg) Youtube tutorial.
34-
35-
**_!!! WARNING !!!_**
36-
37-
Be very careful when using the **sudo rm** command. It is used to remove files from your system. Never EVER enter the following command by itself, without specifying a filepath. That will wipe your hard drive.
38-
39-
If you are new to Terminal, it is best to simply copy and paste the lines of code below into your terminal window.
40-
41-
### Step 2: Remove any existing FTDI drivers & reboot
42-
43-
Remove the FTDI [kernel extension](http://www.macbreaker.com/2012/01/what-are-kexts.html) (.kext) from your machine. You might not have it installed already. If you do not, skip this step.
44-
45-
```
46-
47-
sudo rm /System/Library/Extensions/FTDIUSBSerialDriver.kext
48-
sudo rm -rf /Library/Extensions/FTDIUSBSerialDriver.kext
49-
50-
```
51-
52-
After removing all existing FTDI drivers, reboot your computer.
53-
54-
### Step 3: get the FTDI driver
55-
56-
#### for macOS 10.9 to 10.11
57-
58-
Download and install the FTDI Driver 2.2.18 for your processor from the [FTDI VCP page](http://www.ftdichip.com/Drivers/VCP.htm). The latest FTDI VCP driver for macOS (version 2.3) does not work yet for this fix.
59-
60-
Here are the direct download links for [32-bit](http://www.ftdichip.com/drivers/VCP/MacOSX/FTDIUSBSerialDriver_v2_2_18.dmg) and [64-bit](http://www.ftdichip.com/Drivers/VCP/MacOSX/FTDIUSBSerialDriver_v2_2_18.dmg) processors. Most likely you are working with 64-bit.
61-
62-
The downloaded .dmg comes with two installers in it. **FTDIUSBSerialDriver_10_3** for OS X 10.3 and **FTDIUSBSerialDriver_10_4_10_5_10_6_10_7** for the rest. You most likely need to install **FTDIUSBSerialDriver_10_4_10_5_10_6_10_7**.
63-
64-
#### for macOS 10.13 and 10.14
65-
66-
Download and install the FTDI Driver 2.4.2 from the [FTDI VCP page](http://www.ftdichip.com/Drivers/VCP.htm).
67-
68-
### Step 4: enable dev mode
69-
70-
Prior to making edits to the kext file, you must enable kext dev mode and disable signature verification. For OS X 10.10 or older, you just type:
71-
72-
```
73-
74-
sudo nvram boot-args="kext-dev-mode=1"
75-
76-
```
77-
78-
For 10.11 or newer, you need to reboot your computer and before booting, hold the Cmd-R key. This will get you into recovery mode. From Utilities, choose Terminal and type:
79-
80-
```
81-
82-
csrutil disable
83-
84-
```
85-
86-
You can then close the Terminal application and reboot your computer to normal mode. You can proceed with Step 6.
87-
88-
### Step 5: reboot your computer
89-
90-
After re-installing the FTDI driver and enabling kext dev mode, reboot your computer once more to ensure that everything has taken effect.
91-
92-
### Step 6: plug in your dongle
93-
94-
Plug in your dongle and ensure that the switch is set to GPIO6 (not RESET).
95-
96-
![image](../assets/DepImages/dongleConnection.png)
97-
98-
### Step 7: unload the FTDI kernel extension
99-
100-
```
101-
102-
sudo kextunload /System/Library/Extensions/FTDIUSBSerialDriver.kext
103-
104-
```
105-
106-
### Step 8: make sure it's unloaded
107-
108-
```
109-
110-
kextstat | grep FTDI
111-
112-
```
113-
114-
If everthing is good, nothing should print after running this command.
115-
116-
### Step 9: open the Info.plist file:
117-
118-
```
7+
If you are running a Mac that is mid 2015 or newer, you do not need to install the FTDI driver! The included drivers with OS X 11, 12, 13, 14, and 15 can handle communications with Cyton and Dongle out of the box.
1198

120-
sudo emacs /System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/Info.plist
121-
122-
```
123-
124-
or
125-
126-
```
127-
128-
sudo vim /System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/Info.plist
129-
130-
```
131-
132-
### Step 10: edit the config data
133-
134-
Now add the new config data for the "FT X Series" as seen below. The "FT X Series" key is about 1/3 of the way through the Info.plist file and all of the keys are in alphabetical order. Scroll down to 'F'!
135-
136-
#### for macOS 10.9 to 10.11, using the driver 2.2.18
137-
138-
**BEFORE**
139-
140-
```
141-
142-
<key>FT X Series</key>
143-
<dict>
144-
<key>CFBundleIdentifier</key>
145-
<string>com.FTDI.driver.FTDIUSBSerialDriver</string>
146-
<key>IOClass</key>
147-
<string>FTDIUSBSerialDriver</string>
148-
<key>IOProviderClass</key>
149-
<string>IOUSBInterface</string>
150-
<key>bConfigurationValue</key>
151-
<integer>1</integer>
152-
<key>bInterfaceNumber</key>
153-
<integer>0</integer>
154-
<key>bcdDevice</key>
155-
<integer>4096</integer>
156-
<key>idProduct</key>
157-
<integer>24597</integer>
158-
<key>idVendor</key>
159-
<integer>1027</integer>
160-
</dict>
161-
162-
```
163-
164-
**AFTER**
165-
166-
```
167-
168-
<key>FT X Series</key>
169-
<dict>
170-
<key>CFBundleIdentifier</key>
171-
<string>com.FTDI.driver.FTDIUSBSerialDriver</string>
172-
<key>IOClass</key>
173-
<string>FTDIUSBSerialDriver</string>
174-
<key>IOProviderClass</key>
175-
<string>IOUSBInterface</string>
176-
<key>bConfigurationValue</key>
177-
<integer>1</integer>
178-
<key>bInterfaceNumber</key>
179-
<integer>0</integer>
180-
<key>bcdDevice</key>
181-
<integer>4096</integer>
182-
<key>idProduct</key>
183-
<integer>24597</integer>
184-
<key>idVendor</key>
185-
<integer>1027</integer>
186-
<key>ConfigData</key>
187-
<dict>
188-
<key>PortName</key>
189-
<string>OpenBCI</string>
190-
<key>InBufferSize</key>
191-
<integer>64</integer>
192-
</dict>
193-
</dict>
194-
195-
```
196-
197-
**Note:** We also rename the port name to OpenBCI because it's easier to spot if the board is connected or not.
198-
199-
#### for macOS 10.13 and 10.14, using the driver 2.4.2
200-
201-
**BEFORE**
202-
203-
```
204-
205-
<key>FT X Series</key>
206-
<dict>
207-
<key>CFBundleIdentifier</key>
208-
<string>com.FTDI.driver.FTDIUSBSerialDriver</string>
209-
<key>IOClass</key>
210-
<string>FTDIUSBSerialDriver</string>
211-
<key>IOProviderClass</key>
212-
<string>IOUSBInterface</string>
213-
<key>bConfigurationValue</key>
214-
<integer>1</integer>
215-
<key>bInterfaceNumber</key>
216-
<integer>0</integer>
217-
<key>bcdDevice</key>
218-
<integer>4096</integer>
219-
<key>idProduct</key>
220-
<integer>24597</integer>
221-
<key>idVendor</key>
222-
<integer>1027</integer>
223-
</dict>
224-
225-
```
226-
227-
**AFTER**
228-
229-
```
230-
231-
<key>FT X Series</key>
232-
<dict>
233-
<key>CFBundleIdentifier</key>
234-
<string>com.FTDI.driver.FTDIUSBSerialDriver</string>
235-
<key>IOClass</key>
236-
<string>FTDIUSBSerialDriver</string>
237-
<key>IOProviderClass</key>
238-
<string>IOUSBInterface</string>
239-
<key>bConfigurationValue</key>
240-
<integer>1</integer>
241-
<key>bInterfaceNumber</key>
242-
<integer>0</integer>
243-
<key>bcdDevice</key>
244-
<integer>4096</integer>
245-
<key>idProduct</key>
246-
<integer>24597</integer>
247-
<key>idVendor</key>
248-
<integer>1027</integer>
249-
<key>ConfigData</key>
250-
<dict>
251-
<key>InBufferSize</key>
252-
<integer>128</integer>
253-
<key>LatencyTimer</key>
254-
<integer>24</integer>
255-
</dict>
256-
</dict>
257-
258-
```
259-
260-
### Step 11: save & close
261-
262-
In emacs:
263-
264-
To save:
265-
**[CTRL] + x**
266-
followed by
267-
**[CTRL] + s**
268-
269-
To close emacs:
270-
**[CTRL] + x**
271-
followed by
272-
**[CTRL] + c**
273-
274-
---
275-
276-
In vim:
277-
278-
Hit the **[esc]** key to go into command mode.
279-
Then type **:wq** to save and quit.
280-
281-
### Step 12: reload the kernel extension
282-
283-
```
284-
285-
sudo kextload /System/Library/Extensions/FTDIUSBSerialDriver.kext
286-
287-
```
288-
289-
### Step 13: make sure it's loaded
290-
291-
```
292-
293-
kextstat | grep FTDI
294-
295-
```
296-
297-
You should get a response that looks something like this:
298-
299-
```
300-
301-
145 0 0xffffff7f82dce000 0x8000 0x8000 com.FTDI.driver.FTDIUSBSerialDriver (2.2.18) <118 37 5 4 3 1>
302-
303-
```
304-
305-
### Step 14: enjoy smoother streaming
306-
307-
Open the OpenBCI Processing GUI (or other software), connect to your device, and begin streaming the data.
308-
309-
---
310-
311-
### Helpful Resources
312-
313-
- [Marion's original fix (thank you)!](https://marion.ai/koac/)
314-
- [FTDI VCP web page](http://www.ftdichip.com/Drivers/VCP.htm)
315-
- [What is a .kext file?](http://www.macbreaker.com/2012/01/what-are-kexts.html)
316-
- [FTDI Driver Installation Guide for macOS](http://www.ftdichip.com/Support/Documents/AppNotes/AN_134_FTDI_Drivers_Installation_Guide_for_MAC_OSX.pdf)
9+
If you have an older Mac, you can view the deprecated version of this doc [here](..\Deprecated\FTDI_Driver_Fix_Mac_Deprecated.md).
10+
:::

‎website/sidebars.json

+217-217
Original file line numberDiff line numberDiff line change
@@ -1,220 +1,220 @@
11
{
2-
"docs": {
3-
"Welcome to OpenBCI": ["Welcome"],
2+
"docs": {
3+
"Welcome to OpenBCI": ["Welcome"],
44

5-
"Getting Started": [
6-
"GettingStarted/GettingStartedLanding",
7-
{
8-
"type": "category",
9-
"label": "Boards",
10-
"items": [
11-
"GettingStarted/Boards/CytonGS",
12-
"GettingStarted/Boards/DaisyGS",
13-
"GettingStarted/Boards/GanglionGS"
14-
]
15-
},
16-
{
17-
"type": "category",
18-
"label": "Biosensing Setups",
19-
"items": [
20-
"GettingStarted/Biosensing-Setups/EEGSetup",
21-
"GettingStarted/Biosensing-Setups/ECGSetup",
22-
"GettingStarted/Biosensing-Setups/EMGSetup",
23-
"GettingStarted/Biosensing-Setups/ExGSetup"
24-
]
25-
},
26-
{
27-
"type": "category",
28-
"label": "Community",
29-
"items": ["GettingStarted/Community/Community"]
30-
},
31-
{
32-
"type": "category",
33-
"label": "Documentation",
34-
"items": ["GettingStarted/Documentation/DocEdits"]
35-
}
36-
],
37-
"Cyton Board": [
38-
"Cyton/CytonLanding",
39-
"Cyton/CytonSpecs",
40-
"Cyton/CytonDataFormat",
41-
"Cyton/CytonSDK",
42-
"Cyton/CytonProgram",
43-
"Cyton/CytonRadios",
44-
"Cyton/CytonExternal",
45-
"Cyton/CytonSDCard"
46-
],
47-
"Ganglion Board": [
48-
"Ganglion/GanglionLanding",
49-
"Ganglion/GanglionSpecs",
50-
"Ganglion/GanglionDataFormat",
51-
"Ganglion/GanglionSDK",
52-
"Ganglion/GanglionProgram"
53-
],
54-
"Headwear & Electrodes": [
55-
"AddOns/AddOnLanding",
56-
{
57-
"type": "category",
58-
"label": "Headwear",
59-
"items": [
60-
"AddOns/Headwear/MarkIV",
61-
"AddOns/Headwear/HeadBand",
62-
"AddOns/Headwear/ElectrodeCap",
63-
"AddOns/Headwear/GelfreeElectrodeCap"
64-
]
65-
},
66-
{
67-
"type": "category",
68-
"label": "Electrodes",
69-
"items": ["AddOns/Electrodes/ElectrodesLanding"]
70-
}
71-
],
72-
"Third-Party Hardware": [
73-
"ThirdParty/ThirdPartyLanding",
74-
{
75-
"type": "category",
76-
"label": "EmotiBit",
77-
"items": ["ThirdParty/EmotiBit/EmotiBit_Guide"]
78-
},
79-
{
80-
"type": "category",
81-
"label": "IDUN Dryode",
82-
"items": ["ThirdParty/IDUN_Dryode/Dryode"]
83-
},
84-
{
85-
"type": "category",
86-
"label": "cEEGrid Kit",
87-
"items": ["ThirdParty/cEEGrid_Kit/cEEGrid_Kit"]
88-
},
89-
{
90-
"type": "category",
91-
"label": "Myoware",
92-
"items": ["ThirdParty/Myoware/MyoWareCyton"]
93-
},
94-
{
95-
"type": "category",
96-
"label": "Pulse Sensor",
97-
"items": ["ThirdParty/Pulse_Sensor/Pulse_Sensor_Landing"]
98-
},
99-
{
100-
"type": "category",
101-
"label": "ThinkPulse",
102-
"items": ["ThirdParty/ThinkPulse/ThinkPulse"]
103-
},
104-
{
105-
"type": "category",
106-
"label": "WiFi Shield",
107-
"items": [
108-
"ThirdParty/WiFiShield/WiFiLanding",
109-
"ThirdParty/WiFiShield/WiFiProgam",
110-
"ThirdParty/WiFiShield/WiFiAPI",
111-
"ThirdParty/WiFiShield/WiFiSDK"
112-
]
113-
}
114-
],
115-
"Software": [
116-
"Software/SoftwareLanding",
117-
{
118-
"type": "category",
119-
"label": "Developed By OpenBCI",
120-
"items": [
121-
"Software/OpenBCISoftware/GUIDocs",
122-
"Software/OpenBCISoftware/GUIWidgets",
123-
"Software/OpenBCISoftware/NeuroFly_Toolkit"
124-
]
125-
},
126-
{
127-
"type": "category",
128-
"label": "Compatible Third Party Software",
129-
"items": [
130-
"Software/CompatibleThirdPartySoftware/Matlab",
131-
"Software/CompatibleThirdPartySoftware/Neuromore",
132-
"Software/CompatibleThirdPartySoftware/OpenVibe",
133-
"Software/CompatibleThirdPartySoftware/LSL",
134-
"Software/CompatibleThirdPartySoftware/BrainBay",
135-
"Software/CompatibleThirdPartySoftware/BioEra",
136-
"Software/CompatibleThirdPartySoftware/VirtualBox"
137-
]
138-
}
139-
],
140-
"For Developers": [
141-
"ForDevelopers/ForDevelopersLanding",
142-
"ForDevelopers/SoftwareDevelopment",
143-
"ForDevelopers/FirmwareDevelopment",
144-
"ForDevelopers/HardwareDevelopment"
145-
],
146-
"Deprecated Documents": [
147-
"Deprecated/DeprecatedLanding",
148-
"Deprecated/SpiderclawDep",
149-
"Deprecated/8bitBoardDep",
150-
"Deprecated/UltracortexMark1Dep",
151-
"Deprecated/UltracortexMark2Dep",
152-
"Deprecated/UltracortexMark2Dep",
153-
"Deprecated/UltracortexMark3_NovaDep",
154-
"Deprecated/MarkIII",
155-
"Deprecated/Python",
156-
"Deprecated/Hub",
157-
"Deprecated/MyoCyton",
158-
"Deprecated/MyoGanglion"
159-
],
160-
"Troubleshooting": [
161-
"Troubleshooting/TroubleshootingLanding",
162-
"Troubleshooting/minimizingNoise",
163-
"Troubleshooting/GUI_Troubleshooting",
164-
"Troubleshooting/FTDI_Fix_Linux",
165-
"Troubleshooting/FTDI_Fix_Mac",
166-
"Troubleshooting/FTDI_Fix_Windows",
167-
"Troubleshooting/MacOSGanglionBLEWorkaround"
168-
],
169-
"Example Projects": [
170-
"Examples/ExamplesLanding",
171-
{
172-
"type": "category",
173-
"label": "Experiments",
174-
"items": ["Examples/VideoExperiment"]
175-
},
176-
{
177-
"type": "category",
178-
"label": "Community Page Projects",
179-
"items": ["Examples/CommunityPageProjects"]
180-
},
181-
{
182-
"type": "category",
183-
"label": "EMG Projects and Tutorials",
184-
"items": [
185-
"Examples/EMGProjects/EMGscrolling",
186-
"Examples/EMGProjects/EMGmusic",
187-
"Examples/EMGProjects/EMGslideshow",
188-
"Examples/EMGProjects/EMG_LED",
189-
"Examples/EMGProjects/EMG_Chrome_Dino_Game",
190-
"Examples/EMGProjects/EMG_Tetris",
191-
"Examples/EMGProjects/EMGpiano"
192-
]
193-
},
194-
{
195-
"type": "category",
196-
"label": "EEG Projects and Tutorials",
197-
"items": [
198-
"Examples/EEGProjects/FocusArduino",
199-
"Examples/EEGProjects/MotorImagery"
200-
]
201-
}
202-
],
203-
"FAQ": [
204-
"FAQ/FAQLanding",
205-
"FAQ/GenFAQ",
206-
"FAQ/HowProductsGoTogether",
207-
"FAQ/HardFAQ",
208-
"FAQ/PaymentFAQ",
209-
"FAQ/ShippingFAQ",
210-
"FAQ/DocsUpdate"
211-
],
212-
"Policies": [
213-
"FAQ/Cookie",
214-
"FAQ/Privacy",
215-
"FAQ/Returns",
216-
"FAQ/Liability",
217-
"FAQ/Conduct"
218-
]
219-
}
5+
"Getting Started": [
6+
"GettingStarted/GettingStartedLanding",
7+
{
8+
"type": "category",
9+
"label": "Boards",
10+
"items": [
11+
"GettingStarted/Boards/CytonGS",
12+
"GettingStarted/Boards/DaisyGS",
13+
"GettingStarted/Boards/GanglionGS"
14+
]
15+
},
16+
{
17+
"type": "category",
18+
"label": "Biosensing Setups",
19+
"items": [
20+
"GettingStarted/Biosensing-Setups/EEGSetup",
21+
"GettingStarted/Biosensing-Setups/ECGSetup",
22+
"GettingStarted/Biosensing-Setups/EMGSetup",
23+
"GettingStarted/Biosensing-Setups/ExGSetup"
24+
]
25+
},
26+
{
27+
"type": "category",
28+
"label": "Community",
29+
"items": ["GettingStarted/Community/Community"]
30+
},
31+
{
32+
"type": "category",
33+
"label": "Documentation",
34+
"items": ["GettingStarted/Documentation/DocEdits"]
35+
}
36+
],
37+
"Cyton Board": [
38+
"Cyton/CytonLanding",
39+
"Cyton/CytonSpecs",
40+
"Cyton/CytonDataFormat",
41+
"Cyton/CytonSDK",
42+
"Cyton/CytonProgram",
43+
"Cyton/CytonRadios",
44+
"Cyton/CytonExternal",
45+
"Cyton/CytonSDCard"
46+
],
47+
"Ganglion Board": [
48+
"Ganglion/GanglionLanding",
49+
"Ganglion/GanglionSpecs",
50+
"Ganglion/GanglionDataFormat",
51+
"Ganglion/GanglionSDK",
52+
"Ganglion/GanglionProgram"
53+
],
54+
"Headwear & Electrodes": [
55+
"AddOns/AddOnLanding",
56+
{
57+
"type": "category",
58+
"label": "Headwear",
59+
"items": [
60+
"AddOns/Headwear/MarkIV",
61+
"AddOns/Headwear/HeadBand",
62+
"AddOns/Headwear/ElectrodeCap",
63+
"AddOns/Headwear/GelfreeElectrodeCap"
64+
]
65+
},
66+
{
67+
"type": "category",
68+
"label": "Electrodes",
69+
"items": ["AddOns/Electrodes/ElectrodesLanding"]
70+
}
71+
],
72+
"Third-Party Hardware": [
73+
"ThirdParty/ThirdPartyLanding",
74+
{
75+
"type": "category",
76+
"label": "EmotiBit",
77+
"items": ["ThirdParty/EmotiBit/EmotiBit_Guide"]
78+
},
79+
{
80+
"type": "category",
81+
"label": "IDUN Dryode",
82+
"items": ["ThirdParty/IDUN_Dryode/Dryode"]
83+
},
84+
{
85+
"type": "category",
86+
"label": "cEEGrid Kit",
87+
"items": ["ThirdParty/cEEGrid_Kit/cEEGrid_Kit"]
88+
},
89+
{
90+
"type": "category",
91+
"label": "Myoware",
92+
"items": ["ThirdParty/Myoware/MyoWareCyton"]
93+
},
94+
{
95+
"type": "category",
96+
"label": "Pulse Sensor",
97+
"items": ["ThirdParty/Pulse_Sensor/Pulse_Sensor_Landing"]
98+
},
99+
{
100+
"type": "category",
101+
"label": "ThinkPulse",
102+
"items": ["ThirdParty/ThinkPulse/ThinkPulse"]
103+
},
104+
{
105+
"type": "category",
106+
"label": "WiFi Shield",
107+
"items": [
108+
"ThirdParty/WiFiShield/WiFiLanding",
109+
"ThirdParty/WiFiShield/WiFiProgam",
110+
"ThirdParty/WiFiShield/WiFiAPI",
111+
"ThirdParty/WiFiShield/WiFiSDK"
112+
]
113+
}
114+
],
115+
"Software": [
116+
"Software/SoftwareLanding",
117+
{
118+
"type": "category",
119+
"label": "Developed By OpenBCI",
120+
"items": [
121+
"Software/OpenBCISoftware/GUIDocs",
122+
"Software/OpenBCISoftware/GUIWidgets",
123+
"Software/OpenBCISoftware/NeuroFly_Toolkit"
124+
]
125+
},
126+
{
127+
"type": "category",
128+
"label": "Compatible Third Party Software",
129+
"items": [
130+
"Software/CompatibleThirdPartySoftware/Matlab",
131+
"Software/CompatibleThirdPartySoftware/Neuromore",
132+
"Software/CompatibleThirdPartySoftware/OpenVibe",
133+
"Software/CompatibleThirdPartySoftware/LSL",
134+
"Software/CompatibleThirdPartySoftware/BrainBay",
135+
"Software/CompatibleThirdPartySoftware/BioEra",
136+
"Software/CompatibleThirdPartySoftware/VirtualBox"
137+
]
138+
}
139+
],
140+
"For Developers": [
141+
"ForDevelopers/ForDevelopersLanding",
142+
"ForDevelopers/SoftwareDevelopment",
143+
"ForDevelopers/FirmwareDevelopment",
144+
"ForDevelopers/HardwareDevelopment"
145+
],
146+
"Deprecated Documents": [
147+
"Deprecated/DeprecatedLanding",
148+
"Deprecated/SpiderclawDep",
149+
"Deprecated/8bitBoardDep",
150+
"Deprecated/UltracortexMark1Dep",
151+
"Deprecated/UltracortexMark2Dep",
152+
"Deprecated/UltracortexMark2Dep",
153+
"Deprecated/UltracortexMark3_NovaDep",
154+
"Deprecated/MarkIII",
155+
"Deprecated/Python",
156+
"Deprecated/Hub",
157+
"Deprecated/MyoCyton",
158+
"Deprecated/MyoGanglion",
159+
"Deprecated/FTDI_Fix_Mac_Deprecated"
160+
],
161+
"Troubleshooting": [
162+
"Troubleshooting/TroubleshootingLanding",
163+
"Troubleshooting/minimizingNoise",
164+
"Troubleshooting/GUI_Troubleshooting",
165+
"Troubleshooting/FTDI_Fix_Linux",
166+
"Troubleshooting/FTDI_Fix_Windows",
167+
"Troubleshooting/MacOSGanglionBLEWorkaround"
168+
],
169+
"Example Projects": [
170+
"Examples/ExamplesLanding",
171+
{
172+
"type": "category",
173+
"label": "Experiments",
174+
"items": ["Examples/VideoExperiment"]
175+
},
176+
{
177+
"type": "category",
178+
"label": "Community Page Projects",
179+
"items": ["Examples/CommunityPageProjects"]
180+
},
181+
{
182+
"type": "category",
183+
"label": "EMG Projects and Tutorials",
184+
"items": [
185+
"Examples/EMGProjects/EMGscrolling",
186+
"Examples/EMGProjects/EMGmusic",
187+
"Examples/EMGProjects/EMGslideshow",
188+
"Examples/EMGProjects/EMG_LED",
189+
"Examples/EMGProjects/EMG_Chrome_Dino_Game",
190+
"Examples/EMGProjects/EMG_Tetris",
191+
"Examples/EMGProjects/EMGpiano"
192+
]
193+
},
194+
{
195+
"type": "category",
196+
"label": "EEG Projects and Tutorials",
197+
"items": [
198+
"Examples/EEGProjects/FocusArduino",
199+
"Examples/EEGProjects/MotorImagery"
200+
]
201+
}
202+
],
203+
"FAQ": [
204+
"FAQ/FAQLanding",
205+
"FAQ/GenFAQ",
206+
"FAQ/HowProductsGoTogether",
207+
"FAQ/HardFAQ",
208+
"FAQ/PaymentFAQ",
209+
"FAQ/ShippingFAQ",
210+
"FAQ/DocsUpdate"
211+
],
212+
"Policies": [
213+
"FAQ/Cookie",
214+
"FAQ/Privacy",
215+
"FAQ/Returns",
216+
"FAQ/Liability",
217+
"FAQ/Conduct"
218+
]
219+
}
220220
}

0 commit comments

Comments
 (0)
Please sign in to comment.