collapse

* Posts Recentes

Rede de comboios elétricos totalmente autónomos 10 ton em Rust em realtime. por blabla
[18 de Setembro de 2022, 18:44]


NiMH por 18650 por almamater
[18 de Setembro de 2022, 17:21]


How We Get Down to 0.2nm CPUs and GPUs - TechTechPotato por blabla
[18 de Setembro de 2022, 15:38]


Nova secção de Raspberry Pi Bare Metal em C e em Rust e Systems Programming por blabla
[04 de Setembro de 2022, 08:55]


The code for AGI will be simple - John Carmack and Lex Fridman por blabla
[29 de Agosto de 2022, 07:36]


Wavelets: a mathematical microscope por blabla
[28 de Agosto de 2022, 20:50]


Bom livro - Dive Into Systems por blabla
[28 de Agosto de 2022, 12:19]


graus negativos inclinação por josecarlos
[28 de Agosto de 2022, 11:31]


Super obsolescência super programada? por SerraCabo
[06 de Agosto de 2022, 11:36]


Motor de aspirador por dropes
[02 de Agosto de 2022, 22:18]

Autor Tópico: Overclocking Raspberry Pi Pico to 420 MHz, originalmente 133 MHz dual core  (Lida 722 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline blabla

  • Mini Robot
  • *
  • Mensagens: 245
Boa tarde a todos,

hoje gostava de partilhar dois vídeos sobre o overclocking (acredito que estável) de um Raspberry Pi Pico a 420 MHz. Do canal de youtube Robin Grosset.

No primeiro vídeo, parte 1 o acesso ao chip externo de flash tinha alguns problemas mas são resolvidos no segundo vídeo, parte 2.

Raspberry Pi Pico Overclocking, beware there is a catch! - Part 1


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


Extra:

Com o botão de reset já não necessitam de ligar e desligar o cabo USB para programar o Pico.

Pico Quick Reset Button


O Pico suporta desenvolvimento em MicroPython, em C/C++ e em Rust.

Cumprimentos,
João

Online dropes

  • Mini Robot
  • *
  • Mensagens: 2.105
Re: Overclocking Raspberry Pi Pico to 420 MHz, originalmente 133 MHz dual core
« Responder #1 em: 03 de Fevereiro de 2022, 21:14 »
Interessante

O RPi é uma plataforma stand-alone, compacta e bastante potente para a maioria das aplicações.
Para uso gráfico mais complexo, exige também mais memória, de preferencia ram ou dram (se suportado), aí já requere uma velocidade mais elevada.
A flash demora mais tempo a gravar que a ler, evitando gravações em loop e dependendo do seu uso, tem potencialidades.

Usar uma fan é descabido, há quem tente minimizar o ruído eliminando-as e há aqueles que colocam onde aquece porque é mais rápido.
Prefiro as passivas, são grandes demais para colocar no pc (já existem), fora isso não dão problemas.

Existirem outras versões do RPi, mais memoria e maior velocidade
https://www.raspberrypi.com/products/raspberry-pi-4-model-b/
Interessante que o preço é baixo, talvez concorrência, na sei...

Obrigado pela partilha  ;)

Offline blabla

  • Mini Robot
  • *
  • Mensagens: 245
Re: Overclocking Raspberry Pi Pico to 420 MHz, originalmente 133 MHz dual core
« Responder #2 em: 04 de Fevereiro de 2022, 08:27 »
The facto dois cores de ARM Cortex M0+ a 420 MHz por 4.5 euros numa dev board, com 260KB de RAM e 2 MB de Flash, a correr MicroPython, C/C++ ou Rust, com boa documentação é muito interessante. No meio desta crise de chips é uma das poucas dev boards que existe em grande abundância nas lojas. Eles já venderam 1.5 milhões de dev boards do Raspberry Pi Pico no último ano.

Vejam o seguinte artigo:

Multilingual blink for Raspberry Pi Pico - Alasdair Allan
https://www.raspberrypi.com/news/multilingual-blink-for-raspberry-pi-pico/

