New
#481
I'll get to do just enough tinkering with it to make sure its fully functional with no defects. Then put a big red ribbon on it ,and Wait till Santa comes.
Extreme Overclocker Takes Raspberry Pi to 3 GHzExtreme Overclocker Takes Raspberry Pi to 3 GHz | Tom's HardwareSome people will do anything for a speed boost, prying the lids off expensive i9s and subjecting them to all manner of chilly chemical concoctions to drag every last megahertz out of the silicon. We’ve not seen anybody do such an extreme overclock with a Raspberry Pi before, but there's a first time for everything. Claude Schwarz has overclocked his Raspberry Pi Compute Module 4 to an extraordinary 3 GHz.
A Guy
I've seen people pry off the heat spreader on CPU's before. That wasn't doable to a Pi until the Pi 4 and that new SOC. I haven't even done a stock overclock. My Pi 4 is more than fast enough for what I'm doing with it. I do add extra cooling via a fan though. I want to prevent it from throttling due to thermals getting high.
Eventually I will need to use my PICO Wireless Pack with some sensor breakouts. I can plug my PICO and the breakouts into my PICO Breakout Garden Base, no place to plug in the Wireless pack though? And a stacking header won't work, it would have to go on the PICO, and the Breakout garden and Wireless pack are both female headers.
I can plug my PICO and Wireless pack into an Omnibus, but don't have a Breakout Garden Pack, Mine is the bigger Base version. What to do? I built my own PICO i2c Breakout Pack. I took a stacking header (only needed the female part), a PICO Proto, and 4 of the i2c Breakout Extenders (just the socket part), and fabed something up.
I could not get it to work, double and triple checked my wiring and was when I noticed one little wisp or solder shorting two pads together. Luckily for me it was just grounding the SDA pin so no harm done to anything. Fixed that and its now fully functional.
I'll have an RV3028 RTC, a BME280 for temp humidity and pressure, and a VEML6075 UV sensor plugged in. I could have done this all up after Christmas but I had all the bits sitting on my desk and my soldering iron was already warmed up from another project. Right now all I need to do is make sure the Wireless pack works, then box it up and put it away. That's on todays agenda.
This is what I fabed up. The PICO WIFI Pack works Ok near as I can tell. It scanned for and detected nearby networks, and connected to my network OK.
Just have to hunt up a Micro Python library / driver for my VEML6075 UV sensor.
Edit: I think I have a working driver. I'll have to give it a good test in some good sunlight to make sure. I'm getting readings, very very low readings, but its giving me numbers with no errors in my file.
Last edited by alphanumeric; 15 Oct 2021 at 12:54.
Right on,Cool stuff, I just read your Pimoroni Forum post
I've been tweaking my PICO temp, humidity, pressure display code. I changed the order so the pressure is at the top, humidity is in the middle, and temperature is at the bottom. Also switched the thermometer to a barometer. Took out the titles to make it cleaner and only show a descriptor if something is out of the normal range. I'm using a BME280 so you (Jack) should only have to do the one edit and change.
i2c = PimoroniI2C(**PINS_BREAKOUT_GARDEN)
to
i2c = PimoroniI2C(**PINS_PICO_EXPLORER)
Code:# This file lets you make a little indoor weather station. import utime from breakout_bme280 import BreakoutBME280 #from breakout_bme68x import BreakoutBME68X from pimoroni_i2c import PimoroniI2C from breakout_colourlcd240x240 import BreakoutColourLCD240x240 width = BreakoutColourLCD240x240.WIDTH height = BreakoutColourLCD240x240.HEIGHT display_buffer = bytearray(width * height * 2) # 2-bytes per pixel (RGB565) display = BreakoutColourLCD240x240(display_buffer, cs=(17), bl=(20)) display.set_backlight(1.0) PINS_BREAKOUT_GARDEN = {"sda": 4, "scl": 5} PINS_PICO_EXPLORER = {"sda": 20, "scl": 21} #i2c = PimoroniI2C(sda=(4), scl=(5)) i2c = PimoroniI2C(**PINS_BREAKOUT_GARDEN) bme = BreakoutBME280(i2c, 0x76) #bme = BreakoutBME280(i2c, 0x77) #bme = BreakoutBME68X(i2c) # lets set up some pen colors to make drawing easier tempcolor = display.create_pen(0, 255, 0) # this colour will get changed in a bit humidcolor = display.create_pen(0, 255, 0) # this colour will get changed in a bit presscolor = display.create_pen(0, 255, 0) # this colour will get changed in a bit white = display.create_pen(255, 255, 255) black = display.create_pen(0, 0, 0) red = display.create_pen(255, 0, 0) green = display.create_pen(0, 255, 0) blue = display.create_pen(0, 0, 255) yellow = display.create_pen(255, 255, 0) orange = display.create_pen(255, 140, 0) # converts pressure into barometer-type description def describe_pressure(pressure): global presscolor if pressure < 982: description = "stormy" presscolor = red elif 982 <= pressure < 1004: description = "precip" presscolor = yellow elif 1004 <= pressure < 1026: description = "" presscolor = green elif 1026 <= pressure < 1048: description = "fair" presscolor = blue elif pressure >= 1048: description = "dry" presscolor = orange else: description = "" presscolor = black return description # converts humidity into good/bad description def describe_humidity(humidity): global humidcolor if humidity < 30: description = "dry" humidcolor = orange elif 30 <= humidity < 61: description = "" humidcolor = green elif 61 <= humidity < 81: description = "humid" humidcolor = yellow elif humidity >= 81: description = "very humid" humidcolor = red else: description = "" humidcolor = black return description # converts the temperature into a barometer-type description and pen colour def describe_temperature(temperature): global tempcolor if temperature < 0: description = "very cold" tempcolor = blue elif 0 <= temperature < 14: description = "cold" tempcolor = yellow elif 14 <= temperature < 25: description = "" tempcolor = green elif 25 <= temperature < 30: description = "hot" tempcolor = orange elif temperature >= 30: description = "very hot" tempcolor = red else: description = "" tempcolor = black return description min_temp = None max_temp = None start_time = utime.time() while True: time_elapsed = utime.time() - start_time # read the sensors temperature, pressure, humidity = bme.read() #temperature, pressure, humidity, gas_resistance, status, gas_index, meas_index = bme.read() # pressure comes in pascals which is a reight long number, lets convert it to the more manageable mb pressuremb = pressure / 100 # draw a thermometer/barometer thingy display.set_pen(125, 125, 125) display.circle(190, 190, 40) display.rectangle(180, 45, 20, 140) """ # switch to red to draw the 'mercury' display.set_pen(red) display.circle(190, 190, 30) thermometerheight = int(120 / 30 * temperature) if thermometerheight > 120: thermometerheight = 120 if thermometerheight < 1: thermometerheight = 1 display.rectangle(186, 50 + 120 - thermometerheight, 10, thermometerheight) """ # switch to red to draw the 'mercury' display.set_pen(presscolor) display.circle(190, 190, 30) barometerheight = int(pressuremb - 955) if barometerheight > 120: barometerheight = 120 if barometerheight < 1: barometerheight = 1 display.rectangle(186, 50 + 120 - barometerheight, 10, barometerheight) # drawing the pressure text display.set_pen(presscolor) display.text('{:.0f}'.format(pressuremb) + 'mb', 10, 10, 240, 5) display.set_pen(white) display.text(describe_pressure(pressuremb), 10, 40, 240, 3) # and the humidity text display.set_pen(humidcolor) display.text('{:.0f}'.format(humidity) + '%', 10, 90, 240, 5) display.set_pen(white) display.text(describe_humidity(humidity), 10, 120, 240, 3) # and the temperature text display.set_pen(tempcolor) display.text('{:.1f}'.format(temperature) + '`c', 10, 170, 240, 5) display.set_pen(white) display.text(describe_temperature(temperature), 10, 200, 240, 3) if time_elapsed > 30: if min_temp is not None and max_temp is not None: if temperature < min_temp: min_temp = int(temperature) elif temperature > max_temp: max_temp = int(temperature) else: min_temp = int(temperature) max_temp = int(temperature) if min_temp is not None and max_temp is not None: min_string = ('{:.0f}'.format(min_temp)) max_string = ('{:.0f}'.format(max_temp)) range_string = (min_string) + ' - ' + (max_string) else: range_string = "" display.set_pen(white) display.text(range_string, 10, 220, 240, 3) # time to update the display if time_elapsed < 1: temperature, pressure, humidity = bme.read() #temperature, pressure, humidity, gas_resistance, status, gas_index, meas_index = bme.read() display.set_pen(black) display.clear() display.update() else: display.update() utime.sleep(1) display.set_pen(black) display.clear()
New Pi Zero 2 W released. Raspberry Pi Zero 2 W – Raspberry Pi
It was leaked yesterday and then all traces of the leak disappeared. Kind of like that leak you found on the Pi Zero way back when. I posted about it on the Pi forum and it was taken down and I was asked to please keep quiet until the official release.
It's almost as good as a 3A+, and a lot cheaper price wise. It has the same amount of Ram, just clocked slower. I'll try one with Motion Eye OS at some point, Its half the size of a 3A+. It should also be good for my Breakout garden stuff that currently has a Pi Zero on it.
Installing the Pi OS and doing the updates should be a lot quicker, web browsing to your tutorial should be tolerable too.
EDIT: New product: Raspberry Pi Zero 2 W on sale now at $15 - Raspberry Pi
Last edited by alphanumeric; 28 Oct 2021 at 08:21.