I'm clueless when it comes to this level of tech. I have no idea what you're doing or why you're doing it.. But I come to listen to you speak. You entertain like no other Benrith.
@@Omega-Nine I'm happy paying for the markup when they provide the documentation/libraries/tutorials/dev boards etc, well worth it to me :) (saves me time, I can always get more money... can't get more time :P)
@@piratesephiroth there will be. lets say the polling rate is 10hz (really low for the sake of argument). whenever you move your mouse, there will be between 0-100ms of latency, depending on the last time the mouse polled.
Yes. And... (top tip) if you create a folder on your home directory called bin it will be searched before the default executable places. So then, all the make script has to do is make the binary an executable (chmod +x) and copy it to ~/bin/ and you're done! 👍
Initialisms are when you read each letter like FBI. Where an acronym is what you pointed out with laser. I guess it depends on whether you think SNES is an acronym or initialism. Because it's always written in all caps, I lean towards it being an initialism.
Ben great video and topic. Is there a chance that you can get the camera a bit more facing the screen. On my 4KTV it still is a bit difficult to read. Thanks
I ordered the kit and 2 pico boards from another site....don't know the first thing about micro controllers but it's a place to start. Have played with pi boards for years though. Ben makes these things look "approachable".
You can use macro assemblers, but it's not a z80 so probably not that one. The Pico has ARM CPUs and its own PIO. Alternatively you could emulate a z80, but an FPGA based board might do that better.
@@0LoneTech FPGAs are a couple orders of magnitude more expensive though. If there's a decent software emulator then Pi Zero or Zero-W may be a better fit.
I wonder if you could add a message and a script to the build program that after it has finished compile it asks you to hold reset and boot. then it looks for /dev/piko/and when it finds it just auto copy the compiled code over to it. then ask you to reset the piko.
I ordered one of these and was very impressed, my only issue was the dp cable was to short to sit on the floor in front of the TV haha so I ordered a longer one within hours of opening it. So I could pretend I was a kid in the 80s again. There is also a good hat that mounts the edge connector sideways so you can use the existing hats, I have my sense hat looking like an expansion cart out the back.
I really don't know how the device works but as a quick hack you can write a quick udev rule file (usually dropped in /etc/udev/rules.d/) to execute a script which will copy *.uf2 to the mounted path in a target build so you can just click compile, press your magic button and it's on there. I'm sure there is a better way to do it but it should work.
3:20: I'm not a kid anymore, but after gifting my wife a photo book of her home country Bosnia, I was looking through that and some photos were really small, so instinctively I tried touching them to enlarge them. I felt weird after that happened.
"I once again have to set a path and then execute code from a terminal?" *flashback to all the times Ben did things from a cmd.exe prompt because reasons* ;)
"Almost a gig of updates? Yeah, this is so much better than Windows. /s" - Except that one command is also updating all the apps too. In fact, that's most of what it's doing - all without going to a bunch of individual websites to get varying updated installers of questionable security. This makes it exponentially faster and easier to keep they system secure and keep the apps up to date.
Didn't really get the Ben Heck thing watching the BHS, but this channel has switched me on to it (baby). I've been going back to watch BHS episodes with new appreciation of the Heck content. (Even watched the junk mail video 👍)
Could you program a pico to generate a password and then send it when you push the button? Maybe I will try to get it to just send a password first when the button is pushed then make it generate and save with different numbers of button clicks later? Thoughts?
Rather than unplugging and plugging in… can you put a power switch on a USB cable? would breaking the +5V wire be enough, or would the signal wires need to be disconnected too?
hey ben, i think in geany there is a "set build commands" in the preferences, you can place the cmake and make commands and will automatically execute when you press f5( i think f6 or f8).... you dont need to use terminal to make and cmake
This does NOT look like it would be a good fit for a small, remote controlled robot. I'm swinging back to the Pi 0 W. Can it be turned on/off without a big overture?
You shouldn't have to drag and drop the UF2 file in the GUI - you could for example reset the Pico and then run "make && cp blink.uf2 /media/pi/RPI-RP2" (although you'll probably still get the pop-up each time the USB mass storage device connects). At least that's what I've done with Adafruit Metro boards which have a similar setup.
I got my Pi 400 from Sparkfun too - I bought it because it reminded me of my C64 and Amiga 1200 (keyboard computers). I noticed mine is actually made in Britain too.
I've wanted to embed a Pi in my old flatscreen TV for a while now, so it would be interesting to see a similar project like that. I wonder if it would be easier to work with a regular Pi4 or with a CM4.
@@khatharrmalkavian3306 One thing that's very cool about the 400s board is that it's so flat, but still has all the connectors. The actual PI4 is pretty tall and I'm not sure it would make a good keyboard. The CM4 would work size wise but it would be quite a pain to put an HDMI port on it.
@@megan_alnico Yeah, I was thinking that with the Pi4 he'd heck the ports off it and run wires to the edges of the case. With the CM4 it would be easy to fit it in there, but then he'd have to make his own CM4 connector to run the ports out.
You can't count the o/s update as part of the setup for the Pico. Also, more difficult than a Windows update? You've been lucky with your Windows updates. I've suffered through multiple reboots, totally killing the install, near-infinite spinner, lying about time to update, taking forever even on an i7 with a SSD as the only drive in the box...
make a usb passthrough board with a button to interrupt power ( ie: unplug - replug ... gonna have to use a button thats normally closed) ... they also make usb hubs with on/off switches for each port which would be doing the same thing. check amazon.
Why complain about "drag and drop" of the .uf2 file and the hidden windows etc when you could just `/bin/cp possums.uf2` to the mount point of the Pico's mass storage device from the shell?
Just adding OTOH: - laggy wireless mouse could be due to interference. I have to use an extension cable with my desktop computer for a logitech receiver - I would create a bash file that builds, waits for a key and copies the elf to the usb drive - hopefully there will soon be support in PIO for the new board. If you haven't tried PlatformIO, it will change your world - not sure, but having include statements probably means you don't need to add the files to the makefile
C++ is designed for - and regularly used for - compatibility with C libraries and legacy code. Many modern libraries are written in C and then sometimes given a few wrapper classes for C++ users, the idea being that the library can then be used with either language. WinAPI, for example.
@@khatharrmalkavian3306 While that is true, C++ code that mixes paradigms can lead to code that is... ehm... unreliable... For example, I've seen C++ codebases that use malloc() to allocate memory in some places and new[] in others. The trouble with this is that it becomes very easy to accidentally use the wrong dealloc function/operator. And it's not just that-- the languages are stylistically different and built on different paradigms. While interoperability with C code is certainly a selling point, Bjarne Stroustrup is explicit in his book "Programming: Principles and Practice Using C++" that references are intended to be used in lieu of pointers wherever possible. Indeed, if we include smart pointers for cases that absolutely _require_ pointers, C++ code need not ever use pointers. And that's by design. I suppose if someone really needed a data structure that does classic C pointer magic, that should be implemented as a pure C library and imported by a C++ class implementation if necessary. Okay, so what then-- why do language definitions actually matter anyway? Mixing the two languages certainly can work, technically. In my experience, doing so just does not result in a clean, maintainable codebase. When I have a job that uses C or C++, I prefer to work with people who have already learned this the hard way. It's just easier. That said, I was giving the author a hard time, as one often does in UA-cam comments. When I see this in the wild professionally, I don't call people out on it. I just ask questions about why things were done in a certain way when the time is right. Sometimes there's a good reason for it. Often people learn on their own.
The Raspberry Pi 400 is a nice looking system. It's a modified Pi 4 in a nice keyboard shell. But alternatively, you could get a refurbished laptop or some used I5/I7 from Walmart, or some other place.
Tanks, this will get me going on developing some C/C++ programming. Command line tip. Use tab key to expand command and file names. Saves me from writing commands and file names wrong. Arduino IDE are also going to have support for the nano, and Arduino are based on gcc, like this. About the hardware connection, it can reset the computer from debug interface, no need to unplug it. Another tip, use two terminal windows and compile from one, and edit from the other. You can drag and drop, but from the same directory that you compile, you can use the cp command instead of the drag and drop. Previous commands are easy to reach by up arrow (or Ctrl-p for previous line). If you want some colour when editing etc, use Emacs as the editor. You could even use dired in Emacs to do the copying and running commands (a "terminal window"). Warning, you could be hooked, but I don't think that the learning curve are a bit high. :-) /* untested! Probably has bugs. :-) */ /* There are probably a better way of getting the constant */ #define SIZE_16 65512 /* scale value between min and max */ int scale(int value, int min, int max) { int scale = (max-min)/SIZE_16; return min + value * scale; }
Fun fact about the Power plug situation, Europe are looking in to the potential of a single standard of power and data connectors to reduce e-waste and apple really isn't happy about it.
Correction...they already had that, but their first attempt at it was an optional opt in thing I believe... and everyone, except apple, opted into the arrangement. It's only come up again because they're in the process of moving from micro USB to USB C. And regulators want to make the enforcement mandatory since they've given the industry enough time to adjust or something like that. Or that's what I found last time I looked into it. Edit: if you think I'm wrong. When was the last time a phone that wasn't apple branded had it's own unique charger cable
Ben, Try checking out the picotool command in Appendix B of the "Getting Started with Raspberry Pi Pico" documentation. It will let you load / verify & save programs to / from the pico over the usb port and get info about the program installed on the pico or info about the program in an .elf file. (Note picotool uses the .elf files rather than the .uf2 files). It does need you to put the pico into bootsel mode to use it though. Alternatively look at how to use gdb and openocd with the debugging port in chapter 5 of the same document. You can then load programs onto the pico while in gdb, run them, single step them, set breakpoints and do all the usual debugging stuff and you don't even have to press the bootsel button!
I think your laggy mouse could be a software thing but it reminded me of the last time my mouse went laggy; there was a cat hair stuck in front of the laser!
So the process on a full build Windows desktop is about the same as a device that cost less than the Win OS license? Win and win. Ben Curmudgeondorf rides again.
RE: The issue with having to unplug the Pico and plugging it back in to put it in to boot mode, perhaps you could do a video or something on making some kind of USB switch that sits between the Pico and the usb cable. That way you don't put stress on the connector on the Pico every time you want to put it in boot mode.
You can also wire a button between the RUN pin and ground to reset the pico. Same effect as un/replugging it, so holding boot select while doing this enters the mass storage mode.
The default dev environment for open source stuff hurts my head. It may be more setup, but a decent text editor with just a script to build (with transferring being part of the build process) is so much easier. That said, given how much easier the Python setup is, and Adafruit's mission statement, it's probably meant to be a teaching tool with micro-Python.
@24:35: The insert key doesn't switch between insert/overtype mode in most modern programs, including Microsoft VSCode, Microsoft Word, and Microsoft Notepad. It's not a Linux thing. You just come from the age of dinosaurs (as do I) where we grew up with that as the norm.
My first computer was an Atari 400. It has the worst keyboard ever. We ended up giving it away when I was a teen. Now I have an 800 with a proper keyboard in my collection.
I'm Brazilian, my name is Renan, I have an interest in learning web designer and programming in python, but I have nowhere to practice, I would like to have access to the raspberry pi, more here in Brazil with the current dollar quote, the equipment that was supposed to be easy access, very expensive, between R $ 500 and R $ 1000, with a minimum wage of R $ 1060, I am not able to acquire. would it be possible to help me in any way? I'm sorry for any typo I'm using google translator. I'm just asking for not having the conditions. Thanks in advance.
This things name is sooo Pokémon, I can see the cross promotion with Nintendo pikachu holding one and raising it above his head and saying “Pico Pi!” Then the Japanese announcer voice over and all the quick jump cuts to it doing stuff and a shot of pikachu providing it with 5v dc and it running a ws2382 led pattern that causes team rocket and half the kids in Japan to have a seizure and then the voice over “rasuberri pi (pause then pikachu again) Pico Pi!”
Ben Heck's brilliance showed in just under 3:30. He even knew that the computer (android) went to the wrong place for information. Reprogram Data? I'd like to se that video.
Ben, in USA , generally we say S N E S, in UK, they generally tend to say sness, but just because a majority does things one way doesn't mean you have to also. Just wanted to let you know the common methods of saying it , based on british vs american popular pronunciations. Anyone who says one is right and the other is wrong needs to think about the fact that there are over 12 different pronunciations of same words, in all english speaking regions.
The pico SDK is using CMake and other standard programming tools. Not as easy to get going as Arduino but I think Visual Studio Code itself is much better in my opinion.
I think the Pico has exposed just how spoilt we've been with MCUs in recent years, that people complain about having to install and setup toolchains! Took years for the ESP to be supported in the Arduino IDE. On the plus side, there is an official Arduino RP2040 dev board in the making, so once they're done porting their bootloader and ecosystem over, I imagine it'll just be a case of dragging over an Arduino uf2 over once and be able to program it from the Arduino IDE from then on. What excites me for the RP2040 is the possibilities for things like emulation. Someone's already ported a BBC Micro and a ZX Spectrum emulator, and there's even a demo with the Pico driving 1080p60 over VGA. It's worth looking at the datasheet, because along side the PIO peripheral, there are also other programmable peripherals such as an Interpolator and an Integer divider. My biggest gripe is the lack of hardware floating point, but I imagine the M0 was chosen over M4 for cost reasons. Hopefully there'll be an RP2044 in the future.
I have never felt more connected to you than when you said you bought something because you wanted it!
I'm clueless when it comes to this level of tech. I have no idea what you're doing or why you're doing it.. But I come to listen to you speak. You entertain like no other Benrith.
"From spark fun". Pretty hard flex there. We get it, your flush with cash.
Lol
tbf in the Atari one chip portable video he reproduced an Adafruit powerboost 1000 on the board. those tiny dickens are sold at €25.
@@waltercomunello121 if anyone deserves it it's an engineer like Ben. Was just laughing to myself because I know how crazy the spark fun markup is.
@@Omega-Nine I'm happy paying for the markup when they provide the documentation/libraries/tutorials/dev boards etc, well worth it to me :) (saves me time, I can always get more money... can't get more time :P)
That's the moment you attack and not the 10 foot television? Lol
The "Laggy" mouse is due to the polling rate, I'm 90% sure that there is an option to change it in the boot config.
a low polling rate would make it move too fast and lack precision, not add a significant delay (he's not playing counter strike)
Came here to say that, had this same problem with a regular pi4 and had to change options just to make it usable.
Setting hdmi_enable_4kp60=1 in the /boot/config.txt is how I got past this 'laggy mouse' issue.
Thanks I'll check it out!
@@piratesephiroth there will be. lets say the polling rate is 10hz (really low for the sake of argument). whenever you move your mouse, there will be between 0-100ms of latency, depending on the last time the mouse polled.
Ben: Unboxes new computer and is writing, compiling and running code in 30 mins.
Also Ben: Complains that it took him 30 mins.
@27:02 On The Amp Hour ep. 529, the folks from the Raspberry Pi Foundation said (at @23.56) it was specifically just to keep the cost down
Could have left pads to solder your own though
@@smartroadbiker Oh absolutely they should have. My guess was it was to make sure the item didn't look "unfinished"
Love your videos. Always nice to see your channel on my notifications.
Couldn't we add some copy command in the make file? (assuming the path the little pi gets mounted to does not change)
Yes. And... (top tip) if you create a folder on your home directory called bin it will be searched before the default executable places. So then, all the make script has to do is make the binary an executable (chmod +x) and copy it to ~/bin/ and you're done! 👍
Ben, you should teardown the cheapest toaster on Amazon.
OK.
Initialisms are when you read each letter like FBI. Where an acronym is what you pointed out with laser. I guess it depends on whether you think SNES is an acronym or initialism. Because it's always written in all caps, I lean towards it being an initialism.
Yes, zed x, thanks for remembering 😁
Ben great video and topic. Is there a chance that you can get the camera a bit more facing the screen. On my 4KTV it still is a bit difficult to read. Thanks
Your shows are so much fun to watch. Love the quirkiness. Btw it is pronounced pee-ko. Siri told me so.
I say SNES, not ESS ENN EEE ESS
That Geordi joke was hilarious
I say super N E S.
Hey you got yourself a blue mat 😁 I really have to get myself a raspberry pi one of these days
I would like that the mouse cord is short, but even better if wireless.
I love these cheap little computers, but I feel like my poor impulse control is being exploited. I don't. Need. Another. Sort of workable PC. Damnit.
@@wesleyswafford2462 It's $100 kit on Sparkfun, $75 for just the computer.
I ordered the kit and 2 pico boards from another site....don't know the first thing about micro controllers but it's a place to start. Have played with pi boards for years though. Ben makes these things look "approachable".
@@joshsamuelson1793 "accessible' as well. It's nice to see it DO stuff after 300 rounds of 'let's blink an LED!', and that's the extent of the video.
Nice Gremlins Laserdisc. I thought I was the only dork with laserdiscs
Can I use ZMAC on the Pico? Just wondering. From an old Z80 coder. Loved the video Ben!!
You can use macro assemblers, but it's not a z80 so probably not that one. The Pico has ARM CPUs and its own PIO. Alternatively you could emulate a z80, but an FPGA based board might do that better.
@@0LoneTech FPGAs are a couple orders of magnitude more expensive though. If there's a decent software emulator then Pi Zero or Zero-W may be a better fit.
@@khatharrmalkavian3306 About one order, actually. Compare e.g. Fomu, TEC0117 and Papilio One. Typically a lot more work to get started, though.
Did you get the Menard's tablet screen working?
Why are you not using the pico editor?
The British have power switches on their wall sockets though, so why would you need another one on your computer?
I wonder if you could add a message and a script to the build program that after it has finished compile it asks you to hold reset and boot. then it looks for /dev/piko/and when it finds it just auto copy the compiled code over to it. then ask you to reset the piko.
I ordered one of these and was very impressed, my only issue was the dp cable was to short to sit on the floor in front of the TV haha so I ordered a longer one within hours of opening it. So I could pretend I was a kid in the 80s again. There is also a good hat that mounts the edge connector sideways so you can use the existing hats, I have my sense hat looking like an expansion cart out the back.
Wireless mouse lag is a bug for some wireless mice; append "usbhid.mousepoll=0" to the single line found in /boot/cmdline.txt
9:04 is it weird that Ben sounds like a speech syntisyser? :) or did they model them after him?
You have a Makefile, why not add an install step to `cp` the binary to the destination path?
-Dx
i was about to make the same comment.
I really don't know how the device works but as a quick hack you can write a quick udev rule file (usually dropped in /etc/udev/rules.d/) to execute a script which will copy *.uf2 to the mounted path in a target build so you can just click compile, press your magic button and it's on there.
I'm sure there is a better way to do it but it should work.
Pimoroni just came up with a very neat little add on button solution for the reset issue but YT won't let me post the link here.
3:20: I'm not a kid anymore, but after gifting my wife a photo book of her home country Bosnia, I was looking through that and some photos were really small, so instinctively I tried touching them to enlarge them. I felt weird after that happened.
"I once again have to set a path and then execute code from a terminal?"
*flashback to all the times Ben did things from a cmd.exe prompt because reasons* ;)
Ben has always been pretty salty about Linux, but I forgive it because he does fun things. :P
"Almost a gig of updates? Yeah, this is so much better than Windows. /s" - Except that one command is also updating all the apps too. In fact, that's most of what it's doing - all without going to a bunch of individual websites to get varying updated installers of questionable security. This makes it exponentially faster and easier to keep they system secure and keep the apps up to date.
Peeping the rockband drums 👀
Before you finished your sentence about Geordi La Forge, I was thinking: "why in the hell would anyone go to Geordi for relationship advice?"
Didn't really get the Ben Heck thing watching the BHS, but this channel has switched me on to it (baby). I've been going back to watch BHS episodes with new appreciation of the Heck content. (Even watched the junk mail video 👍)
Raspberry pi's always have trouble with wireless mice in my experience until you edit some text file or other.
Could you program a pico to generate a password and then send it when you push the button? Maybe I will try to get it to just send a password first when the button is pushed then make it generate and save with different numbers of button clicks later? Thoughts?
OpenOCD can do SWD or JTAG directly over raspberry pi GPIO. STM32 works, but still missing a Pico to test.
Rather than unplugging and plugging in… can you put a power switch on a USB cable? would breaking the +5V wire be enough, or would the signal wires need to be disconnected too?
hey ben, i think in geany there is a "set build commands" in the preferences, you can place the cmake and make commands and will automatically execute when you press f5( i think f6 or f8).... you dont need to use terminal to make and cmake
Ah cool thanks
How to debug using ST Link and SWD pins using any IDE ?
You can use ST-link V2 or V3 to program/debug all STM32 microcontrollers.
@@malgailany yes i am a STM32 developer.......but then have no clue what IDE would support the driver ....... i have using CooCox CoIDE and KEIL
SWD can program, reset and debug
This does NOT look like it would be a good fit for a small, remote controlled robot. I'm swinging back to the Pi 0 W. Can it be turned on/off without a big overture?
I’ve been using vscode and swd. Once configured it puts your binary into the flash.
You shouldn't have to drag and drop the UF2 file in the GUI - you could for example reset the Pico and then run "make && cp blink.uf2 /media/pi/RPI-RP2" (although you'll probably still get the pop-up each time the USB mass storage device connects). At least that's what I've done with Adafruit Metro boards which have a similar setup.
Loved the Iron Maiden !!!!!!
Ah i see, finally using an OS and not a game booter. :)
At 8:00 - OK, I'll bite. You *chose* to do that upgrade. _You_ did.
I got my Pi 400 from Sparkfun too - I bought it because it reminded me of my C64 and Amiga 1200 (keyboard computers). I noticed mine is actually made in Britain too.
Hey Ben do you think you could put the 400 into a mechanical keyboard?
Keyboardception?
@@khatharrmalkavian3306 Well, um... I didn't mean the ENTIRE pi 400, just the motherboard. But you're idea is totally next level.
I've wanted to embed a Pi in my old flatscreen TV for a while now, so it would be interesting to see a similar project like that.
I wonder if it would be easier to work with a regular Pi4 or with a CM4.
@@khatharrmalkavian3306 One thing that's very cool about the 400s board is that it's so flat, but still has all the connectors. The actual PI4 is pretty tall and I'm not sure it would make a good keyboard. The CM4 would work size wise but it would be quite a pain to put an HDMI port on it.
@@megan_alnico Yeah, I was thinking that with the Pi4 he'd heck the ports off it and run wires to the edges of the case. With the CM4 it would be easy to fit it in there, but then he'd have to make his own CM4 connector to run the ports out.
You can't count the o/s update as part of the setup for the Pico. Also, more difficult than a Windows update? You've been lucky with your Windows updates. I've suffered through multiple reboots, totally killing the install, near-infinite spinner, lying about time to update, taking forever even on an i7 with a SSD as the only drive in the box...
Using SWD debug pins for programming would be soo much nicer than using the drag and drop method
You could also pronounce pico "pick-oh" like piccolo and piss both parties off 😁
You.. you absolute MONSTER!
Now this I support.
@@khatharrmalkavian3306 I.. Mean would Malkav have wanted it any other way?
make a usb passthrough board with a button to interrupt power ( ie: unplug - replug ... gonna have to use a button thats normally closed) ... they also make usb hubs with on/off switches for each port which would be doing the same thing. check amazon.
Why complain about "drag and drop" of the .uf2 file and the hidden windows etc when you could just `/bin/cp possums.uf2` to the mount point of the Pico's mass storage device from the shell?
As with most micros, one ADC converter and a mux to select channels.
Some of the newer Teensys actually have 2
Just adding OTOH:
- laggy wireless mouse could be due to interference. I have to use an extension cable with my desktop computer for a logitech receiver
- I would create a bash file that builds, waits for a key and copies the elf to the usb drive
- hopefully there will soon be support in PIO for the new board. If you haven't tried PlatformIO, it will change your world
- not sure, but having include statements probably means you don't need to add the files to the makefile
It is surprising that software wasn't just a package in the software manager.
Hey Ben, Cool video! Perhaps I missed it, but did you seed the random number generator before all of those rand calls?
People who mix "C" and "C++" are going to a special kind of hell one day
C++ is designed for - and regularly used for - compatibility with C libraries and legacy code. Many modern libraries are written in C and then sometimes given a few wrapper classes for C++ users, the idea being that the library can then be used with either language.
WinAPI, for example.
@@khatharrmalkavian3306 While that is true, C++ code that mixes paradigms can lead to code that is... ehm... unreliable... For example, I've seen C++ codebases that use malloc() to allocate memory in some places and new[] in others. The trouble with this is that it becomes very easy to accidentally use the wrong dealloc function/operator.
And it's not just that-- the languages are stylistically different and built on different paradigms. While interoperability with C code is certainly a selling point, Bjarne Stroustrup is explicit in his book "Programming: Principles and Practice Using C++" that references are intended to be used in lieu of pointers wherever possible. Indeed, if we include smart pointers for cases that absolutely _require_ pointers, C++ code need not ever use pointers. And that's by design. I suppose if someone really needed a data structure that does classic C pointer magic, that should be implemented as a pure C library and imported by a C++ class implementation if necessary.
Okay, so what then-- why do language definitions actually matter anyway? Mixing the two languages certainly can work, technically. In my experience, doing so just does not result in a clean, maintainable codebase. When I have a job that uses C or C++, I prefer to work with people who have already learned this the hard way. It's just easier.
That said, I was giving the author a hard time, as one often does in UA-cam comments. When I see this in the wild professionally, I don't call people out on it. I just ask questions about why things were done in a certain way when the time is right. Sometimes there's a good reason for it. Often people learn on their own.
I put C++ in the thumbnail because it looks better visually than just C :)
Proof that C++ is objectively prettier than C.
You can play modern games on linux with wine\proton (unless game has super intrusive malware like anti-cheat\DRM)
Pronouncing it as you do, Ben, it makes it sounds like it is a device to measure mults
The Raspberry Pi 400 is a nice looking system. It's a modified Pi 4 in a nice keyboard shell. But alternatively, you could get a refurbished laptop or some used I5/I7 from Walmart, or some other place.
Tanks, this will get me going on developing some C/C++ programming.
Command line tip. Use tab key to expand command and file names. Saves me from writing commands and file names wrong.
Arduino IDE are also going to have support for the nano, and Arduino are based on gcc, like this. About the hardware connection, it can reset the computer from debug interface, no need to unplug it.
Another tip, use two terminal windows and compile from one, and edit from the other.
You can drag and drop, but from the same directory that you compile, you can use the cp command instead of the drag and drop. Previous commands are easy to reach by up arrow (or Ctrl-p for previous line).
If you want some colour when editing etc, use Emacs as the editor. You could even use dired in Emacs to do the copying and running commands (a "terminal window"). Warning, you could be hooked, but I don't think that the learning curve are a bit high. :-)
/* untested! Probably has bugs. :-) */
/* There are probably a better way of getting the constant */
#define SIZE_16 65512
/* scale value between min and max */
int scale(int value, int min, int max) {
int scale = (max-min)/SIZE_16;
return min + value * scale;
}
Fun fact about the Power plug situation, Europe are looking in to the potential of a single standard of power and data connectors to reduce e-waste and apple really isn't happy about it.
Correction...they already had that, but their first attempt at it was an optional opt in thing I believe... and everyone, except apple, opted into the arrangement.
It's only come up again because they're in the process of moving from micro USB to USB C. And regulators want to make the enforcement mandatory since they've given the industry enough time to adjust or something like that.
Or that's what I found last time I looked into it.
Edit: if you think I'm wrong. When was the last time a phone that wasn't apple branded had it's own unique charger cable
You can do pixel doubling on raspberry pi OS which definitely helps
Saw that option. Good to know. Thanks!
Ben,
Try checking out the picotool command in Appendix B of the "Getting Started with Raspberry Pi Pico" documentation. It will let you load / verify & save programs to / from the pico over the usb port and get info about the program installed on the pico or info about the program in an .elf file. (Note picotool uses the .elf files rather than the .uf2 files). It does need you to put the pico into bootsel mode to use it though.
Alternatively look at how to use gdb and openocd with the debugging port in chapter 5 of the same document. You can then load programs onto the pico while in gdb, run them, single step them, set breakpoints and do all the usual debugging stuff and you don't even have to press the bootsel button!
P.S. I was mistaken, picotool can handle .uf2, .elf or .bin files.
I think your laggy mouse could be a software thing but it reminded me of the last time my mouse went laggy; there was a cat hair stuck in front of the laser!
28:35 Light Oscillation by Stimulated Emission of Radiation
Currently in the middle of that Star Trek TNG episode with Data and Lt. Jenna D'Sora.
So the process on a full build Windows desktop is about the same as a device that cost less than the Win OS license? Win and win. Ben Curmudgeondorf rides again.
I really love the punk style that Ben brings to his videos!
If you can say it as a word, it's an acronym. If you can't say it as a word its an initialism.
Not even the power of Reading Rainbow was able to make the Pico worth its $4 price tag.
Cool video. The pi 400 has a good sized heatsink so a 2GHz overclock is easily achievable. Gives it a decent bit extra waft :)
key board layout is wonky. I had to set mine to macbookPro to get the function keys to work.
You can fix the mouse lag
Yum, love a good raspberry pie
RE: The issue with having to unplug the Pico and plugging it back in to put it in to boot mode, perhaps you could do a video or something on making some kind of USB switch that sits between the Pico and the usb cable. That way you don't put stress on the connector on the Pico every time you want to put it in boot mode.
They make pluggable switches. I use them for lamps and my ras pi.
You can also wire a button between the RUN pin and ground to reset the pico. Same effect as un/replugging it, so holding boot select while doing this enters the mass storage mode.
Use gdb's load command to upload the elf file on the μC
The default dev environment for open source stuff hurts my head. It may be more setup, but a decent text editor with just a script to build (with transferring being part of the build process) is so much easier.
That said, given how much easier the Python setup is, and Adafruit's mission statement, it's probably meant to be a teaching tool with micro-Python.
@24:35: The insert key doesn't switch between insert/overtype mode in most modern programs, including Microsoft VSCode, Microsoft Word, and Microsoft Notepad. It's not a Linux thing. You just come from the age of dinosaurs (as do I) where we grew up with that as the norm.
It's named the Pi 400 because it's like the Acorn A300, but it's a Pi 4.
I lol'd at the 400 bashing :)
My first computer was an Atari 400. It has the worst keyboard ever. We ended up giving it away when I was a teen. Now I have an 800 with a proper keyboard in my collection.
I'm Brazilian, my name is Renan, I have an interest in learning web designer and programming in python, but I have nowhere to practice, I would like to have access to the raspberry pi, more here in Brazil with the current dollar quote, the equipment that was supposed to be easy access, very expensive, between R $ 500 and R $ 1000, with a minimum wage of R $ 1060, I am not able to acquire. would it be possible to help me in any way?
I'm sorry for any typo I'm using google translator. I'm just asking for not having the conditions. Thanks in advance.
This things name is sooo Pokémon, I can see the cross promotion with Nintendo pikachu holding one and raising it above his head and saying “Pico Pi!” Then the Japanese announcer voice over and all the quick jump cuts to it doing stuff and a shot of pikachu providing it with 5v dc and it running a ws2382 led pattern that causes team rocket and half the kids in Japan to have a seizure and then the voice over “rasuberri pi (pause then pikachu again) Pico Pi!”
IMO If a capitalization has any vowels it is usually adopted as an acronym.
Ben Heck's brilliance showed in just under 3:30. He even knew that the computer (android) went to the wrong place for information. Reprogram Data? I'd like to se that video.
HAHAH, mable bacon teaches typing, brought back some memories
Ben, in USA , generally we say S N E S, in UK, they generally tend to say sness, but just because a majority does things one way doesn't mean you have to also. Just wanted to let you know the common methods of saying it , based on british vs american popular pronunciations. Anyone who says one is right and the other is wrong needs to think about the fact that there are over 12 different pronunciations of same words, in all english speaking regions.
Have you thought about a Patreon Account? Just asking. Thanks and keep up the good work.
The pico SDK is using CMake and other standard programming tools. Not as easy to get going as Arduino but I think Visual Studio Code itself is much better in my opinion.
I think the Pico has exposed just how spoilt we've been with MCUs in recent years, that people complain about having to install and setup toolchains! Took years for the ESP to be supported in the Arduino IDE. On the plus side, there is an official Arduino RP2040 dev board in the making, so once they're done porting their bootloader and ecosystem over, I imagine it'll just be a case of dragging over an Arduino uf2 over once and be able to program it from the Arduino IDE from then on.
What excites me for the RP2040 is the possibilities for things like emulation. Someone's already ported a BBC Micro and a ZX Spectrum emulator, and there's even a demo with the Pico driving 1080p60 over VGA. It's worth looking at the datasheet, because along side the PIO peripheral, there are also other programmable peripherals such as an Interpolator and an Integer divider. My biggest gripe is the lack of hardware floating point, but I imagine the M0 was chosen over M4 for cost reasons. Hopefully there'll be an RP2044 in the future.
Why type touch to create an empty file when you can do >file even shorter 😄
I'm glad I'm not the only one who sings made up songs to my cat.
Oooo it's the picrosoft 400
But can it be programmed with BASIC? :O
Am I the only one wondering why keyboards favor delete over insert?
"Quick brown fox" is so played out.
_Sphinx of black quartz, judge my vow_
it's missing an f
@@waltercomunello121 ^of
Pack my box with five dozen liquor jugs…
@@moosemaimer I didn't see that lmao
Setting up C dev on the Pico was such a drag, I ended up installing mecrisp Forth instead :)
I use Nanos and esp32 mcus exclusively