Cumprimentos,
João

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.865
  • NERD!
Re: Overclocking Raspberry Pi Pico to 420 MHz, originalmente 133 MHz dual core
« Responder #3 em: 04 de Fevereiro de 2022, 09:27 »
Já deste uma vista de olhos ao ESP32?
Também é fácil de encontrar e pouco mais caro, tem uma enorme comunidade, e com a enorme vantagem de incluir WiFi, Bluetooth e BLE.
E há umas versões de devboards com câmara também a preços muito simpáticos.

Offline blabla

  • Mini Robot
  • *
  • Mensagens: 245
Re: Overclocking Raspberry Pi Pico to 420 MHz, originalmente 133 MHz dual core
« Responder #4 em: 04 de Fevereiro de 2022, 11:45 »
Bom dia @jm_araujo, eu já conheço o ESP32, tenho aqui alguns ESP32, em tempos até fiz um mini curso online de ESP IDT económico, que recomendo vivamente

Online Course - Learn ESP32
https://learnesp32.com/

Mas eu queria que tivesse suporte para a linguagem de programação Rust e o ESP32 usa core Tensillica e ainda não são bem suportados em Rust (já os ARM são todos muito bem suportados em Rust e penso que os RISV-V também, mas depende do chip, até AVR são suportados), para além disso, na dev board, para que o chip de comunicação do porto série seja sempre o mesmo, só se comprar as dev board original da ExpressIF que só se encontra em sítios como a Mouser Electronics e que é mais caro (tenho a ideia de 12 ou 13 euros vs 4.5 euros), cada compra das dev boards clones baratas vem com um chip de porto série diferente o que dificultaria as coisas para a minha filha (pois teria de estar a configurar cada um de maneira diferente no Linux) e não suporta debugging a não ser com uma board muito mais cara de interface.

Para além disso eu gostaria de ter uma boa parte analógica do chip e o ESP32 não tem nem boas specs analógicas (O ADC deles é uma desgraça pois tem secções em que não é linear) nem um datasheet bem documentado, é mais uma documentação de uma API em C/C++. A questão do bom datasheet é importante para ir começando aos poucos a ensinar a minha filha de que como se lê e se obtém informação a partir de um datasheet para os nossos projectos.

Nesse aspeto os STM32 tem melhores características e muito melhores datasheets.
Mas claro o ESP32 tem a grande vantagem de ter o rádio de WIFI, BlueTooth e o protocolo de rádio deles. (Mas neste momento ainda tenho muitas ideias de coisas pequenas para explorar que não necessitam de WIFI).

Como isto é para fazer vários projetos engraçados com a minha filha ao longo do tempo, para lhe ensinar eletrónica e programação (com muita prática). A ideia é de fazer com ela um projeto, desenhá-lo, construí-lo e depois pô-lo numa caixinha de madeira daquelas baratas que existem à venda por 1 euro nas lojas chinesas. Eu acho importante que um Petiz quando constrói algo fique com a coisa que construiu e não tenha de desfazer e desmontar tudo para fazer um novo projeto. Assim ela pode olhar para trás e olhar para cada uma das caixinhas e lembrar-se de como as construiu, desses momentos engraçados e lembrar-se no futuro de que um dia no passado foi capaz de fazer aquela caixinha, aquele projeto. Por isso é que o baixo custo dos componentes é tão importante, pois tem de ser tudo feito com componentes muito baratas, para que não estoire o orçamento mensal para as caixinhas que é pequeno, estamos a falar até 10 euros, no máximo 15 euros por mês para esta atividade.

