# Prototype V3 PRO

Microstorm Prototype V3 PRO is the third version of Microstorm. Microstorm Prototype V3 PRO has fixed a lot of issues that previous versions had. That is not what makes it PRO. PRO is meant to indicate its massively increased feature set. This increase in features had its reasons let's walk thru them.

When designing this version it was important to make the user realise what Microstorm is. Microstorm is meant to be a platform for students to learn electronics and programming. Although to project is not open-source students can visually see the components and there purpose. to protect the components on the board, 3D printed shields can be placed over the individual sections of the board.

Because of the fact that the board is probably going to be mounted on a robot its necessary to make mounting the board easier. This is achieved with easy to use dimensions and fixed spacings.

probably the most physically visible change on this version is the increase in motor connectors. This has been done to give the user more options of controlling a robot

Determining to orientation of a robot is very important when its being used in a robot swarm. Students often use an IMU to determine the orientation of a robot. When designing Prototype V3 PRO te goal was to give students another way to determine the orientation. Now students have four LEDs to their proposal. With these extra LEDs students can let the color recognition software also determine the orientation of the robot! This option does not mean that using an IMU is not possible anymore. Prototype V3 PRO still has an IMU, even though its a different one that from Prototype V2.

When features increase, so does the code size. To account for this Prototype V3 PRO now has 8Mb of flash storage! This storage can also be used to store complete web-interfaces for the ultimate user experience!

# Features

  • Modulair by design
  • Temperature sensor ( -40°C ~ 125°C range)
  • Voltage sensor (16.5V MAX)
  • Ultralow power, 3-axis accelerometer with 13-bit resolution
  • 4x WS2812b Neopixels
  • 8 Mb Flash storage
  • 4x LEGO® MINDSTORMS® NXT/ EV3 Compatible motor connectors
  • High speed programming interface (up to 3 Mbps transfer rates)
  • 3x I²C JST connectors
  • 1x WS2812b Neopixels JST connectors

# Pin Configuration

Function Description ESP32 - GPIO #
Motor A - driver - input 1 Input of the motor driver to control the direction and speed of motor A GPIO 4
Motor A - driver - input 2 Input of the motor driver to control the direction and speed of motor A GPIO 12
Motor A - encoder - signal 1 Rotary encoder signal 1 of LEGO® MINDSTORMS® NXT/ EV3 motor A SENSOR_VP
Motor A - encoder - signal 2 Rotary encoder signal 2 of LEGO® MINDSTORMS® NXT/ EV3 motor A SENSOR_VN
Motor B - driver - input 1 Input of the motor driver to control the direction and speed of motor B GPIO 18
Motor B - driver - input 2 Input of the motor driver to control the direction and speed of motor B GPIO 19
Motor B - encoder - signal 1 Rotary encoder signal 1 of LEGO® MINDSTORMS® NXT/ EV3 motor B GPIO 34
Motor B - encoder - signal 2 Rotary encoder signal 2 of LEGO® MINDSTORMS® NXT/ EV3 motor B GPIO 35
Motor C - driver - input 1 Input of the motor driver to control the direction and speed of motor C GPIO 23
Motor C - driver - input 2 Input of the motor driver to control the direction and speed of motor C GPIO 25
Motor C - encoder - signal 1 Rotary encoder signal 1 of LEGO® MINDSTORMS® NXT/ EV3 motor C GPIO 32
Motor C - encoder - signal 2 Rotary encoder signal 2 of LEGO® MINDSTORMS® NXT/ EV3 motor C GPIO 33
Motor D - driver - input 1 Input of the motor driver to control the direction and speed of motor D GPIO 27
Motor D - driver - input 2 Input of the motor driver to control the direction and speed of motor D GPIO 26
Motor D - encoder - signal 1 Rotary encoder signal 1 of LEGO® MINDSTORMS® NXT/ EV3 motor D GPIO 15
Motor D - encoder - signal 2 Rotary encoder signal 2 of LEGO® MINDSTORMS® NXT/ EV3 motor D GPIO 5
SDA I²C Data line GPIO 21
SCL I²C Clock line GPIO 22
RXD2 UART Receive line from expansion header GPIO 16
TXD2 UART Transmit line from expansion header GPIO17
Neopixel - data Data line for controlling WS2812b LEDs GPIO 2
Temperature sensor Analog voltage from temperature sensor (10.0 mV/°C) GPIO 14
Battery voltage sensor Analog voltage output from battery voltage sensor (see examples on how to use it) GPIO 13

# Technical specifications

Microcontroller ESP32
Flash memory 8Mb
RAM ~520kb
Connectivity
  • WiFi (802.11 b/g/n/d/e/i/k/r (802.11n up to 150 Mbps))
  • Bluetooth v4.2 BR/EDR and BLE specification
Sensors
  • 3-axis MEMS accelerometer
  • Temperature sensor (-40°C ~ 125°C)
  • Battery voltage sensor (16.5V Max)
I/O 1x UART, 3x I²C (1 interface), 1x Data line (WS2812b), 5x GPIO
Buck converter Vin = 11.1V MAX / Vout = 5V
LDO Vin = 5V / Vout = 3.3V
Safety features
  • Soft Start Functionality (prevent rush current during startup on power-up. power supply waits 10ms after battery is connected)
  • Over current protection (limit the current when too much is pulled from the power supply)
  • Low voltage input protection (minimum of ~5 volts)
  • Overheating protection (when power supply exceeds a temperature of 150°C, it turns OFF. When temperature drops, it automatically turns on again)

PCB thickness 1.6 mm
Dimensions 94mm x 64mm
Input voltage 12V Maximum (Supported operating voltage of LEGO motors)

# Warranty & Certifications

Microstorm Prototype V3 PRO is currently an experimental prototype. This means that there is no warranty or certifications for this board.

Only a hand-full of samples are distributed for testing and educative purposes.

# Links

Firmware
https://gitlab.projectsource.nl/microstorm/hardware/v3/-/tree/main/firmware
Issues
https://gitlab.projectsource.nl/microstorm/hardware/v3/-/issues