Pico Overclock Part 2. Fixing the catch with the flash.

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ม.ค. 2025

ความคิดเห็น • 26

  • @mr1enrollment
    @mr1enrollment 3 ปีที่แล้ว +6

    can't imagine 40C is a problem, thx for the video.

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว

      I can’t imagine that 40 degrees is doing it any harm. 👍

  • @himselfe
    @himselfe 3 ปีที่แล้ว +10

    Thanks for answering the thermals question! Even at 40 degrees I'm surprised by how cool it stays given such a high overclock. I imagine decent passive cooling could achieve the same results without the fan. The RP2040 is turning out to be a really efficient little processor, just a shame it lacks hardware floating point support!

    • @tunahankaratay1523
      @tunahankaratay1523 3 ปีที่แล้ว +2

      It is the first ever chip, so it makes sense that they wanted to make something small, cheap and efficient. But at 420MHz it is already a monster. I believe their 40nm process have a big role in the overclocking performance. ST uses 90nm.

  • @HL65536
    @HL65536 3 ปีที่แล้ว +2

    Yes, a fan makes most difference, with most electronics. I found that out while working with a shield on a regular raspi (no heatsink). It overheated because of low airflow (because of the shield on top). Just blowing once (!) between the sandwich layers reduced temperatures momentarily by 30°C or so. Then I hooked up a small low speed fan and the problem vanished.

  • @davidkempton2894
    @davidkempton2894 3 ปีที่แล้ว +1

    Very interesting. Thanks for doing this investigation!

  • @JohanBuys
    @JohanBuys 3 ปีที่แล้ว +2

    Hi,
    Thanks for your videos they are very informative and to the point. Just a suggestion or a request, could you add the links to the sources you reference in the video's description this helps a ton when trying to follow along.
    For example in this video you could add the CMakeLists.txt lines in a gist on GitHub or link to an example file. Also referencing the source of the forum post will be quite handy.

  • @tonysofla
    @tonysofla 3 ปีที่แล้ว +4

    As pico's center gnd pad is made to dissipate heat down to pcb, so I think the fan cools down the whole pcb area and the heatsink does not really do much from being on the top of plastic carrier. So try put a thermal pad and copper sheet on the bottom instead.

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว

      Yes now I have looked at the underside of these chips I would agree the ground connection pad is massive and is likely dissipating heat into the PCB suggests PCB design could be a big factor in cooling.

    • @tonysofla
      @tonysofla 3 ปีที่แล้ว

      @@robingrosset6941 1mm board with 2oz copper, and via's around the gnd pad, not on pad as solder wick effect. On bottom stick a digikey
      PH3N-76.2-12.7-0.07-1A you should be good.

  • @eternaldoorman5228
    @eternaldoorman5228 3 ปีที่แล้ว +2

    This is really interesting. I'd like to know how the power consumption of the CPU changes with clock speed _and_ fan speed, and how the fan's power consumption changes with fan speed (and I'm guessing it won't change much with CPU temperature for single units, but it would be nice to know how these parameters change with high scaling , by which I mean the number of CPU assemblies in a cubic volume.)

  • @badpharma461
    @badpharma461 3 ปีที่แล้ว +2

    Am I correct in thinking that if I overclock to 300MHz, the flash RAM can be used as is? I have been given the C source code of a fixed-point MP2/MP3/MP4/ACELP/LPC10e decoder. If I can run @ 300MHz then I can compile the C and convert to assembly one routine at a time. Now, my ONLY gripe about the 4020 is that it only has 2Mb of flash. This is not a lot of space for an MP3 decoder. For that reason I am keen to know if my PC or maybe a Raspberry Pi with more RAM can act as a USB slave.
    I would like to thank you for your excellent video. I wonder if you tried overclocking both cores. If one is essentially disabled, I presume less heat is generated and since both cores are on a single piece of silicon, maybe that will help with cooling.
    The project I am working on is a not-for-profit low cost audiobook/audio-lesson/digital storage & word processor (for now). In the last case the SoC uploads the word processor onto a PC or Mac. It is specifically aimed at developing nations such as India, China and South America. I have to get the whole thing:
    -USB drive
    -Audiobook player
    -Auddio-lesson player (multiple choice questions)
    -Storage device for Windows/MacOS computers executables and data)
    -48 x 256 pixel backlit LCD screen (so larger glyphs can be rendered).
    I am also looking into supporting microtransactions. The limit will only be $10 (for example) so kids can always have enough money to get home BUT digital payment occurs AFTER the journey so kids don't get bullied for their lunch money. It can also act as digital library card, bus pass end indeed any kind of key.
    When this is complete (as I know it will), I intend to base an MP1 video decoder (VCD) on the Cortex M3 processor. As you may know, MP1 video has a resolution of 352 x 288 pixels @ 25/30 frames per second. The audio is MP2. On an 80 minute CD, the format will hold 800 minutes of video. That means about 900 megabytes of data. Of course, the data is required serially so the source does not need to be THAT fast. A ROM that simply streams out data will work. Since the data is being streamed, there need not be error detection.. CIRC, a variant of Cross-interleaved Reed-Solomon coding is used which means that for every 3 bytes, their has to be an error detection and correction byte so 106.66 Mb can be stored. Each frame can still have a time-stamp and finding it on a ROM will be pretty easy.
    I think the device needs to have 128Mb of serial built in. However much storage a serial flash holds, it only has 6 pins connecting it to the system. I'm not sure if it's possible or even desirable to place said flash onto the same piece of silicon as the CPU and i/o devices but I know 2 things must happen:
    1-The cost of serial flash keeps dropping so that the device is cheap
    2-The device has a female USB socket so that people can share data.
    I also want to include a real-time ADPCM/LPC10e/ACELP encoder so that teachers can either record lessons and give copies to students or students record the lessons themselves. If people want to see just how cheap the Chinese can produce digital hardware, I give you the $12 mobile phone:
    www.bunniestudios.com/blog/?page_id=3107
    The CPU is a ARM7EJ-S which is to say that it's really an FPGA which converts a Verilog script into a CPU. I mean, I do not see the need for Jazelle (plus Jazelle has a zero-day insecurity issue) and Thumb 2 has been shown to be faster than ARM7 and so an ARM Cortex M3 is the best bet.
    After all of my blabbing, I have 2 questions:
    1-will the Pico's flash memory work when the CPU is overclocked to 300MHz? I chose 300 because any more seems to require MANY changes and I need a reliable device.
    2- Is it possible to replace the serial flash on the Pico with a larger flash? I'm developing an MP3 decoder so I need a lot of data space to test. There is a micro-USB on the Pi and I wondered if that could be used. I know PCs & Macs only seem to manage being master but does the Pi? Can I put a lot of flash onto a Pi and USB it to the Pico?
    BTW the target price of the audio device is $5 in bulk. When I say bulk, I mean orders in the multiple of millions. ARM has a strong presence in Africa and so they will help.
    Many thanks

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว +5

      Hello, I think this is the longest ever comment on one of my vides ! Glad you liked the video. I do try to read and respond to all comments
      Your questions
      1) The issue with Flash only working to 300MHz has been solved. The Flash memory runs slower than the CPU and has limits so when you overclock the CPU the flash in the default setting can't keep up. The fix is simple, talk slower to the flash memory. There is a clock divider you can set which allows you to clock the CPU above 400MHz quite safely. The setting is discussed in the video and it works well. From what I have read clocking the CPU much above 270MHz might cause the flash to not work. A few comments I got from the RPi Foundation was that I was lucky to get it up to 300MHz as the flash is rated 133MHz with a 2x divider on the system clock. So maximum 'designed' or nominal CPU clock speed that works with default divider is 266MHz. But as long as you switch the SPI clock divider to 4x you are safe up to and above 300MHz. Everyone seems to be clocking the Pico up and above 300MHz in projects many HDMI video projects require this and there seem no bad effects.
      2) The built in flash is an SPI flash chip. and they make pretty big ones but the prices goes up with the size. Here is a 128Mbyte or 1Gbit SPI flash device www.cypress.com/file/233721/download. Alternatively using a USB disk device would require USB host programming. I've not seen any projects with this yet but also appears possible. If I wanted a cheap and large storage device on a Pico I would use a MicroSD interface. Easy to program, its well supported and lots of examples. Also cheap and upgradable later.
      One you other points, so I have run both cores overclocked and it makes very little heat difference. The chip stops working above certain clock speeds but it does not seem heat related. Even with great cooling you can't clock the chips much above 420MHz in my experience. So I don't think its cooling related there is just a hard limit there I think.
      Good luck with your project.

  • @cleansermacaroni9892
    @cleansermacaroni9892 2 ปีที่แล้ว

    Very cool test! I'd be interested in the data on a cpu cooled only with a fan :)

  • @alpa512
    @alpa512 3 ปีที่แล้ว +1

    I love your videos 👍👍👍

  • @chachocarajoz
    @chachocarajoz 3 ปีที่แล้ว +1

    I was looking for documentation about pico's chip temperature 🌡️ when running programs, and your video is so illustrative.
    How much current can handle a Pin on Pico? It looks like that fan is drawing at least 150mA 🤔

    • @viteosen
      @viteosen 2 ปีที่แล้ว

      it drives from VBUS pin that is directly connected to USB +5v

  • @imagekiwi
    @imagekiwi 2 ปีที่แล้ว

    About to try this with just the rp2040 hooked up to a serial usb board.

  • @RayBellis
    @RayBellis 3 ปีที่แล้ว +2

    That seemed like *way* too much heatsink paste. It should just be the faintest sliver - just enough to fill in any imperfections between the chip surface and the heat sink's surface.

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว

      Yeah it was hard to get less out of the syringe but it was pushed down hard so I think in the end most of it spilled out the side and it did make a good thermal junction.

    • @RayBellis
      @RayBellis 3 ปีที่แล้ว +1

      @@robingrosset6941 are you sure? Your graph shows that for the heatsink only you achieved a peak reduction of 2C, which to me suggests the thermal junction really wasn't that great. I'd suggest repeating the experiment with the proper amount of paste, and also with just the fan blowing over the bare IC.

    • @tunahankaratay1523
      @tunahankaratay1523 3 ปีที่แล้ว +4

      @@RayBellis There is a lot of plastic in between anyways, so it wouldn't make much difference. Also I believe the QFN package has a big ground pad below it, so it already dissipates the heat well there. So if you want better cooling, the most logical way seems to use multilayer PCBs with huge ground planes and many vias below the ground pad.

    • @mr1enrollment
      @mr1enrollment 3 ปีที่แล้ว

      @@tunahankaratay1523 probably true, but surprises abound.
      really though 40C is nothing.

  • @marko_z_bogdanca
    @marko_z_bogdanca 3 ปีที่แล้ว +1

    40 degrees is nothing for silicone chips.

  • @Mythricia1988
    @Mythricia1988 ปีที่แล้ว

    Time to try liquid nitrogen overclocking on a Pico it seems.... 🙃