Table of Contents

n-PRO-20

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.

Overview

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.



MCU Features

  • Hybrid Wi-FI & Bluetooth
  • Ultra-low power management
  • 240 MHz dual core Tensilica LX6 microcontroller with 600DMIPS
  • 4 MB Flash
  • 2.2V to 3.6V operating voltage
  • On-board PCB antenna
  • Integrated 520 KB SRAM
  • Integrated 802.11b/g/n HT40 Wi-Fi transceiver, base-band, stack and LWIP
  • Integrated dual mode Bluetooth (classic and BLE)
  • 12-bit SAR ADC up to 18 channels, 2 × 8-bit DACs
  • 10 × touch sensors (capacitive sensing GPIOs)
  • 4 × SPI, 3 × UART
  • 2 × I²S interfaces, 2 × I²C interfaces
  • SD/SDIO/CE-ATA/MMC/eMMC host controller, SDIO/SPI slave controller
  • Ethernet MAC interface with dedicated DMA and IEEE 1588 Precision Time Protocol support



n-PRO-20 Features

  • Simple and Low Power
  • Standard n-Blocks pinout
  • Miniature Li-Ion battery connector (optional)



Board Pinout

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.






Getting started

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.



Flash Memory Programming

to be updated

Programming with sudo-bed



References