Arduino (for ESP32S3 – BZBoard S3V)
If you have not already done so, install the Arduino IDE on your computer. It is worthwhile spending some time learning Arduino prior to using the Neuron module. Before using your Neuron in Arduino you will also need to add the ESP32 support library to Arduino in File|Preferences|Additional Board Manager URLs:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
Exit and restart Arduino. Install the latest ESP32X device library using Arduino’s Board Manager via the Tools menu in Arduino. The ESP32 library should be updated periodically.
Using Arduino
You will need to ensure that the BZBoard S3V is in a programmable mode prior to uploading your sketch. On your BZBoard press and hold the <BOOT (0)> button while pressing the <RESET (EN)> button. The BZBoard module should be identified in Arduino as an ESP32S3 Dev Module. If not, please select this using the Boards menu.
You can verify the module is being correctly detected in Arduino by checking the Port and Info options on the Tools menu. This is the correct info for the Neuron:
BN: ESP32S3 Dev Module
VID: 303a
PID: 1001The module selected must be ESP32S3 Dev Module. Ensure that you have selected the correct module type and serial port before proceeding with programming your Neuron in Arduino!
We recommend using the following settings to configure your Neuron in Arduino|Tools:
For Arduino 1.8.X
For the first sketch upload you may need to put the BZBoard in Boot mode. Hold the <Boot Button (0)> and then Press and release the <Reset (EN)> button. This may result in the serial port changing.
Settings for Tools:
Board: "ESP32S3 Dev Module"
Upload Speed: 921600
USB Mode: "Hardware CDC and JTAG"
Use CDC on Boot: "Enabled'
USB Firmware MSC On Boot: "Disabled"
USB DFU On Boot: "Disabled"
Upload Mode: "USB-OTG CDC (TinyUSB)"
CPU Frequency: "240Mhz (WiFi)"
Flash Mode: "QIO 120Mhz"
Flash Size: "8MB (64Mb)"
// Note Partition Schemes are Project Dependent
// If not sure, use 8M with spiffs
Partition Scheme: Typically "8M with Spiffs"
Core-Debug Level: "None"
PSRAM (enabled): "OPI PSRAM"
Arduino Runs On: "Core 1"
Events Run On: "Core 1"
Erase All Flash Before Sketch Upload: "Disabled"
JTAG Adapter: "Integrated USB JTAG"
Port: Select the Correct Serial Port for the Neuron
Note: You may need to press the Reset button on the BZBoard to reboot after uploading a sketch. Resetting the BZBoard may result in the Serial Port changing.
For Arduino 2.X or later
For the first sketch upload you may need to put the BZBoard in Boot mode. Hold the <Boot Button (0)> and then Press and release the <Reset (EN)> button. This may result in the serial port changing.
Settings for Tools:
Board: "ESP32S3 Dev Module"
Use CDC on Boot: Enabled
CPU Frequency: 240Mhz (WiFi)
Core-Debug Level: None
USB DFU On Boot: "Disabled"
Erase All Flash Before Sketch Upload: "Disabled"
Events Run On: "Core 1"
Flash Mode: "QIO 120Mhz"
Flash Size: "8MB (64Mb)"
JTAG Adapter: "Integrated USB JTAG"
Arduino Runs On: "Core 1"
USB Firmware MSC On Boot: "Disabled"
Partition Scheme: Typically "8M with Spiffs"
PSRAM (enabled): "OPI PSRAM"
Upload Mode: USB-OTG CDC (TinyUSB)
Upload Speed: 921600
USB Mode: "Hardware CDC and JTAG"
Note: You may need to press the Reset button on the BZBoard to reboot after uploading a sketch. Resetting the BZBoard may result in the Serial Port changing.
Tip
On the initial sketch upload it may be necessary to press the <RESET (EN)> button on the BZBoard S3V to activate the uploaded sketch. Subsequent sketch uploads should automatically perform the rebooting step. You may need to re-check the serial settings (and possibly restart Arduino in extreme cases) if you are unable to connect and upload a sketch to a On the initial sketch upload it may be necessary to press the <RESET (EN)> button on the BZBoard on the fist try. The process of uploading sketches becomes easier once the Arduino USB-OTG firmware has been installed on the BZBoard ; the BZBoard has “received” it’s first Arduino sketch successfully. If there are errors in the sketch upload process they will be indicated in the IDE (below the code window).
You can test your Neuron module with the following “Blink” sketch:
// Blink Example
void setup() {
// initialize the blink pin
pinMode(47, OUTPUT);
}
// blink loop function runs forever
void loop() {
digitalWrite(47, HIGH); // LED ON
delay(1000); // wait for a second
digitalWrite(47, LOW); // LED OFF
delay(1000); // wait for a second
}
There are a number of VGA libraries that are compatible with the ESP32-S3 based BZBoard S3V. We would recommend starting with the Bitluni VGA library. The BZBoard S3V is pin compatible with Bitluni’s library. If you intend on using the 16Bit modes provided by Bitluni’s VGA library then remember to bridge the following pins in the Expander connector (4, 5, 15, 16, 17). In 8 bit these pins should be un-bridged. We recommend using the 640X480 mode for best performance and maximum compatibility with TVs/Monitors.

BrainBoardzTM and Plug and CodeTM
are Trademarks of BrainBoardz Inc. © Copyright, 2021
