n-PRO-20
ESP32-WROOM in n-PRO modular form factor
License | GPL 2.0 |
Status | Tested |
Buy at: | |
Categories | |
Hardware repo | Bitbucket |
Firmware repo |
n-PRO-20 is an ultra low-power, high performance and secure development board from the n-Blocks family. It is available in the n-Blocks PRO form factor, designed for Internet-of-Things gateway applications.
n-PRO-20 is a development board based on Espressif ESP32-WROOM. The WiFi, Bluetooth Classic and BLE make it a great choice to build anything connected. The Wi-Fi allows a large physical range and direct connection to the Internet through a Wi-Fi router. While using Bluetooth, the user can conveniently connect to the phone or broadcast low energy beacons for its detection.
The built-in hardware accelerator enables secure code storage and securely connecting to the Internet with TLS (SSL). Data rate of up to 150 Mbps are supported, and 20 dBm output power at the antenna ensures the widest physical range. The sleep current is less than 5 µA, which makes it suitable for battery powered and wearable electronics applications.
n-PRO-20 is a HOST board with four Hirose DF30-series 60-pin low profile connectors at bottom side, following the n-Blocks PRO form factor.
To get started with the board you need:
#include <stdio.h> #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "driver/gpio.h" #include "sdkconfig.h" /* Can run 'make menuconfig' to choose the GPIO to blink, or you can edit the following line and set a number here. */ #define BLINK_GPIO CONFIG_BLINK_GPIO void blink_task(void *pvParameter) { /* Configure the IOMUX register for pad BLINK_GPIO (some pads are muxed to GPIO on reset already, but some default to other functions and need to be switched to GPIO. Consult the Technical Reference for a list of pads and their default functions.) */ gpio_pad_select_gpio(BLINK_GPIO); /* Set the GPIO as a push/pull output */ gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT); while(1) { /* Blink off (output low) */ gpio_set_level(BLINK_GPIO, 0); vTaskDelay(1000 / portTICK_PERIOD_MS); /* Blink on (output high) */ printf("LED ON"); gpio_set_level(BLINK_GPIO, 1); vTaskDelay(1000 / portTICK_PERIOD_MS); printf("LED OFF"); } } void app_main() { xTaskCreate(&blink_task, "blink_task", configMINIMAL_STACK_SIZE, NULL, 5, NULL); }
NOTE: You might have to hold the Boot button during build to avoid error.
const int ledPin = 5; void setup() { // setup pin 5 as a digital output pin pinMode (ledPin, OUTPUT); } void loop() { digitalWrite (ledPin, HIGH); // turn on the LED delay(500); // wait for half a second or 500 milliseconds digitalWrite (ledPin, LOW); // turn off the LED delay(500); // wait for half a second or 500 milliseconds }
NOTE: You might have to hold the Boot button during upload to avoid error.
to be updated