OpenUC2
Matchboxscope/Anglerfish (ESP32) Flashing Tool
User-friendly tool to flash/upload the firmware for the Matchboxscope/Anglerfish device in the browser:
- Install & update firmware
- Connect device to the WEB-USB Serial interface (work in progress)
- Visit the device's hosted web interface (work in progress)
- Access logs and send terminal commands (work in progress)
Pick your ESP32 PCB and flash the software using the browser! No programming or other software required.
Note: Ensure you have installed the CH340 driver and set the board into boot mode (press first reset => hold it and then reset at the same time).
ESP32 Camera Simple Webcam Server
This flashes the ESP32 Camera Server to the board. here.
Pin Layout
// ESP32-Camera
const int PIN_DEF_LED = 04;
ESP32 Camera Simple Webcam Server Advanced
This flashes the ESP32 Camera Server to the board. here. It adds several new features like time-lapse imaging, PWM output, deepsleep, upload-to-github and more. You can add your Wifi Credentials by sending the following json string via USB Serial (a web-based GUI will follow!) {"ssid":"Blynk","password":"12345678"}
Pin Layout
// ESP32-Camera
const int PIN_DEF_LED = 04;
const int PIN_DEF_PWM = 12;
ESP32 Camera Simple Webcam Server for Seeed XIAO Sense
This flashes the ESP32 Camera Server to the board. here. It adds several new features like time-lapse imaging, PWM output, deepsleep, upload-to-github and more. You can add your Wifi Credentials by sending the following json string via USB Serial (a web-based GUI will follow!) {"ssid":"Blynk","password":"12345678"}
Pin Layout
// ESP32-Camera
const int PIN_DEF_LED = 04;
const int PIN_DEF_PWM = 12;
Default firmware for Xiao
This flashes the ESP32 Camera Server to the board. here. Default settings: {"ssid":"Blynk","password":"12345678"}
Pin Layout
// ESP32-Camera
const int PIN_DEF_LED = 04;
const int PIN_DEF_PWM = 12;
Serial Camera Interface for XIAO Sense
This flashes a simple firmware to the Xiao Sense ESP32S3 camera that can get diplayed using USB Serial in the browser The firmware can be found here.
Visualizing Stream
The website that you can use to connect to the camera and display the stream can be found here.ESP32 Camera Simple Webcam Server
This flashes the ESPectrometer software that hooks up the Device to the Spectrometr Website over USB Serial. The javascript installation-free website can be found here.. Just connect the board using the connect button and set the line according to the spectrometer.
ESP32 code for the Spectrometer (for Arduino IDE)
#include "esp_camera.h"
#include
#define PWDN_GPIO_NUM 32
#define RESET_GPIO_NUM -1
#define XCLK_GPIO_NUM 0
#define SIOD_GPIO_NUM 26
#define SIOC_GPIO_NUM 27
#define Y9_GPIO_NUM 35
#define Y8_GPIO_NUM 34
#define Y7_GPIO_NUM 39
#define Y6_GPIO_NUM 36
#define Y5_GPIO_NUM 21
#define Y4_GPIO_NUM 19
#define Y3_GPIO_NUM 18
#define Y2_GPIO_NUM 5
#define VSYNC_GPIO_NUM 25
#define HREF_GPIO_NUM 23
#define PCLK_GPIO_NUM 22
#define BAUD_RATE 2000000
void setup()
{
Serial.begin(BAUD_RATE);
Serial.println("Start the programm");
cameraInit();
pinMode(4, OUTPUT);
}
void loop() {
grabImage();
}
void cameraInit() {
camera_config_t config;
config.ledc_channel = LEDC_CHANNEL_0;
config.ledc_timer = LEDC_TIMER_0;
config.pin_d0 = Y2_GPIO_NUM;
config.pin_d1 = Y3_GPIO_NUM;
config.pin_d2 = Y4_GPIO_NUM;
config.pin_d3 = Y5_GPIO_NUM;
config.pin_d4 = Y6_GPIO_NUM;
config.pin_d5 = Y7_GPIO_NUM;
config.pin_d6 = Y8_GPIO_NUM;
config.pin_d7 = Y9_GPIO_NUM;
config.pin_xclk = XCLK_GPIO_NUM;
config.pin_pclk = PCLK_GPIO_NUM;
config.pin_vsync = VSYNC_GPIO_NUM;
config.pin_href = HREF_GPIO_NUM;
config.pin_sscb_sda = SIOD_GPIO_NUM;
config.pin_sscb_scl = SIOC_GPIO_NUM;
config.pin_pwdn = PWDN_GPIO_NUM;
config.pin_reset = RESET_GPIO_NUM;
config.xclk_freq_hz = 10000000;
config.pixel_format = PIXFORMAT_JPEG;
config.frame_size = FRAMESIZE_QVGA; //320x240
config.jpeg_quality = 10;
config.fb_count = 2;
esp_err_t err = esp_camera_init(&config);
if (err != ESP_OK) {
return;
}
sensor_t * s = esp_camera_sensor_get();
//s->set_hmirror(s, 1);
//s->set_vflip(s, 1);
}
void grabImage() {
camera_fb_t* fb = esp_camera_fb_get();
if (!fb || fb->format != PIXFORMAT_JPEG) {
} else {
//digitalWrite(4, HIGH);
Serial.print("+++++");
String encoded = base64::encode(fb->buf, fb->len);
delay(40);
Serial.write(encoded.c_str(), encoded.length());
Serial.println("-----");
}
//digitalWrite(4, LOW);
esp_camera_fb_return(fb);
delay(40);
}
Viewing logs & sending commands
ESP Web Tools allows users to open a serial console to see the logs and send commands.
Screenshot showing the ESP Web Tools logs & console Based on the ESPHome Web-Tool.