|
Forum Index : Microcontroller and PC projects : Waveshare RP2350-PiZero , dvi out compatible? Picomite and MIDI commun
| Author | Message | ||||
| amiga Newbie Joined: 08/05/2025 Location: BelgiumPosts: 29 |
Hi , i'm building several modules based on 'europi' modules . Instead using analog components (i'm not an electro man) i try to use only digital components (digital encoder ky-040) input/output jack are used only as patch insertion detection . All modules act only as hmi inpu/output and communication inter-modules is done with rs-485 . The main module is "Waveshare RP2350-PiZero " act as a bridge for rs-485 -> midi and generate all midi-msg for an emulator of modular synth : VCVRack (simulate insertion and deconnexion patch,buttons ,etc..) I want use PicoMite and a display 5" with hdmi/vga interface to monitor transactions and config between all modules. For the moment VCVRack run on a little nuc intel j3710(aliexpress 75€) 8Gig Ram/SSD 256G. All modules use cheap board pico 2350 with rs485 mod. It's my first project in this area , very noob .. Any advices are welcome . @+ Alfamiga |
||||
| Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 8487 |
Your display options have to be thought out. HDMI under MMBasic is only available when using a Pico 2 (RP2350) or similar as it uses the HSTX module of that device. VGA or LCD displays can be used on any devices with enough available pins. VGA is cheap and easy to set up, requiring only 4 resistors but the number of colours is restricted to 16. LCD can be slow unless used in parallel mode, in which case it can use a lot of GPIO pins. However, LCD displays are the only ones that can handle a touch screen interface, if that's of any importance to you. I've never heard of europi modules so I'm not of much help there. :) Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
| amiga Newbie Joined: 08/05/2025 Location: BelgiumPosts: 29 |
Thanks for the reply , rpi23050 https://www.waveshare.com/wiki/RP2350-PiZero https://files.waveshare.com/wiki/RP2350-PiZero/RP2350-PiZero.pdf monitor used https://www.aliexpress.com/p/tesla-landing/index.html?scenario=c_ppc_item_bridge&productId=1005007694800411&_immersiveMode=true&withMainCard=true&src=google-language&aff_platform=true&isdl=y&src=google&albch=shopping&acnt=615-992-9880&isdl=y&slnk=&plac=&mtctp=&albbt=Google_7_shopping&aff_platform=google&aff_short_key=_oFgTQeV&gclsrc=aw.ds&&albagn=888888&&ds_e_adid=&ds_e_matchtype=&ds_e_device=c&ds_e_network=x&ds_e_product_group_id=&ds_e_product_id=nl1005007694800411&ds_e_product_merchant_id=571564673&ds_e_product_country=ZZ&ds_e_product_language=nl&ds_e_product_channel=online&ds_e_product_store_id=&ds_url_v=2&albcp=23014796767&albag=&isSmbAutoCall=false&needSmbHouyi=false&gad_source=1&gad_campaignid=23004631182&gbraid=0AAAAA_TvRHrNFCXSjZLVaJK9xyy67MHv7&gclid=Cj0KCQiAkPzLBhD4ARIsAGfah8ilf2yFyxD83Hq2uc-i817dP8SaN1y2xyF7nxOGVGpdAd7rcWDnYhYaAkI7EALw_wcB europi https://github.com/Allen-Synthesis/EuroPi VcVRack https://vcvrack.com/ Picomite is it fast enought to ?: - scan 12 jacks if connected or not - 8 digital encoder (ky-040) - 6 switch - 0.9" i2c display - 9 leds This setup it's a mx component , some module require less component . delay for a user good experience :best : < 10 ms. Using PIO will help i think AND of course update screen . @+ alfamiga (from Belgium , raining day 4°C) .. sad day today as a fan of retrocomputing and old cars specially rallye car:: Legend Boucles Rally: Spectator fatally struck in Engreux (Houffalize), race cancelled. |
||||
| Mixtel90 Guru Joined: 05/10/2019 Location: United KingdomPosts: 8487 |
All completely foreign stuff to me. :( I'm probably almost the least musical person you'll find. :) Mick Zilog Inside! nascom.info for Nascom & Gemini Preliminary MMBasic docs & my PCB designs |
||||
| ville56 Guru Joined: 08/06/2022 Location: AustriaPosts: 383 |
amiga, did you already count how many I/Os you need? How many does the PiZero provide? Maybe you need to multiplex some of them with additional hardware. IMHO I think speed will not be the limiting factor in the first place. It depends a lot on your programming skills though. 73 de OE1HGA, Gerald |
||||
| Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 5653 |
Hi Amiga, Your requirements - scan 12 jacks if connected or not - 8 digital encoder (ky-040) - 6 switch - 0.9" i2c display - 9 leds Is this what you intend ? Requires many IO pins. The 8 digital encoders can be served with 2 PIO's (each PIO has 4 state machines, so you have 8 state machines, each serving one quadrature encoder) but this requires 8x2 = 16 IO pins directly off the RP2350/2040. Scan 12 jacks, assuming these are jacks with built in switches, requires 12 slow inputs (From PCF8574's or so). PCF8574 are I2C devices. Then there are 6 switches, the display, and the 9 LED's. Total discrete input/outputs is 27, so you need 4 PCF8574's (8 IO each) with different address setup. And the OLED display. Display preferably on a different I2C bus. So your whole system would require a PICO, with 16 lines directly to the ky-040's quadrature outputs, and 2x I2C bus. These are 20 lines. I suggest you use a genuine RP pico(2). The zero does not provide sufficient pins on the headers, and you would need to solder to test points. So much for architecture. Volhout P.S. The ky-040's also support a push button switch. If you also want to support these switches, you need an additional 8 inputs (an additional PCF8574). P.P.S. If you also want HDMI output you need an RP2350B, because you need additional 8 GPIO pins, directly from the RP2350, to support the monitor. You will have to use the RP2350B chip, look at the RP2350PGA board, that should provide with sufficient IO pins. EDIT: this is a relatively large system. 35 slow IO, 16 fast IO, 2xI2C busses, HDMI. It will be a nice project to work on. Should keep you busy for half a year or so. Edited 2026-02-02 22:34 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
| amiga Newbie Joined: 08/05/2025 Location: BelgiumPosts: 29 |
Hi , thanks for your advice , your picture it's one of use case . signal from jack are fack ... i only detect which jack-in is linked to a jack-out . i send a MIDI msg to VcVRack : -- 'Mod/A/Jack/In/1 connected to Mod/B/Jack/Out/3 . -- 'Mod/A/Pot/2 value '127' -- 'Mod/A/Switch value '2' etc... name of Module is hardcoded in the code simulating the real HMI of this module English is not my native language (i don't use IA .. for nothing : excepte as junior developper and only Claude Code ..). Making PCB for each module will cost me a lot (JCLPCB ... 5 pcb for one modules) and i'm not an electronic guru... i prefer less hardware and more software. It's why i use 2 types of PCB : -- master -> waveshare rpi 23050 (hdmi output,sdcard and raspi zero board format) HDMI , bridge between slave module rs485 <--> MIDI for VcVRack -- slave -> HMI for VCVRack (emulate a specific synth modul only HMI part , not SOUND part ) . All use the same PCB ( WeAct RP2350B 16MByte QSPI Flash 48GPIO ) -- face plate -> (like you show in your answer) , will be printed on paper, and glued on a plexiglas sheet (not a PCB) . I make throught hole for potentiometer,jack,button and led. Componnent fixed, and connected with wire and connected to slave board . I can easyly create a new face plate(very low cost) and use the same slave board . Upload the code on a slave pcb ,the new functionnality is available for VcVRack . Cost of PCB is low . 5 same slave pcb and 5 differents face plate give me 5 different functions . I can explore the sound creation without ruining myself. Each action on each component of a module is a msg going throught the rs485 network and the master module translate this msg finto a MIDI msg for VcVRack. And accordind your advice , i use analogique potentiometer with multiplex . i think with 'WeAct RP2350B' and their '48 GPIO' is enought for my need (for the moment..) now the big challenge for me : is protecting jack from input 10V (coming from analogic module) .. in my daily use .. never happen ,cause not owning analogique module. I think hardware is not very complicated (all digital)... but software is more challenging ,managing an rs485 network like old days .. I try to finish my schematic and create the first fake module to test bridging rs-485 <--> MIDI Have a nice day , @+ alfamiga |
||||
| Volhout Guru Joined: 05/03/2018 Location: NetherlandsPosts: 5653 |
Hi alfamiga, The WeAct RP2350B 16MByte QSPI Flash 48GPIO is a nice board, very similar to the one I suggested, but half the price. Good choice. The physical jacks can be purchased with built in switches, isolated from the jack connections. So you can use these to switch 3.3V signals, independent of the levels at the jack contacts. On this forum there is a thread that shows how to use PIO to decode quadrature encoders. source code pio Volhout Edited 2026-02-03 06:35 by Volhout PicomiteVGA PETSCII ROBOTS |
||||
| amiga Newbie Joined: 08/05/2025 Location: BelgiumPosts: 29 |
board very cheap , i use it as piggyback on a very simple pcb with only connector,some smd resistor,capacitor and lot of JST XH 2.54mm Connector . Waiting order from Ahhhli . and pcb from JCLPCB have a nice day/night ... @+ alfamiga |
||||
| The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2026 |