Raspberry Pi Pico VGA video output using only resistors

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 พ.ค. 2024
  • Building VGA output from a Raspberry Pi Pico. The Raspberry Pi Pico is amazing.
    Sections of the video so you can skip ahead
    00:00 Intro
    01:06 Pico Setup
    03:35 VGA Resistor DAC
    08:43 Program and Demo
    In this video I go through building the VGA output circuit using only resistors. It has a 5 bit DAC on each of the red, green and blue lines which means it should have 32,768 individual colours.
    In the video I mislabel 2 resistors. The resistor ladder should be 499 ohm, 1K ohm, 2K ohm, 4.02K ohm and 8.06K ohm in that order. It's supposed to double each time, the linked schematic in the description is accurate here datasheets.raspberrypi.org/rp...
    The full schematic just for the VGA output including RGB, HSYNC and VSYNC is here • Schematic for Raspberr...
    The demo code comes from the GitHub repo for RaspberryPi.org see the links below.
    Please note this video is not sponsored in any way. There is a follow up video where I fix some of the colour issues I mention in this video. See the end card for the link.
    Useful Links
    Setup and getting started with Raspberry Pi Pico
    www.raspberrypi.org/documenta...
    Circuit Diagram for VGA output is here
    datasheets.raspberrypi.org/rp...
    Github Repos you need
    github.com/raspberrypi/pico-p...
    github.com/raspberrypi/pico-e...
    BuyAPi.ca where I bought my Raspberry Pi Pico
    www.buyapi.ca/product/raspber...
    VGA Female to Female Gender Changer
    www.amazon.com/VCE-Changer-Co...
    Assorted Resistors and Breadboard Kit
    www.amazon.ca/Assortment-Resi...
    7" VGA and HDMI screen (like the one I used in this video)
    www.amazon.ca/Display-Monitor...
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 167

  • @botlarry4437
    @botlarry4437 3 ปีที่แล้ว +79

    Ok good weve learnt how to blink the led now lets try building a VGA driver

  • @mk6595
    @mk6595 ปีที่แล้ว +12

    Using standard resistor values:
    two 1k in parallel = 500 ohms
    two 1k in series = 2k
    1.8k + 2.2k in series = 4k
    3.3k + 4.7k in series = 8k

    • @larrybud
      @larrybud 4 หลายเดือนก่อน

      I'm thinking just some trimmer pots.

    • @duckyblender
      @duckyblender 4 หลายเดือนก่อน +1

      @@larrybudyou’re gonna need a lot of them

  • @spotterinc.engineering5207
    @spotterinc.engineering5207 3 ปีที่แล้ว +60

    Good to see a RP Pico project that is more than a blinking LED. Thanks for making this one. I hope we will see more complex projects like this from you!! :) Plus it is great to see a C++ project too.

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว +1

      Glad you like it! Let me know if have any ideas for content you want to see.

    • @paulmaydaynight9925
      @paulmaydaynight9925 3 ปีที่แล้ว +2

      @@robingrosset6941 an idea, i still want someone to Actually Try to add the original (everspin now) MR10Q010, 1Mb QSPI MRAM chip and bench it against the generic slower psram, it should be good for vga buffers running in it's QSPI Read and Write at 52MB/sec mode, it even has real original 'run in place' mode. i dont know if the Pico has the 4 QSPI useable spare pins though !

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว +4

      Hi Paul, the Pico already has an on-board 2MByte (16M bit) QSPI Flash which is speed matched to the CPU so it can do 66MB/s. I can try benching that if you are interested to see if its running full speed but I think this is likely to be faster than adding an additional external QSPI flash. The data sheet I found for the onboard flash is here www.mouser.ca/datasheet/2/949/w25q16jv_spi_revg_03222018_plus-1489727.pdf

    • @paulmaydaynight9925
      @paulmaydaynight9925 3 ปีที่แล้ว +2

      @@robingrosset6941 www.mouser.co.uk/datasheet/2/144/MR10Q010_Datasheet-1218962.pdf
      ...The Write Data Bytes (WRITE) command allows data bytes to be written starting at an address specified by
      the 24-bit address. The data bytes are written sequentially in memory until the write operation is terminated by bringing CS high. The entire memory can be written in a single command. The address counter will
      roll over to 0000h when the address reaches the top of memory.
      MRAM is a random access memory rather than a page, sector, or block organized memory so it is ideal for
      both program and data storage. Unlike EEPROM or Flash Memory, MRAM can write data bytes continuously
      at its maximum rated clock speed without write delays or data polling. Back to back WRITE commands to
      any random location in memory can be executed without write delay. ...

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว +2

      @@paulmaydaynight9925 I get it now. Let me figure that out. The use case is something like fast buffering of video data?

  • @PhG1961
    @PhG1961 3 ปีที่แล้ว +1

    I'm impressed ! Great ingenuity !

  • @Wander4P
    @Wander4P ปีที่แล้ว +3

    You can use a R2R resistor ladder as the voltage divider for the 5 bit DAC just as well

  • @abymohanan9403
    @abymohanan9403 2 ปีที่แล้ว

    Thank you so much for this video

  • @p43lz3r
    @p43lz3r 11 หลายเดือนก่อน

    Great, thanks a lot for sharing this!!

  • @iwir3d
    @iwir3d 3 ปีที่แล้ว +8

    Oh wow, I was just watching Ben Eater's video on building a graphic's card and was thinking wow that's alot of IC's I bet the pico can handle that.... then I see this... Well done!

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว +2

      Pico is amazing. Power + Price is great.

    • @haakonness
      @haakonness 3 ปีที่แล้ว +1

      @@robingrosset6941 Almost as good as ESP32 with dual core 240mhz

    • @eanerickson8915
      @eanerickson8915 3 ปีที่แล้ว

      You can do everything in software, its called bit banging. Eventually your processor wont be able to do anything because it's costly.

    • @paulmaydaynight9925
      @paulmaydaynight9925 3 ปีที่แล้ว

      @@eanerickson8915 well.... the obvious progression is (to me) pick an old well documented pci card found in every old pc/draw/dump reclaim all the components then do a Ben Eater to build it back up on a small breadboard/diy pcway pcb in different simple configurations where you use its bits as you wish...

    • @tunahankaratay1523
      @tunahankaratay1523 3 ปีที่แล้ว

      @@haakonness It's actually better for display interfaces thanks to its PIO. Note that the RP2040 can also overclock to as much as 420MHz.

  • @luisinistrosa4399
    @luisinistrosa4399 2 ปีที่แล้ว

    Thank you so much excelente video felicitaciones

  • @almosh3271
    @almosh3271 3 ปีที่แล้ว +3

    Although I wouldn't build such a circuit, but your explanation were great and right to the point. I truly enjoyed watching this informative clip very much. Keep up the good work.

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว

      Thanks for that. The circuit design is not mine its from the Hardware Design Guide for RP2040. datasheets.raspberrypi.org/rp2040/hardware-design-with-rp2040.pdf
      One piece thats maybe not clear in the diagram is the 75 ohm impedance inside the VGA monitor going to ground which is what makes the DAC produce the right-ish voltage levels.

  • @MultiCraftTube
    @MultiCraftTube 3 ปีที่แล้ว +1

    Great project! A cool feature of the Pico are the fast 12 bit ADCs. Gonna build an USB oscilloscope for audio circuit debugging.

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว

      Cool idea!

    • @kreynolds1123
      @kreynolds1123 3 ปีที่แล้ว

      In theory can a circuit be made with two 12 bit ADC such that you effectivly have a 24 ADC?

    • @kreynolds1123
      @kreynolds1123 3 ปีที่แล้ว

      a fair LC meter would be cool too.

    • @MultiCraftTube
      @MultiCraftTube 3 ปีที่แล้ว

      @@kreynolds1123 you could for shure hack around to gain some extra bits. But the circuit would be way more complicated (and slower) than an extra ADC IC. But as 12 bit is already beyond mV accuracy, why would you need it anyways 😉

  • @shreyasmurali2836
    @shreyasmurali2836 11 หลายเดือนก่อน

    Nicely done. I can see (from the amazon link) your display's native resolution is 1024x600 pixels. Could you tell me what screen resolution and refresh rate were the demos driving the VGA signal at ? Do the display controllers auto-scale up/down the incoming signal's resolution to fit the display or throws error out (like flicker/blank screen) when there is a mismatch ?

  • @CatalynnBboy
    @CatalynnBboy 3 ปีที่แล้ว +2

    Well done!

  • @facist_monk
    @facist_monk 3 ปีที่แล้ว

    good video, is there any way to turn old VGA monitors into a digital clock display using picopi, i know it will consume more power but just for a school project

  • @Theineluctable_SOME_CANT
    @Theineluctable_SOME_CANT 2 ปีที่แล้ว

    Great content!
    Just what I was looking for.

    • @MichaelKingsfordGray
      @MichaelKingsfordGray ปีที่แล้ว

      Some can't summon the minimal courage to use their real adult name.

  • @noutram1000
    @noutram1000 3 ปีที่แล้ว

    Hi, it would be great to dig a little deeper into how the Pico code generates those sync signals, which I'm guessing uses the new programmable i/o, and puts out a bitmap...

  • @deanhuff123
    @deanhuff123 2 ปีที่แล้ว +1

    Really neat demo, thanks for making this video. Question, I've been working on an EINK type writer project and found that SPI to a parital refresh eink display is slower than advertised. There are some Eink displays that support the I80 protocol (which appears to be a 24 pin interface), can the pico support this?

    • @robingrosset6941
      @robingrosset6941  2 ปีที่แล้ว +1

      So Pico has 26 usable I/Os (actually more if you use all RP2040 pins) but using all them is likely not great for a project as you usually need to use pins for other things too.
      I looked up I80 protocol, I've never used it but its basically a parallel interface typically 8 or 16 bits wide sometimes 18 bits wide. It has 3 or 5 pins for control lines.
      I think I would try using a 8 bit or 16 bit interface, the pico should be good for that depending on how many other pins you need. I can't think of a reason it would not work but I don't know of a library for I80.

  • @paulwomack5866
    @paulwomack5866 3 ปีที่แล้ว +1

    It would have been good to see some detail on how you designed and coded this

  • @lawrencedoliveiro9104
    @lawrencedoliveiro9104 3 ปีที่แล้ว +1

    4:34 Put two 1KΩ resistors in parallel? Similar 2 or 4 2KΩ resistors in series to make 4KΩ and 8KΩ?

  • @karlinet
    @karlinet ปีที่แล้ว

    Gracias por compartir. ¡Suscrito! ☺️

  • @Wander4P
    @Wander4P ปีที่แล้ว +2

    If you're wondering why you can only get certain resistor values, electronic components are standardized to a logarithmic scale of values known as E series.

  • @sirsinnes
    @sirsinnes 2 ปีที่แล้ว +1

    How high do you think you could push the pixel clock with this? I am thinking that the Pico might be just the thing to use as a test pattern generator for CRT televisions, which ties into another project of mine. I'd be using NTSC timings instead of VGA, and I'd be looking at making a single luminance signal with sync instead of RGBHV (no chroma necessary), but what I'd really like is to be able to use a wide variety of pixel clocks as the basis for a TVL generator. Any thoughts would be appreciated!

    • @massimookissed1023
      @massimookissed1023 ปีที่แล้ว +1

      CRT TV luminance is under 6MHz, so a Pico that can achieve 25MHz VGA could easily do TV.

  • @ElectronicIngDiaz0786
    @ElectronicIngDiaz0786 3 ปีที่แล้ว

    Excellent video. I have a question: ¿What is the ide, you using for programing the raspberry pi pico board?

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว +1

      Its a text editor called VSCode. code.visualstudio.com/
      It is really good. Works with lots of different languages and will run on Linux, MacOS and Windows.

  • @michaelclement1337
    @michaelclement1337 3 ปีที่แล้ว +2

    I recall a long time ago there was a computer that's CPU spent its entire resource running the video and program code was only executed during the blanking time. I forget the brand/model but 1MHZ was a common speed in those days

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว +4

      I remember the ZX81 which was my first computer. In had fast and slow modes. In fast mode it would not bother updating the screen at all so it would go blank until it finished.

    • @michaelclement1337
      @michaelclement1337 3 ปีที่แล้ว

      @@robingrosset6941 yes that’s right the ZX80/81, your got a good memory

    • @paulmaydaynight9925
      @paulmaydaynight9925 3 ปีที่แล้ว

      @@robingrosset6941 ^_~ perhaps someone will add something pico to this kit for fun.
      Can You Build A Brand New ZX Spectrum From 100% New Parts?
      th-cam.com/video/VFLJLxDTEkQ/w-d-xo.html

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว +2

      @@paulmaydaynight9925 I admit I had an eBay accident and have 4 ZX spectrums in my basement and quite a few ZX81s. I am pretty sure a Pico could emulate a ZX81. :-)

  • @jensschroder8214
    @jensschroder8214 3 ปีที่แล้ว +13

    2x 1k Ohm in parallel make 500 Ohm. 2x 1k in serial make 2k. 2x 8,1k parallel make 4k

    • @dieSpinnt
      @dieSpinnt 3 ปีที่แล้ว +2

      For 2 parallel resistors R=(R1*R2)/(R1+R2), so your last calculation is wrong. It is 4.05k
      For n parallel resistors 1/R = 1/R1 + 1/R2 + 1/R3 ... + 1/Rn

    • @derekjc777
      @derekjc777 2 ปีที่แล้ว

      @@dieSpinnt But if R1=R2=…=Rn you just reduce the resistance by n. It’s just Kirchhoff’s laws.

    • @dieSpinnt
      @dieSpinnt 2 ปีที่แล้ว

      ​@@derekjc777 Sure, Captain Obvious.
      And LOL, wtf do you think the "special case" formula (the first one I posted) means? The second one is the general Kirchhoff formula for a parallel resistor network. This is your 2n case.
      P.S.: Your gibberish isn't even a formula ... besides your "reduce" gave me a good laugh, thank you. Very mathematic ... and scientific! :o)
      P.S.S: It is very boring to repeat basics that are written on page two of every electronics formula collection ...
      P.S.S.S: And it is all my fault. I should've written: LOOKUP Resistor Networks and Kirchhoff's Law in WIKIPEDIA! This is just a waste of time, here on TH-cam, don't you think derekjc? :) Anyway, thanks for your comment.

  • @paulmaydaynight9925
    @paulmaydaynight9925 3 ปีที่แล้ว +3

    it's a shame they didn't build it against the M4 but still a useful board.
    fun fact: the original (integer) 25Hz/50Hz "SVGA" was a UK Inmos invented chip/pcb for the transputer that IBM licenced (along with the other inmos IP, japan got the original sram and related IP as you might expect today) for the x86 and never quite used it to it's fullest potential.

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว +2

      Agree, M4 would also have floating point unit... I think perhaps this was a price decision. Its still a good board for $4 in my opinion.

  • @tonyennis1787
    @tonyennis1787 2 ปีที่แล้ว

    So thanks for the VGA resiter ladder information. Where did you get the horizontal and vertical timing signals?

    • @robingrosset6941
      @robingrosset6941  2 ปีที่แล้ว +1

      the timing information is in the pico-extras scanline project here
      github.com/raspberrypi/pico-extras/blob/master/src/common/pico_scanvideo/vga_modes.c
      This tells you the supported modes. Is this what you were asking?

    • @tonyennis1787
      @tonyennis1787 2 ปีที่แล้ว

      ​@@robingrosset6941 Yah I think so. Back in the "Cheap Video Cookbook" days, getting the h and v timing right was always "a matter of great nicety".

  • @alrichmond4341
    @alrichmond4341 3 ปีที่แล้ว

    Impressive.

  • @maximus6884
    @maximus6884 2 ปีที่แล้ว

    How can we program the Rpi Pico directly via the terminal without pressing the button always?

  • @dieSpinnt
    @dieSpinnt 3 ปีที่แล้ว +1

    Nice Project, subscribed.
    The ATmega32U4 comparison is not meant to be serious, is it? 32 against 8-bit. Apples and pears:) Better choose another ARM M0 like STM32F0xx. Oh wait, Dual Core and 133MHz. So better choose something like STM32F446 for the comparison. For me you don't need a comparison at all. The right tool for the right job ... what actually translates to experience and RTFM many, many times.
    Keep up the good work:)

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว

      there are a few microcontrollers like ESP32, STM32 and Teensy 4.0 which are more comparable. I wanted to make the point about the pixel clock and the price comparison MSRP for the Arduino vs Pico. Arduino are coming out with an RP2040 based board soon so I think we will see a lot more RP2040 boards.

  • @matiasvaldothebird4043
    @matiasvaldothebird4043 7 หลายเดือนก่อน

    hi, vsynk and Hsynk resistor?

  • @JamesPetersLFC
    @JamesPetersLFC 3 ปีที่แล้ว

    Hey, I don't suppose you managed to get this running on a modern LCD monitor through D-Sub? I just got the official VGA demo board and can't seem to get any of the demos to run on it.

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว +1

      I did, see this video th-cam.com/video/yjW6tPw4anw/w-d-xo.html I connected it to a new Asus 28" 2K monitor via D-Sub and it worked really well. I have just ordered a VGA demo board myself from Pimoroni. (just came back in stock) so I was going to try that out. Which board do you have?

  • @RockyBMusic
    @RockyBMusic 2 ปีที่แล้ว +1

    well, yes, nice job.
    maybe it would have been easier if you had used an R2R digital-to-analog converter for the circuit. In this case, only 2 resistance types would have been needed

  • @KroceBow
    @KroceBow 3 ปีที่แล้ว

    Very nice video! Do you think it would be possible to add a w5500 to the pico and receive an image(480px * 480px) over the network to output to to vga? Is the Pico under powered for that?

  • @zekstra78
    @zekstra78 2 ปีที่แล้ว +1

    1K is wide available resistor. For 500 ohms you just put two in paralel, tolerance increases, but hey... :-)
    It is also easy to make 2K, and 4k as 2.2k+1.8k or 2x 2k or just 4x 1k...

    • @JarppaGuru
      @JarppaGuru 5 หลายเดือนก่อน

      1ohm resistor exists you can make MATCH! lol and bcoz 1% from 1ohm is less than 1% 4k you going get real MATCH

  • @ernestuz
    @ernestuz 3 ปีที่แล้ว +5

    Isn't it possible to use a R/2R ladder for the DAC?

    • @peregreena9046
      @peregreena9046 3 ปีที่แล้ว

      Yeah, I been wondering the same.

    • @eFeXuy
      @eFeXuy 3 ปีที่แล้ว

      Yes

    • @HamsterSnr
      @HamsterSnr 3 ปีที่แล้ว

      Then only need 1k and 2k resistors.

  • @nexuzinnovation-com
    @nexuzinnovation-com 2 ปีที่แล้ว

    hi, can I use 4.2Ω to replace 4.02Ω resistor, and 8.2Ω to replace 8.06Ω resistors ? because 4.02Ω and 8.06Ω is hard to find, unless I serialize up several 1Ω resistors to form 4Ω and 8Ω.

    • @paulwratt
      @paulwratt ปีที่แล้ว

      they are _not_ 4 & 8 ohm, the resister ladder makeup is wrong, each set is supposed to be 2x the previous one, which means those 4 & 8 ohms should be 4k and 8k - you should reference some better docs for _actual_ proper VGA 5bit DAC/resister ladder, there are 100's of videos on the subject - that part of this video is _not_ correct

  • @pavloskairis9994
    @pavloskairis9994 3 ปีที่แล้ว +2

    @3:52 please correct your notes, the last two lines have 4.02k and 8.06k resistors.

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว +4

      TH-cam does not allow videos to be modified once published. The video description contains updated values highlighting the error and there is also an updated video here with the full schematic with correct resistor values. The updated video is linked with a card into the this video at the right timecode th-cam.com/video/i1AwtqPtfrQ/w-d-xo.html. if you click the information button at the timecode you indicate it takes you there.

  • @jugnu361
    @jugnu361 3 ปีที่แล้ว

    How To Debug uisng ST Link and SWD pins

  • @theengineer9910
    @theengineer9910 3 ปีที่แล้ว

    so far i have been able to change the color on the example minimal scanvideo example to give a blue screen instead of different colors each scanline. The code is easy to follow but damn there is alot happening. I want to change the sprite on the sprite example and change positions based on a pin input. I gotta get better with my C knowledge. Embedded systems is as deep as i go with software.

    • @theengineer9910
      @theengineer9910 3 ปีที่แล้ว +1

      decreasing the number of heads on the floating head example got rid of the distortion !!!!

  • @JernD
    @JernD 3 ปีที่แล้ว

    Nice video! What would happen if you ran the vga signal using only one resistor ladder (bridged into R, G and B)?

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว +4

      You can do this... you would end up with a grey scale if you put into all RGB lines. Or you could pick a colour with some resistors and end up with a graduated shade of that colour. This project uses 15 GPIO pins for 32768 colours but using say 6 pins would get you 64 colours and lots more free pins for other things. Or simply 3 pins for red, green , blue and mixture of the 3 pin colours which would give magenta, cyan, yellow and white.

    • @DmitryKandiner
      @DmitryKandiner 2 ปีที่แล้ว

      @@robingrosset6941 using 1 bit per color will bring something between the CGA and EGA, with 8 colors.

    • @robingrosset6941
      @robingrosset6941  2 ปีที่แล้ว +1

      @@DmitryKandiner true this would be enough to emulate retro computers which had 8 bit graphics. Lots of 70s and 80s home computers and video arcade games used 8 bit colour like this.

    • @DmitryKandiner
      @DmitryKandiner 2 ปีที่แล้ว

      @@robingrosset6941 8 colors are not 8 bits, it's much simpler. Eight bits will bring some 256 colors, a true VGA.

    • @robingrosset6941
      @robingrosset6941  2 ปีที่แล้ว +1

      @@DmitryKandiner very true, 8 bit computers like the ZX Spectrum only had 1 bits per colour, so 3 bits = 8 colours … 2^3 :-)

  • @jyvben1520
    @jyvben1520 3 ปีที่แล้ว +3

    luckiliy i have several vga to hdmi convertors, still waiting for the pico though

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว +1

      Seems they sold out quickly. At the price it's not surprising but hopefully more will be available soon.

    • @tmkkka8093
      @tmkkka8093 3 ปีที่แล้ว

      Converters? Go native digital, the Pico can handle it (pico hdmi sock)

  • @alejandroalzatesanchez
    @alejandroalzatesanchez 3 ปีที่แล้ว

    what about composite?

  • @YoutubeBorkedMyOldHandle_why
    @YoutubeBorkedMyOldHandle_why 3 ปีที่แล้ว

    Good intro ... you seem excited about the pico. I appreciate your effort. Probably I'll buy a pico at some point, though I'm not quite so convinced.
    Everyone forgets to add shipping when they speak of price. I'm about 100 km east of Ottawa, which is significant because Buyapi.ca wants $11 for shipping outside of Ottawa ($6 within Ottawa.) This is the cheapest shipping option. CanaKit.com charges $13 for shipping. One way or the other, the final price is a lot more than the implied $5.25. (Both places currently out of stock.)
    Compare this for example, with the 38 pin esp32s board running at 240 MHz, which has built in wifi, and typically sells on AliExpress for about $5 CAD plus $1.40 shipping. (Roughly 1/3 the real cost of a pico.) This board can also handle vga, micropython, and almost everything the pico does. I've tried these things successfully on several esp32 boards.
    Bottom line, the pico seems like a good first attempt at a micro-controller for the 'Raspberry Pi Foundation' and I wish them well, but it is not reasonable to compare the pico to 8 bit Atmels and the pico is already up against some serious competition.

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว

      It is true. You can't ship anything in Canada or US for the shipping costs from places like AliExpress. This perhaps reflect postal service rather than the product though. I agree shipping is an issue when comparing prices. It is true for places like DigiKey that small purchases make no sense as shipping is always the killer. I figure I have to buy at least $60 worth of components at a time to make it worth the $15 delivery but it does come very quickly.
      I do like the documentation for the Pico. It is good and the momentum of new projects being built right now is growing. Also note the Pico clock speed is configurable and Pico has been clocked up to 270 MHz on its 2 cores.
      Raspberry Pi foundation has also started shipping bare RP2040 chips to places like AdaFruit so I think you will see variants of the RP2040 boards coming soon. Like AdaFruit's HUZZAH32 for ESP32 based boards
      twitter.com/EbenUpton/status/1362171557469179907
      The difference where I think the Pico may be really interesting is the support and community that builds around these products to make it easier for makers to get started and create new things.
      On the comparison to 8 bit Atmels or ESP32s; I have lost count of how many Arduinos and ESP32s I have. Arduino started something important, they made their products very accessible to everyone. The whole market for clones of Arduino boards exists because of the demand created by the community. ESP32s can be programmed inside Arduino IDE and before Arduino there were very few choices for makers without getting into expensive SDKs and prototype systems.
      If you take shipping out of the picture and buy a branded Arduino, ESP32 (AdaFruit branded HUZZAH32) and Pico from BuyAPi.ca, they sell all three, you can get many Picos for the price of an Arduino or the ESP32. And this is why I think the comparison is fair.
      If the Raspberry Pi foundation can build the same community support that Arduino has built then I think the Pico could become something special. Time will tell but it's looking very promising.

    • @YoutubeBorkedMyOldHandle_why
      @YoutubeBorkedMyOldHandle_why 3 ปีที่แล้ว +1

      @@robingrosset6941 I totally agree with you on most points, especially that this is mostly about community. This is why 8 bit Arduinos and their awful IDE are still hugely popular.
      Though I have a few observations:
      The shipping costs on AliExpress need to be taken with a grain of salt, and simply calculated into the total price. As you suggest, I am convinced that Canada has just about the worst postal 'service' in the world. What I often do is spend a lot of time looking for a reliable seller who can provide multiple items of interest, and doesn't gouge on shipping. Then I'll place a large order, for a dozen or so different items, and pay for the expensive (more reliable) shipping.
      Still, I can't help noticing that it is possible to purchase the pi pico on AliExpress (in stock.) However the best price is about $16 CND + $4 shipping, (compared with ESP32 at around $5 + $2), which sort of implies that picos are intended to sell for about this price.
      Years ago, I bought a Raspberry pi (within an hour of when they first became available), because I was totally sold on the concept. I showed it to the guy at our local computer store. He just scoffed and suggested that it would never catch on. I'm tempted to go back again to see if he's perhaps changed his tune. So, I'm not down on the pico. Really, I hope they do well; probably they will. It's always good to have choices. I just like to keep things in perspective.

  • @SoundSpeeding
    @SoundSpeeding 2 ปีที่แล้ว

    You reckon you could handle an HD video signal?

    • @robingrosset6941
      @robingrosset6941  2 ปีที่แล้ว

      A few folks have got 1080i to work for vga and 720p video. Here is an example twitter.com/mdb036/status/1374496642112495619?s=21

    • @robingrosset6941
      @robingrosset6941  2 ปีที่แล้ว

      Here is 720p video on a pico twitter.com/mdb036/status/1366102403632742404?s=21

  • @davideather5979
    @davideather5979 6 หลายเดือนก่อน

    use an r2-r network fot the dac.

  • @syrus3k
    @syrus3k ปีที่แล้ว

    Also note zx spectrum and BBC micro Pico emulators exist

  • @System-1541
    @System-1541 2 ปีที่แล้ว

    What part of Canada are you from? Your accent sounds like you're from the UK.

    • @robingrosset6941
      @robingrosset6941  2 ปีที่แล้ว

      I’m from Scotland originally but I live in Ottawa, Ontario now.

  • @1toneboy
    @1toneboy 3 ปีที่แล้ว

    Any way to make a crude PCI graphics card for a motherboard?

  • @untodesu
    @untodesu 2 ปีที่แล้ว

    Soooo Pico could be used as a stub for a VGA card. Got it.

  • @HamsterSnr
    @HamsterSnr 3 ปีที่แล้ว

    What about screen resolution achieved, can indicate?

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว +1

      This setup will go to 1080p resolution that’s the maximum I have seen with a pico overclocked. I think this is also the highest VGA can really do.

  • @mspeir
    @mspeir 2 ปีที่แล้ว

    That gender changer idea is brilliant! 😳👍👍

  • @69MrUsername69
    @69MrUsername69 3 ปีที่แล้ว +1

    So can you get a desktop running ?

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว +1

      I understand they BBC emulator and likely others so that will be cool.. :-)

    • @adammathieson1428
      @adammathieson1428 3 ปีที่แล้ว

      @@robingrosset6941 would love to see chuckie egg on that

  • @amyshaw893
    @amyshaw893 3 ปีที่แล้ว +5

    I bet bitluni is happy right now

  • @elofos0815
    @elofos0815 3 ปีที่แล้ว +1

    6:15 8 Ohm or 8k Ohm?
    and yes 1k two parallel = 500 Ohm

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว

      8k ohm see this update video th-cam.com/video/i1AwtqPtfrQ/w-d-xo.html

  • @lawrencedoliveiro9104
    @lawrencedoliveiro9104 3 ปีที่แล้ว

    10:32 I think those are Eben Upton’s head.

  • @goatmeal5779
    @goatmeal5779 ปีที่แล้ว

    What would happen if I used no resistors? Would the video just be unstable?

    • @robingrosset6941
      @robingrosset6941  ปีที่แล้ว +1

      Mnn interesting. The colour is an analog signal on each of R,G and B lines. 0 volts is black and 0.7 volts is bright red or green or blue. If all RGB lines are 0.7 v then the screen pixel is white, each signal at full brightness. You at least need something like a resistor to scale the voltages down from 3.3v of the Pico’s I/O line to 0.7 otherwise you might damage your VGA display.
      Minimally you need one resistor per colour line for each of RGB and you could just use one Pico I/O per colour. This actually gets you 8 colours (including black and white) which is a very retro 80’s computer colour palette. The HSYNC and VSYNC lines are the ones that make the picture stable, these are TTL logic so 5v is what is expected, there is no need for scaling the voltage on these lines, no resistors needed. The pico’s 3.3v is enough to drive most VGA displays (CMOS logic level rather than TTL but most monitors like CMOS levels anyway)
      Hope this helps

    • @goatmeal5779
      @goatmeal5779 ปีที่แล้ว +1

      @@robingrosset6941 Thanks for replying, I have driven a VGA monitor with an Arduino Uno and no resistors. So maybe it'll work fine with the the Pico but I probably won't take any risks. Good to know

  • @0toleranz
    @0toleranz 3 ปีที่แล้ว +1

    An easier to built and more accurate resistor ladder would be an R2R-Ladder for which you only need two resistor values which basically have to be R and double that value which is more accurate and linear especial when using more bits per pixels for higher color depth but requires some more resistors. Here you can find an example and some theory behind it hackaday.com/2015/11/05/logic-noise-digital-to-analog-with-an-r-2r-dac/

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว +1

      Totally, yup. I used an 2R2 ladder in a project for a sound board DAC a few months ago here is the link th-cam.com/video/TBFA2xbCjZ4/w-d-xo.html
      It uses a 10K and 20K R2R for an Audio DAC.
      In the Pico VGA video I was copying the hardware design guide as this is what is being used in boards like those on this link
      www.cnx-software.com/2021/02/03/open-hardware-raspberry-pi-pico-vga-sd-card-and-audio-demo-board-to-support-qvga-video-playback/
      I chose this also because it supports the demo code from Raspberry Pi Foundation for VGA.

  • @larrystone654
    @larrystone654 3 ปีที่แล้ว

    Can this be done with MicroPython?

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว +1

      Hi Larry, so I have seen MicroPython projects for the Pico but only the simple examples like Blink and SPI, PWM ... nothing like VGA... the VGA code has critical timing sections so I think C might be required for those. I expect in time they will produce MicroPython versions which just call the C code docs.micropython.org/en/latest/develop/cmodules.html

    • @larrystone654
      @larrystone654 3 ปีที่แล้ว

      @@robingrosset6941 Thank you. I’ll try it in C (as soon as I get my hands on a Pico!). Great video.

  • @ndrinks5550
    @ndrinks5550 ปีที่แล้ว

    So porting Second Reality to it isn't a stupid idea.. If lookup tables are good enough for the Future Crew then they're good enough for me! Now where did I put my VGA monitor from 1993...

  • @thingyee1118
    @thingyee1118 3 ปีที่แล้ว

    What pen do you use?

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว +1

      It's a random pen from a pot of pens in my house. I think it's a BIC pen, says "Grip Roller ".

    • @KarstenJohansson
      @KarstenJohansson 3 ปีที่แล้ว

      @@robingrosset6941 I think every household has one. Sometimes we do "spring cleaning" and have to check them all to make sure they're still working. Nobody needs that many pens, but as is usually the case, you'll always have too many, or you simply can't find even one. Never in between.

  • @PeetHobby
    @PeetHobby ปีที่แล้ว

    5:50 Meter says 8.14K not 8.1R

  • @harrysvensson2610
    @harrysvensson2610 ปีที่แล้ว

    10:02 ah yes, normal speed. I too run at normal speed.

  • @eR-MIK
    @eR-MIK ปีที่แล้ว

    5-bit DAC with 5% resistors?
    3% is required for 5-bit!
    The DAC is built from the R-2R ladder!

  • @Cptnbond
    @Cptnbond 2 ปีที่แล้ว

    Why does every YT compare with old Arduino boards, at least compare with e.g. the Blue Pill (very much same cost), based on STM32F103 (Arm M1-core), whereas Pico use two Arm M0+ cores.

    • @robingrosset6941
      @robingrosset6941  2 ปีที่แล้ว

      I was not benchmarking original Arduino vs Pico in the video. The point of explaining the clock differences relative to Arduino is to talk about pixel clock which is what limits the resolutions you can generate and what puts real VGA out of range of something like an Arduino. I have a Blue Pill I can do a benchmark but Andreas already covered it. th-cam.com/video/cVHCllbN3bQ/w-d-xo.html&vl=en

  • @johnnydepp4114
    @johnnydepp4114 3 ปีที่แล้ว +1

    build a c64 emulator with the pico :)

  • @artesalve5965
    @artesalve5965 2 ปีที่แล้ว

    hi would it be possible to send a 640x480 linux desktop + audio to the pico + monitor (adding a wifi module to the pico)?

  • @JarppaGuru
    @JarppaGuru 5 หลายเดือนก่อน

    why cant we just use
    2x1ohm paraller
    2x1ohm series
    3x1ohm series
    4x1ohm series
    8x1ohm series
    it will be more in scale than
    try match these and have more than 1% error for 8k thats 8oms LOL
    499ohm
    1000ohm
    2000ohm
    4020ohm
    8060 ohm

  • @duncanwalduck7715
    @duncanwalduck7715 3 ปีที่แล้ว

    Of course, that "tray" is called a "cut tape" in the industry.

  • @massimookissed1023
    @massimookissed1023 2 ปีที่แล้ว

    2x 1k resistors in parallel will give you 500 ohms.

  • @0LoneTech
    @0LoneTech 3 ปีที่แล้ว +1

    Ah yes, the AVR "can't" produce VGA: th-cam.com/video/sNCqrylNY-0/w-d-xo.html ... this works because VGA doesn't care if you update your values for every "pixel". Unlike DVI/HDMI, the clock isn't an included physical signal; it's reconstructed from the sync signals.

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว

      I agree you can create the sync signals, and then not output every pixel. In this case pico is outputting for each pixel. There are a number of different resolutions the pico can support too which is what makes the pico more interesting for VGA in my opinion
      github.com/raspberrypi/pico-extras/blob/master/src/common/pico_scanvideo/vga_modes.c

  • @thingyee1118
    @thingyee1118 3 ปีที่แล้ว +2

    Lol you sound almost British? But you live in USA? Neutral accent lol

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว +4

      I am British actually born in Scotland but I live in Canada now.

    • @KarstenJohansson
      @KarstenJohansson 3 ปีที่แล้ว

      @@robingrosset6941 Proof that Canadians are cool, eh!

  • @jarisipilainen3875
    @jarisipilainen3875 3 ปีที่แล้ว

    we allready had parallax propeller with 8 cores or whatever. its free if allready have no need buy 4buck more lol xD. pico v2 coming.. or someone else do

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว

      I used a parallax Propeller (2 actually one in the screen for VGA and one as the IO interface) for my Apple 1 clone project 6 years ago.. th-cam.com/video/Wl_xDE11_0A/w-d-xo.html. The propeller is cool with its 8 cogs but it had to be overclocked to get to USB 2.0 speeds and the programming model with Spin is kinda specialized. I do have some propeller chips lying around but even a bare propeller chip not on a board is $8. Makes you wonder how Raspberry Pi can do it for $4. Not for profit I guess.

  • @bigsmoke8492
    @bigsmoke8492 3 ปีที่แล้ว +1

    please try to play doom ;)

  • @protonjinx
    @protonjinx 2 ปีที่แล้ว

    I was wondering if he'd ever realise that 2x 1k is 500, but nope... btw, doing vga on an arduino is much cooler

    • @robingrosset6941
      @robingrosset6941  2 ปีที่แล้ว

      Thanks for your comment I did think of that but either way requires 2 resistors and both approaches get you within a few percent of the desired value once you consider the manufacturing tolerances. The other thing is 1K are generally more useful than 470 ohm and 33 ohm particularly if you are making R2R DACs (which this is not) but it is why I did not want to use all my 1K resistors, your suggestion would require 9 1K resistors mine uses 3 which is why I chose it. I also have folks who suggested it would be easier/better to make an R2R DAC but I did not have enough 1K and 2K to create all 3 of the 5bit dacs. It would require 15 of each. Which Arduino did you use to do VGA? I’d be interested in what pixel clock you were able to achieve, video link if you have one.

    • @robingrosset6941
      @robingrosset6941  2 ปีที่แล้ว

      Oh wait I found one th-cam.com/video/jUoR5ICCepA/w-d-xo.html that is cool. Monochrome and require an extra IC, but still pretty cool. The nice thing about Pico VGA is you have up to HD resolution with 15 bit colour and entirely another core running at ~300 mhz to do other things which is how you can build a BBC model B or Spectrum emulators with it.

  • @Alperic27
    @Alperic27 3 ปีที่แล้ว

    You realize you keep saying ‘8.1 ohm’ ... not K....and even your notes say that, when the PI doc has it at 8k and 4k .... makes the ladder all over the place. All you have to do is read their doc right.

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว

      Yup. TH-cam does not allow you to re-upload videos. So there is a card in the video at that point which takes you through to the video with the correction. th-cam.com/video/i1AwtqPtfrQ/w-d-xo.html
      Also the description describes the correct resistor values.

    • @Alperic27
      @Alperic27 3 ปีที่แล้ว

      Yeah ... but no matter what, it is good that you took the time to give visibility to that pico capability.. many people do not read the docs and will only find out about it via videos like yours.

  • @JoshCano
    @JoshCano ปีที่แล้ว

    lol dude, pick an os! /s

  • @child_of_god_
    @child_of_god_ 3 ปีที่แล้ว

    But arduino nano is cloned in china and sold for less than $2

    • @robingrosset6941
      @robingrosset6941  3 ปีที่แล้ว +1

      I was using the MRRP and current list prices. Pico has only been out for a few weeks.

  • @rarob1234
    @rarob1234 2 ปีที่แล้ว

    I find you uh's and um's very distracting. The rest is, uh, very, um, interesting.

  • @lordhexon
    @lordhexon ปีที่แล้ว

    Instead of trying to trow yours words out , dude take breath think about what you want to say to limit the ahh , hmm ,agh , aahh. Its is impossible to listen

  • @tonysofla
    @tonysofla 2 ปีที่แล้ว

    1% resistor value seem odd compared to your old standard 470, 1K etc, here is a list of them, slight logarithmic and repeats values by just moving decimal point
    www.electronicsplanet.ch/en/resistor/e96-series.php