Picking up new skills in the electronics field is often best served by the classic mantra – “learn by doing”. [Juan] and [Leo] did just that, deciding to build a handheld game console for a University project, and delivering the PGC-32.
Built as a final project for the Digital Systems Design course at Cornell University, the PGC-32 takes on a daunting chunk of functionality, and pulls it off in time to get the grades. The team coded a basic block-based game for the hardware, and control is switchable between the analog stick and a built-in accelerometer. Gameplay is displayed on a 320 x 280 color TFT display. Learning to code a basic game is useful, as it teaches student engineers to consider important concepts like timing, race conditions, interrupts, and display routines.
As a university project, it is well documented and the team step through each detail in their code with explanations as to how and why things are done. The internals are particularly neat, too, with a tidy PCB layout and 3D printed case holding everything together.
We’ve seen plenty of work from Cornell’s courses before, too – like this sleep quality monitor. Video after the break.
It’s a neat project. But I’m just wondering why they chose such a limited CPU while they could have had so much more for the same amount of money. E.g. an ESP8266. Which has more power, more memory, and a WiFi network to boot.
You could say that it’s about the principle, and performance is not important. But imo, part of being an engineer is to learn to choose the best parts for the money avalable and the task at hand. We don’t spend so much time browsing catalogs and reading spec sheets only for the fun of it. Even though it IS a fun thing to do. :)
“All projects will use a PIC32 architecture.” from the final project instructions (http://people.ece.cornell.edu/land/courses/ece4760/labs/f2016/lab5.html)
Moreover, the PIC32 is a pretty capable architecture.
If you check out Bruce Land’s hackaday.io profile you can see the Pic32 student development boards. There are two including one that is very breadboard friendly.
That’s a pretty neat project!
It is interesting though that they used what is essentially the same hardware from another Cornell project they they say they took inspiration from (PICBOY32: http://people.ece.cornell.edu/land/courses/ece4760/FinalProjects/f2016/grr37_gb358_fa235/grr37_gb358_fa235/grr37_gb358_fa235/index.html). They made some of the same arbitrary decisions, so it seems a bit disingenuous to claim only inspiration.
There’s definitely merit in trying to improve upon another design to learn the ins and outs of design. I wonder if they were encouraged to try to adapt a previous project for this.
Edit: Looks like the class uses a custom dev board and their designs are based on that (http://people.ece.cornell.edu/land/courses/ece4760/PIC32/Target_board/Large_board_sch_image.PNG).