This more seems like a use case for a bigger microcontroller with a real time operating system. Then just make a task for each sensor. Much simpler to code, update, and maintain then an fpga. Though FPGAs are still fun. So if you want, it is fine here.
Yes with a bigger microcontroller, this would be possible. I still like programming with FPGAs more because you always have enough performance no matter how many sensors and actors you add. And for me, FPGA programming became even simpler than microcontrollers. You don't have to think about which pin you use, if you have the right interfaces, and programming with an RTOS is more abstract
With fpga the possibities are limitless, but microcontrollers aren't as limited as there are a lot of things going on parallel too, the peripherals and the DMA run behind the scenes so that the CPU can deal with the important tasks.
I am pretty sure that you could build this even on a weak microcontroller since 99% of an ultrasonic sensor is waiting for io. Also almost all microcontroller have embedded circuity which can be programmed to run motors and other stuff.
8:20 Where is that graphical display coming from? Is there something in the IDE to display the serial output like that? I've tried the MAX1000 accelerometer example, which produces serial monitor output as text, but is very hard to read as it scrolls past. Can that be shown graphically?
There are many applications where microcontrollers are a cheaper option, but the 30€ FPGA board has a way higher processing speed than 30€ arduino boards if you for example look at processing image data with neural networks in the last video on this channel. The robot example is maybe not the best one. With the additional power and flexibility, you can do more with the board and can use it for way more projects than what you can do with a microcontroller board. Often you also find a combination of an FPGA for high speed data processing and a microcontroller for the remaining tasks
I get your point but a 133mhz rp2040 with 2 cores would make very short work of driving such a robot... And it only costs 96 cents (1.5€ with all the required passives and nor memory). Using an fpga for this feels way overkill, they're both complex and expensive, and make the developpement time much longer (usually), but seems like your tool helps for that part so that's good.
For me it is more about the flexibility to always add more hardware without thinking about cycle times and multithreading. Also image processing is something that is more efficient of FPGAs
funny im working with a 2040 right now and just programming a BLDC controller (for a single motor) and i get to its limits because the cycle times are just too long for smooth operation at higher rpm's, even when splitting the work between both cores. i could use a bigger raspberry pi, but then there is no cost benefit compared to a cheap fpga, the software is awful and unreliable and it doesn't even have enough pwm outputs, so now i need to add another board which adds latency and complexity and.. man i think fpga's would've solved all my problems in the past and right now but i was just always too afraid of having to learn so much new stuff but not anymore IM GONNA BUY ONE NOW
well long answer short: i think you're extremely overestimating the capabilities of a 2040. its a good chip if you have one sensor or one output that operate at low frequencies, and not much more.
This more seems like a use case for a bigger microcontroller with a real time operating system. Then just make a task for each sensor. Much simpler to code, update, and maintain then an fpga. Though FPGAs are still fun. So if you want, it is fine here.
Yes with a bigger microcontroller, this would be possible. I still like programming with FPGAs more because you always have enough performance no matter how many sensors and actors you add. And for me, FPGA programming became even simpler than microcontrollers. You don't have to think about which pin you use, if you have the right interfaces, and programming with an RTOS is more abstract
With fpga the possibities are limitless, but microcontrollers aren't as limited as there are a lot of things going on parallel too, the peripherals and the DMA run behind the scenes so that the CPU can deal with the important tasks.
I am pretty sure that you could build this even on a weak microcontroller since 99% of an ultrasonic sensor is waiting for io. Also almost all microcontroller have embedded circuity which can be programmed to run motors and other stuff.
I just come across your channel because of fpga. I will try to install this in my machine to see if CPLD are included in the VHDPlus IDE
Great project on FPGA
0:25 those American problems 😁
Is the Arduino not fast enough?
No, there are several examples where microcontrollers are not fast enough. So in many products are FPGAs or ASIC that were first designed with FPGAs
Interesting
FPGAs are more complicated and need more education to use
More expensive too.
Yeah they are really only better when you would be making an asic anyways haha
8:20 Where is that graphical display coming from? Is there something in the IDE to display the serial output like that?
I've tried the MAX1000 accelerometer example, which produces serial monitor output as text, but is very hard to read as it scrolls past. Can that be shown graphically?
Did you see the MAX1000 video? There we show how to open the plotter
High profile led flashing! Multiple microcontrollers for parallel computing? Anyone?
30 euros for an fpga is quite nice, for simulating a 6502 maybe.
There are many applications where microcontrollers are a cheaper option, but the 30€ FPGA board has a way higher processing speed than 30€ arduino boards if you for example look at processing image data with neural networks in the last video on this channel. The robot example is maybe not the best one. With the additional power and flexibility, you can do more with the board and can use it for way more projects than what you can do with a microcontroller board. Often you also find a combination of an FPGA for high speed data processing and a microcontroller for the remaining tasks
A lot of effort to get some water
It's not always about the end product but the journey to it.
If those were beer bottles that would be totally worth it
I get your point but a 133mhz rp2040 with 2 cores would make very short work of driving such a robot... And it only costs 96 cents (1.5€ with all the required passives and nor memory). Using an fpga for this feels way overkill, they're both complex and expensive, and make the developpement time much longer (usually), but seems like your tool helps for that part so that's good.
For me it is more about the flexibility to always add more hardware without thinking about cycle times and multithreading. Also image processing is something that is more efficient of FPGAs
funny im working with a 2040 right now and just programming a BLDC controller (for a single motor) and i get to its limits because the cycle times are just too long for smooth operation at higher rpm's, even when splitting the work between both cores. i could use a bigger raspberry pi, but then there is no cost benefit compared to a cheap fpga, the software is awful and unreliable and it doesn't even have enough pwm outputs, so now i need to add another board which adds latency and complexity and.. man i think fpga's would've solved all my problems in the past and right now but i was just always too afraid of having to learn so much new stuff but not anymore IM GONNA BUY ONE NOW
well long answer short: i think you're extremely overestimating the capabilities of a 2040. its a good chip if you have one sensor or one output that operate at low frequencies, and not much more.
@@user-vn4yw8dt3m are you making use of the PIOs or just driving it from the main cores? because that looks like an application for the PIOs...