Misturar também circuitos analógicos simples com micro-controladores digitais.
Aqui estou a pensar em coisas como ligar capsulas de microfone de eletreto baratas (centimos) e fazer os andares de amplificação do microfone e de condicionamento do sinal antes de entrar no ADC do Pico (estou a pensar por exemplo num detetor de assobio que fala frases, ou num modificador da frequência da voz humana (transforma voz fina em voz grossa), ou de um detetor de comandos de voz com um bocadinho de ML implementada do zero, coisas assim que possam ser mais complexas a nível de programação, apesar de não muito (que eu possa explicar-lhe as linhas gerais de funcionamento, mas que eu esconda a complexidade dos detalhes por detrás de uma API simples de usar, aproveitando como é óbvio muito do Open Source existente na net), mas que em termos de componentes sejam muito económicos e que com as quais se consigam fazer coisas engraçadas. Por exemplo com uma saida de dois PWM’s um LSB e outro MSB para se ter quase 16 bits de resolução de áudio e com isso e um transistor FET e pouco mais e um speaker pequeno de 1 euros fazer um amplificador de Classe D e ligar num circuito engraçado), coisas  assim simples, mas indo construindo tudo e ir aprendendo e explicando o funcionamento das coisas.
A ideia é que seja didático mas em que ela se diverte a construir e eu também :-)
 
Por exemplo, estou a pensar em emissores pequenos de 2 metros de range de AM (é só prova de conceito para aprender), ou quem sabe de FM (não sei se é possível com os PIO’s e com o Pico Overclocked, senão com um feito todo analogicamente), fazer por exemplo um detetor de metal e quem sabe até de tipo de metal. Fazer uma implementação de algo como o projeto Touché, com circuito RLC e deteção de amplitude resposta por varrimento de frequência em que esse AC “só sinal e a 3.3V” diferente faz gound com a pessoa por caminhos diferentes enquanto atravessa a pessoa e assim detetar os tipos de contacto (um dedo, dois dedos, uma mão) com a pessoa. Implementação de pinos capacitivos em micro-controladores sem pinos capacitivos (O ESP32 tem pinos capacitivos). Coisas como implementações em versão analógicas (OpAmps) e digitais (com o Pico e FFT’s) do circuito de Bob Widlar o “Hassler circuit” aquele que promove o silêncio pois faz um barulho enorme quando alguém está a falar mas está em silêncio quando não existe a voz humana.

Tudo coisas deste género, as únicas coisas proibidas nestes circuitos são altas voltagens acima dos 12 V (ex: 220 V ou alta tensão), ou as potências elevadas de muitos amperes ou elementos de alta temperatura, ou quimicos marados, ou emissores de RF que não sejam só provas de conceito com ranges superiores a 2 metros de distância. Tudo o resto é permitido, pois acho muito útil para aprender!

Vai ser um pouco o ver o que se consegue fazer de formas engenhosas e engraçadas somente com:
-Raspberry Pico
-LED’s (usados de todas as formas, como emissor de luz, normal e RGB, como botão, como detetor de luz ambiente, como medidor de temperatura)
-Switch’s (usados de todas as formas)

-Resistências / Condensadores / Indutores
-Diodos / Transistores BJT / FET / JFET
-Muita coisa de OpAmps baratos como o  (LM358, MCP6002 e MCP6004)
-Piezo (produção de som, microfone e detetor de movimento)
-Ecrã “old school” LCD 16x2 barato ligado diretamente sem placa de I2C para ser mais barato.
-Servos pequenos econômicos.
-Ou pequenos motores.
-Uso extensivo do porto série para comunicação com o PC através de emulação de USB-Serie a correr no micro-controlador.
-Uso das máquinas de estado do PIO’s de alta velocidade (Programmable Input Output)
-Pinos capacitivos, como Switch’s e  como detetores de proximidade ou distância de uma mão, número de pessoas em contacto electrico, joystick capacitivo a 3D feito com folha de alumínio de cozinha.
-Pequeno Speaker.
-Não vai haver pilhas (menor custo e circuito mais simples), a energia vem por cabo USB micro  de 500 mA a 2 A máx, quer de ligação a USB do PC, quer de um único carregador USB, quer de um único power bank pequeno que liga uma caixinha de cada vez.
-Tensões usadas 3.3V, 5V e eventualmente e pontualmente alguma coisa a 12V.

