difference in modules

All ESP32 boards running MicroPython.
Target audience: MicroPython users with an ESP32 board.
OutoftheBOTS_
Posts: 847
Joined: Mon Nov 20, 2017 10:18 am

difference in modules

Post by OutoftheBOTS_ » Sat Dec 02, 2017 6:10 am

I have noticed they r now selling a Wrover module which seems to be a slight upgrade from the Wroom module.

The difference seems to be in the Wroom just has 512kb of pSRAM and the Wrover has extended it to 4mb.

Both modules have 8mb RTC RAM.

The ESP8266 module that I am currently using does have problem of not enough RAM to be able to run some packages.

Can someone explain what's the advantage of the extra pSRAM and if there are any disadvantages like it uses up GPIO pins

loboris
Posts: 344
Joined: Fri Oct 02, 2015 6:19 pm

Re: difference in modules

Post by loboris » Sat Dec 02, 2017 9:34 am

Some facts:
  • ESP32 SoC has 520 kB (8 kB RTC FAST Memory included) of on-chip SRAM for data and instructions( IRAM & DRAM).
  • ESP-WROOM-32 module does not have any psRAM, only the 520 kB SRAM from ESP32 SoC.
  • ESP32-WROVER module has additional 4 MB of external psRAM mapped onto the CPU data space.
  • psRAM is external SPI-RAM connected the same way external SPI-Flash is connected.
  • When connected, psRAM uses two additional GPIO pins 16&17 which are not available for use by application.
  • psRAM appears to the user application as additional RAM with some limitation (cannot be used as instruction RAM and for DMA access)
  • MicroPython heap can be placed on psRAM

Code: Select all

SPI Flash FatFS mounted on partition internalfs [size: 2293760; Flash address:   1D0000]

FreeRTOS running on BOTH CORES, MicroPython task started on App Core.
Running from partition at 10000, type 0 [MicroPython].

 Reset reason: Power on reset
    uPY stack: 19456 bytes
     uPY heap: 2049088/5536/2043552 bytes (in SPIRAM using malloc)

MicroPython ESP32_LoBo_v2.1.0 - 2017-11-21 on ESP32 board with ESP32
Type "help()" for more information.
>>> import machine, micropython
>>> micropython.mem_info()
stack: 736 out of 19456
GC: total: 2049088, used: 5776, free: 2043312
 No. of 1-blocks: 19, 2-blocks: 7, max blk sz: 317, max free sz: 127697
>>>  
>>>  
>>> machine.heap_info()
Heap outside of MicroPython heap:
---------------------------------
              Free: 199752
         Allocated: 57520
      Minimum free: 192648
      Total blocks: 93
Largest free block: 113804
  Allocated blocks: 86
       Free blocks: 7

SPIRAM info:
------------
              Free: 2097108
         Allocated: 2097152
      Minimum free: 2097108
      Total blocks: 2
Largest free block: 2097108
  Allocated blocks: 1
       Free blocks: 1
>>> 

OutoftheBOTS_
Posts: 847
Joined: Mon Nov 20, 2017 10:18 am

Re: difference in modules

Post by OutoftheBOTS_ » Sat Dec 02, 2017 10:26 am

Am I reading the specs right when the ESP8266 says the user heaps is only 36kb when connected to Wifi??

Does micro-python firmware also use up some of this 36kb leaving very little for my program to run??

OutoftheBOTS_
Posts: 847
Joined: Mon Nov 20, 2017 10:18 am

Re: difference in modules

Post by OutoftheBOTS_ » Sat Dec 02, 2017 10:48 am

if I run "micropython.mem_info()" with the ESP8266 it tells me total of 36kb with 10 kb used and only 26kb available now this explains why the ESP8266 runs out of memory when doing somethings :)

User avatar
pythoncoder
Posts: 5956
Joined: Fri Jul 18, 2014 8:01 am
Location: UK
Contact:

Re: difference in modules

Post by pythoncoder » Sat Dec 02, 2017 11:04 am

You need to use frozen bytecode if you want to run larger programs on the ESP8266.
Peter Hinch
Index to my micropython libraries.

OutoftheBOTS_
Posts: 847
Joined: Mon Nov 20, 2017 10:18 am

Re: difference in modules

Post by OutoftheBOTS_ » Sat Dec 02, 2017 2:00 pm

Moving from PC to RPi to microcontrollers I am getting a lesson on being efficient. All the number r super small, I am used to talking GB not KB

loboris
Posts: 344
Joined: Fri Oct 02, 2015 6:19 pm

Re: difference in modules

Post by loboris » Sat Dec 02, 2017 5:31 pm

OutoftheBOTS_ wrote:
Sat Dec 02, 2017 10:26 am
Am I reading the specs right when the ESP8266 says the user heaps is only 36kb when connected to Wifi??

Does micro-python firmware also use up some of this 36kb leaving very little for my program to run??
Maybe you should post ESP8266 related questions in ESP8266 subforum.

OutoftheBOTS_
Posts: 847
Joined: Mon Nov 20, 2017 10:18 am

Re: difference in modules

Post by OutoftheBOTS_ » Sat Dec 02, 2017 9:57 pm

Maybe you should post ESP8266 related questions in ESP8266 subforum.
I normally do but this thread started asking about the difference between ESp32 Wroom and ESP Wrover and especially PSRAM then the thread extended into Ram of the ESP8266. I am basically looking at what the advantages of updating from ESP8266 to ESP32 and which model of the ESP32.

I would expect many people that r using the ESP32 have used the ESP8266 in the past then updated to the ESP32 so I though this a good place to ask the questions.

I know that sometimes my questions may seem a little dumb but my point to being on the forum and asking the questions is to find the answers and become better educated.

loboris
Posts: 344
Joined: Fri Oct 02, 2015 6:19 pm

Re: difference in modules

Post by loboris » Sat Dec 02, 2017 10:24 pm

@OutoftheBOTS_
Sorry, I've only meant you could probably get better answer in another forum.
There are no dumb questions, only the dumb answers.

User avatar
deshipu
Posts: 1388
Joined: Thu May 28, 2015 5:54 pm

Re: difference in modules

Post by deshipu » Sat Dec 02, 2017 10:26 pm

I think that a much better plan for becoming better educated is to read the responses that are already on the forum, in the correct section, possibly using the search feature. And only if you don't find the information you look for, ask about it in a related thread. Creating your own thread should be the last resolve, when you found absolutely nothing on the topic, or when you are starting a discussion about something completely new.

Correct grammar and spelling can help a lot too, because it shows that you actually care and are willing to expend some effort, plus a lot of people who might help you are not native English speakers and will have problems understanding teenage slang or leetspeak — and thus won't answer.

Post Reply