The bsnes emulator has a new overclocking mode to eliminate slowdowns in SNES games while keeping the gameplay speed accurate. We’re emulating old SNES hardware on modern machines that are vastly more powerful. Eliminating slowdowns should be trivial, right? For an emulator such as bsnes, which is written to achieve essentially pixel-perfect accuracy when emulating, the problem is decidedly non-trivial. Stick around to learn why.
As a general rule, liquids and electronics don’t mix. One liquid bucks that trend, though, and can contribute greatly to the longevity of certain circuits: oil. Dielectric oil cools and insulates everything from the big mains transformers on the pole to switchgear in the substation. But what about oil for smaller circuits?
[Lord_of_Bone] was curious to see if an oil-cooled Raspberry Pi is possible, and the short answer is: for the most part, yes. The experimental setup seen in the video below is somewhat crude — just a Pi running Quake 3 for an hour to really run up the CPU temperature, which is monitored remotely. With or without heatsinks mounted, in free air the Pi ranges from about 50°C at idle to almost 70°C under load, which is pretty darn hot. Dunking the Pi in a bath of plain vegetable oil, which he admits was a poor choice, changes those numbers dramatically: 37°C at idle and an only warmish 48°C after an hour of gaming. He also tested the Pi post-cleaning, which is where he hit a minor hiccup. The clean machine started fine but suffered from a series of reboots shortly thereafter. Twelve hours later the Pi was fine, though, so he figures a few stray drops of water that hadn’t yet evaporated were to blame.
Is oil immersion a practical way to cool a Pi? Probably not. It doesn’t mean people haven’t tried it before, of course, but we applaud the effort and the careful experimentation.
The Raspberry Pi came upon us as an educational platform. A credit card sized computer capable of running Linux from a micro SD card, the Raspberry Pi has proven useful for far more than just education. It has made its way into every nook and cranny of the hacker world. There are some cases, however, where it might be a bit slow or seem a bit under powered. One way of speeding the Raspi up is to overclock it.
[Dmitry] has written up an excellent overclocking guide based upon Eltech’s write up on the subject. He takes it a bit further and applies the algorithm to both Raspi 2 and Raspi 3. You’ll need a beefier power supply, some heat sinks and fans – all stuff you probably have lying around on your workbench. Now there’s no excuse stopping you from ratcheting up the MHz and pushing your Pi to the limit!
We’ve seen several guides to overclocking the Raspi here on Hackaday, including the current record holder. Be sure to check out [dmitry’s] IO page for the overclocking details, and let us know of any new uses you’ve found by overclocking your Raspi in the comment below.
[HydroGraphix HeadQuarters] has earned his name with this one. While he is using mineral oil instead of hydro, he’s certainly done a nice job with the graphics of it. The ‘it’ in questions is an overclocked Raspberry Pi 3 in a transparent container filled with mineral oil, and with a circulating fan.
He’s had no problem running the Pi at 1.45 GHz while running a Nintendo 64 emulator, getting between 40 °C and 50 °C. The circulating fan is a five volt computer USB fan. It’s hard to tell if the oil is actually moving, but we’re pretty sure we see some doing so near the end of the video below the break.
Mineral oil is not electrically conductive, and is often used to prevent arcing between components on high voltage multiplier boards, but those components are always soldered together. If you’ve ever worked with mineral oil, you know that it creeps into every nook and cranny, making us wonder if it might work its way between some of the (non-soldered) contacts in the various USB connectors on this Raspberry Pi. Probably not, but those of us with experience with it can attest to it’s insidiousness.
Hackers have a long history of overclocking CPUs ranging from desktop computers to Arduinos. [Jacken] wanted a little more oomph for his
Pi Zero-Raspberry Pi-based media center, so he naturally wanted to boost the clock frequency. Like most overclocking though, the biggest limit is how much heat you can dump off the chip.
[Jacken] removed the normal heat sink and built a new one out of inexpensive copper shim, thermal compound, and super glue. The result isn’t very pretty, but it does let him run the
Zero Pi at 1.5 GHz reliably. The heat sink is very low profile and doesn’t interfere with plugging other things into the board. Naturally, your results may vary on clock frequency and stability.
The ESP8266 is officially checking into the Hackaday 1kB Challenge. Doing something meaningful in 1kB of compiled code is tricky; modern SDKs like the ones often used for ESP8266 compile even the simplest programs to nearly that size. If you want to use this hardware in your 1kB Challenge entry, I have a solution for you!
The ESP8266 now has a barebones build environment focused on minimizing code size, as little as 131 bytes to boot up and blink an LED. It also “supports” some new, insane clock rates (like 346 MHz) and crazy development cycle speeds. The WiFi is stuck in “airplane mode,” but it will be worth your time to consider the ESP for the next non-WiFi project you’ll be doing.
Far too often, we follow design patterns that ‘just work’ instead of looking for the ones that are optimal because we’re afraid of wasting time. The benefits of keeping code tight and small are frequently overlooked. When code is small and environments minimal, RAM and FLASH become easier to come by, compiled binaries shrink and time wasted by compiling and flashing can decrease by an order of magnitude! We rarely see just how much value is added when we become a good engineer: being done only when there’s nothing left to remove from a design. Nosdk8266 will let you see what it’s like to test out code changes several times a minute.
Just a month ago, when preparing the ESP8266 for a USB bootloader, I had to make a stripped-down environment for it. It’s not based on the Official Non-OS SDK or the RTOS sdk, but an environment that can boot up and blink an LED. Not just blink an LED, but tweak the clock in some totally unexpected ways and even run the I2S bus (used for espthernet and Color NTSC Broadcast Video). If you’re not at the submission phase for your 1kB challenge, you can even use the mask ROM for printf! Now you can tweak your code and — in under 2 seconds — see what the new code does!
Even in PICO mode, the part still has to use the mask ROM to be loaded, but thankfully, the 1kB Challenge has added an exception for unavoidable bootloaders. No longer bound by the shackles of WiFi, I can’t wait to see what you’ll do with the ESP8266. Just beware that the processor may not work reliably when overclocked at 346 MHz (332.5%,) and you’ll certainly be voiding any warranties you may have. Sounds like fun, right?
Editorial Note: This is a guest article from Charles Lohr, aka [CNLohr]. Although he has written a few other guest articles, he is not a regular contributor to Hackaday and therefore, this article does not disqualify him from entering the 1kB Challenge. We felt it more fair to publish this article which shares the tools he’s using to make code smaller, rather than to keep them to himself for fear of disqualification. While we have your attention, we wanted to mention one of Charles’ articles which was published on April 1st — we still think there’s a lot of people who don’t realize it wasn’t a prank.
Some people are never happy. [Jackenhack] got hold of a couple of shiny new Raspberry Pi 3s, and the first thing he did is to start overclocking them. Fortunately, he knows what he is doing, so none of the magic smoke escaped, but it seems not all Pis are happy with the process.
For one of the three seemingly identical Pi 3, adding heat sinks let him push the CPU from the native 1.2GHz up to 1.45GHz. That did involve a bit of overvolting (increasing the voltage to the CPU), but that can be easily done in software. He also experimented with adding heat sinks to the memory, then bumping up the speed of the memory to increase throughput. Again, he was able to make some impressive gains, bumping the speed up from the native 400 Mhz to 500 Mhz. Both of those are stable overclocks: he was able to run the system at 100% CPU load for an extended time, and has incorporated the overclocked Pi into his system that contributes to the NTP pool project.
However, when he tried the same overclock with the second of the Pi 3
victims test subjects, it failed due to the CPU overheating. So, it seems that there is a lot of variation in the individual bits of silicon on the Pi 3. Perhaps some liquid nitrogen would help? It did for an Arduino…