Ok so this is very interesting, an RP2040 board with an onboard QVGA camera (320 x 240, SPI), OLED screen (160 x 80, SPI), microphone (Direct PCM) and IMU (I2C) and its designed for using TinyML (Machine Learning)
out of all the RP2040 boards that has come out, the Arduino was the one i was most interested in. This board is by far the most intriguing one to date
PGA2040 is a compact RP2040 breakout intended for the most svelte and embeddable of projects. It contains only the components necessary to run the RP2040 (that’s the crystal, flash, regulator and essential support circuits) and it has no fripperies like LEDs, buttons and USB connectors - you’ll need to attach your own USB connector to be able to program it.
i am kinda confused by this one, not really sure what the use case is for this tbh but its kinda interesting at the same time
I like very much your concise and comprehensive review on Pico, though, because of my electronics hobbyists background and experience on Raspberry Pi and Thonny python, I don’t agree with all your opinions, especially those rather professional, C/C++ related stuff. I have been a Windows GUI guy for many years, and not at all fluent on text based CLI linux commands.
I am new here, so I never heard of “CAProjects”, and I wrongly thought that it was sort of open or commercial project on embedded hardware and software. (Yes, I now know it is a username.) I also have been confused with pi-top and pi-hole etc, because I am not a native English speaker. By the way, I just registered with pi-top a moment ago, so I need to google to learn more about pi-top.
I bought a couple of pico boards these months but have been too lazy to start seriously learning, except reading Tom’s Hardware articles and tried their newbie friendly demo programs.
So I googled to learn more about Pi-Top. Now I know it is a young (2014) startup. I almost never heard of it because it is not at all popular in my city (Hong Kong), where Arduino, Rpi, and BBC MicroBit have been more well known.
I started learning Arduino (Decimilla) some 10 years ago, followed by Rpi and Mirco-bit. I learned IDLE python from Rpi, and MircoPython from Micro-Bit.
Anyway, I googled and surprisingly found that my local electronics DIY shop WECL (I have been a fan of this shop for many years) does sell Pi-top STEM products to local schools, but I never saw them displayed in their shopping windows, which only entertain Arduino, Micro-Bit, and Rpi.
No worries. I think of course everybody’s comments here are personal opinion, including those KOLs (Key Opinion Leaders) such as the Swiss guy Andreas Spiess who has 330K subscribers. I am a huge fan of him, but again I like most but not all of his opinions on Rpi Pcio.
When I wrote my first reply to your Pico post, I intentionally first introduced myself as an electronics hobbyist, a Thonny Python fan, a Windows GUI old timer, before I mentioned that I prefer GUI to CLI.
I did, ages ago, dream of becoming a fluent C/C++ programmer in local industry where then had many opportunities in computer engineering. But during the 1980’s almost all the manufacturing plants have moved North, and that was the sad end of my very short engineering career. Anyway, to earn a living, I switched from engineering to teaching. Now that I am retired, programming in Pico is just for fun and healing.
I am also thinking of making a smart vehicle as proposed by @wil. However, I will be using Rpi4B instead of Pi-Top 4. It is laughable that only this morning I googled to find that Pi-Top 4 is actually a Rpi4B with a newbie friendly hardware software interface. So I think and hope that my coming Pico + Rpi4B experiments could contribute and shared by Pi-Top 4 users here.
PS - I have no experience in DIYing touch screen which I know can be difficult to mess around. I only know how to play with very small 0.9" to 1.3" OLED modules. So I think I would start my smart vehicle project humbly only with a dummy 0.9" OLED screen, and a couple of buttons.
Update 2021jun30hkt1455
Now I am thinking of starting my very first new topic, perhaps called “Pico Based Smart Vehicle”, in short “Pico Vehicle”. I am planning to make a long project, so perhaps the first topic can be titled as:
Project Proposal
Pico Vehicle Part 1 - Controlling a DC motor.
Introduction
This new topic is on how to use the Rpi Pico with a DC motor controller, such as L298N, to drive a toy DC motor with a speed encoder, such as the N20.
I almost never heard of Pi-Top because it is mainly for classroom use, so I neven paid any attention. Actually MagPi has a review last year. Also I found Pi-top 4 sold in local stores (See references below).
My apologies for my outdated information about Pi-top.
Ah, this WaveShare’s US$20, SPI, 3.5", 65k colour, resistive touch screen module looks attractive. I might get one when I have finished the first phase of my Pico 2WD.
Hi,
I’m planning to use the pico in a project and have a question about the I2C engine. I will write the project’s code in C using the pico-SDK. The RP2040 data sheet says I2C has a 16-element transmit and receive buffer. My question: what is an element? Is it a bit, a byte, a 32-bit word, what?
Jim
Just a quick reply. Usually a datasheet specifies a buffer by its data type and size, eg a 16 byte buffer. If no such thing is said, then my guess is that they want to make it very flexible. Eg, the “element” might be a pointer, statically or dynamically linked to an object, which can be any type and size of data structure.
I have been using python for some time, and I like its feature of when defining a function, you don’t need to declare the parameters as 32 bit byte etc, as in static typed language C. It is only at run time then the interpreter “guesses” that it should be, eg, an array, say, and do the dynamical (at run time) object creation and/or linking.
[Function} Parameter (computer programming) - Wikipedia
Thanks for the comment. The reason I need to know is that I am planning to sample an analogue signal at 20 Ksample/s and I need to know how big, in bits, the buffers are when the I2C data, to a peripheral, is only being transferred a maximum of 1 MBaud; at that rate, only 50 bits can be sent in the 50 uS between samples. So, will the 16 ‘element’ buffer hold 50 bits or not?
By the way, it is more than somewhat disappointing that the RP2040 cannot send/receive data faster than this limit. I would hope for 5 MBaud from a modern processor.
Yet another quick reply. (1) For ADC, 20k sps is usual. (2) So I think 400kHz SPI or I2C should handle it. But I am not so sure. Perhaps I can check it out later. (3) My feeling is that SPI ADC is faster than I2C ADC. Have you also consider SPI? (4) Even you can use 5MHz SPI or I2C, the distance between device and MCU is very short, perhaps on the same PCB, and even external, should be longer than 30cm. (5) All above are just casual, random ideas. Need to verify myself later. Cheers. PS - I am just a toy hobbyist, nothing industrial or professional.
Update: Just now I searched my old posts and found the follow:
… There is one constraint though. If your SPI speed is 4MHz, then you can at most do about 200ksps. And if you don’t need to use 4Mhz SPI, if your sample rate is lower. For example, if your sample rate is 20ksps, then your SPI speed can be roughly 400kHz., …
Hi…SDK isn’t quite so extraordinary as I anticipated. Parcel of models however tricky when you begin utilizing all component at same time.
I delighted in utilizing their VGA library anyway I had some peculiar conduct. SD card support on that gadget was ideally tended to by another person. Numerous DMA IRQ struggle from the different drivers. For sound I decreased it to PWM hinder based sound.
I saw that Arduino SDK was currently accessible for the pico however VGA was not yet part of it . At any rate, I don’t have more arrangement on the gadget.
It is quite modest. Presumably the least expensive MCU that can convey VGA with such quality for 4 euros.
I have seen other intriguing emulators on the gadget however the code must be changed for exhibitions.
So quite modest gadget however Teensy MCU are to be sure another classification!