Módulos ou sensores que podem ser usados são coisa baratas como:
-Sensor de temperatura e humidade DHT11, mas é mais giro ler a temperatura de um diodo à pata:-)
-Sensor de movimento PIR.
-Sensor de ultrassom som HC-SR04.
-Sensores Hall componente.

E muita imaginação!

Módulos caros e componentes caros estão completamente fora do budget.

A coisa boa é que tenho algum equipamento de teste e que também é algo que quero ensinar-lhe a trabalhar com ele na prática, tenho multímetro, osciloscópio, gerador de sinais, função de analisador de protocolos Série, I2C e SPI,  e fonte de alimentação. Que vão ser muito úteis para toda a parte de “debug digital” e toda a parte analógica dos projetos.

Claro que gostava de ter WIFI no Raspberry Pico, mas para coisas que liguem ao PC posso sempre fazer uma espécie de bridge por porto série com um programa a correr no PC que obtém os dados da net ou envia para a net por socket, mas como é óbvio não é a mesma coisa que IoT do ESP32 :-)

Por exemplo num mês em que um projeto tenha um Pico, já foram logo 4.5 euros, logo o resto do budget tem de dar para os outros componentes todos :-)

Já por exemplo em circuitos analógicos simples, com um ou dois IC's de 50 cêntimos cada cada de 2 ou 4 OpAmps ou uns transistores, umas resistências e condensadores  uma capsula de electreto, uma PCB perfurada 50x70 por 35 cêntimos, com 3 euros tem se um projeto completo. O que não se gastar do budget num mês transita para o mês seguinte e nesse mês seguinte pode-se ter um projeto um pouco mais complexo.

O objetivo é mesmo o de ir ensinando, transmitir conhecimentos e de transmitir o gosto à minha filha de eletrônica e pela programação.

Cumprimentos,
João

Offline StarRider

  • Mini Robot
  • *
  • Mensagens: 9
Re: Overclocking Raspberry Pi Pico to 420 MHz, originalmente 133 MHz dual core
« Responder #5 em: 15 de Março de 2022, 02:12 »
Overclocking a 250Mhz vai impossibilitar usar a flash para armazenamento (simular EEPROM), de resto não encontrei problemas.
ESP32 pode aparentemente parecer mais apetecível em função do Wifi e BT ... mas usando a API da Espressif para C/C++ (IDF) um simples programa de teste com duas linhas de código ocupa logo 192k ... totalmente descabido.

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.865
  • NERD!
Re: Overclocking Raspberry Pi Pico to 420 MHz, originalmente 133 MHz dual core
« Responder #6 em: 15 de Março de 2022, 08:47 »
Isso não é porque levas com a stack de comunicações+RTOS?
Não pesquisei para o esp32, mas para o esp8266 havia versões do SDK sem wi-fi e lembro-me de dizerem que ficava bem levezinha.
« Última modificação: 15 de Março de 2022, 08:49 por jm_araujo »

Offline StarRider

  • Mini Robot
  • *
  • Mensagens: 9
Re: Overclocking Raspberry Pi Pico to 420 MHz, originalmente 133 MHz dual core
« Responder #7 em: 15 de Março de 2022, 11:37 »
Isso não é porque levas com a stack de comunicações+RTOS?
Não pesquisei para o esp32, mas para o esp8266 havia versões do SDK sem wi-fi e lembro-me de dizerem que ficava bem levezinha.

Sim, o build puxa tudo e mais alguma coisa, desde o FreeRTOS até ao tinyusb, depois é necessário criar partições, ainda perdi algum tempo a tentar compreender como se podia minimizar e otimizar o que é incluído (remover asserts com o CONFIG_LOG_DEFAULT_LEVEL, etc, etc) e possivelmente conseguia reduzir ainda mais,  mas acabei por desistir pois estava a perder demasiado tempo com uma coisa que devia se trivial.
O ESP32 têm realmente algumas especificações interessantes, é um bom valor pelo dinheiro que custa, mas penso que para projetos que não necessitem wifi a Pi PICO tem algumas vantagens, nomeadamente na API para C++ quanto a mim bem melhor.