====== B. Eng. Tech. Projects (FYP @FKTEN) ====== ===== General Requirements ===== //**Note:** These are MY requirements - to those who are interested doing their projects under MY supervision.// Recommended development platform for all projects is Linux. I personally use and recommend [[https://www.slackware.com|Slackware]]. [[https://www.devuan.org|Devuan]] is also a good option. Projects that involve source codes (e.g. HDL, C, C++) are **required** to use source code management (SCM) software ([[https://git-scm.com/|git]]). ===== General Comments ===== **Update20171217** Beginning 2018, I will set milestones (i.e. mini-objectives) for each project title. I figure this would be a better way for students to actually see what I expect them to achieve while working on the project. My previous way of using scopes does not seem to work - although I thought that would make it more flexible on the outcome of the project. //**Note**: The following explains my previous method of describing projects. I'm keeping this around for now, but only for personal record. Students no longer need these.// For each project title, I've included some keywords, objective(s) and scope. The keywords are there for you to do some background research before you jump into this - I don't want you to give-up on me (it's a waste of everybody's time) towards the end of the project. I put in objectives and scope to let you know what is expected out of this project. So, your results will be based on these expectations. I define an objective as the targeted final result. I usually set only ONE primary objective and optionally a secondary objective that will/should not affect your final results (though it usually gives you extra marks if completed) - too many objectives usually leads to unsatisfactory results. Meanwhile, scope visualizes how much work is expected - for example, one can say that the primary objective is to design an 8-bit microprocessor. So, the scope should mention maybe something like you're expected to produce schematics with instruction set that covers data transfer/processing and program control, complete with logic simulation results. ====== Project Titles 2024 ====== ^ SYSTEM DEVELOPMENT ^ | - **Development of an Autonomous Mobile Robot Platform** * Description: This project is mainly hardware development - with some software development (microcontroller) work. It involves producing a working mobile robot platform (maybe something like [[https://arcbotics.com/products/sparki/|this]]? or [[https://www.youmagine.com/designs/scru-fe-simple-c-robot-with-ultra-sonic-sensor-for-education-arduino-uno-obstacle-avoidance-maze-programming|this]]?). Any open designs available online can be used (usually done using free cad tools like [[https://www.freecadweb.org/|FreeCAD]] or [[https://www.openscad.org/|OpenSCAD]]), but the platform needs to have basic navigation interface (motor, servo, sensor, etc.). This project also need a basic autonomous navigation software to be developed. **//Warning://** //This project requires purchases of components/modules that may not be reimbursed by the department.// * Keyword(s): microcontrollers, mobile robots, autonomous navigation * Pre-requisite(s): Digital Electronics, Microprocessor System, Microcontrollers/Embedded System * Objective: To develop a mobile robot platform with basic navigation features * Milestone 1: Assembled an easily-reproducible mobile robot platform (chassis+motor+servo+controller) * Milestone 2: Developed software for basic autonomous driving (e.g. drive straight, turn) * Milestone 3: Completed autonomous mobile robot platform with basic navigation (e.g. obstacle avoidance) - **Smart Farm Irrigation System Monitoring and Control** * Description: This is a hands-on project that may be used at UniMAP's Institute of Sustainable Agro-Technology (INSAT). Initial work involves developing a system that needs to control irrigation of a small plot, and monitor temperature and possibly water usage. All data will be sent to a centralized data center for the whole farm. **//Warning://** //This project requires purchases of components/modules that may not be reimbursed by the department.// * Keyword(s): microcontroller, embedded system, data server * Pre-requisite(s): Microcontrollers/Embedded System Development * Objective: To develop an irrigation system monitoring and control platform * Milestone 1: Develop valve control system (timer & manual override) * Milestone 2: Develop monitoring & control application (can be web-based OR desktop) * Milestone 3: Produce a simple profiling system (e.g. water usage, temperature/humidity) - **Development of a Vision-based Vehicle Registration Identification System** * Description: This project is mainly software development, with real hardware implementation (Raspberry Pi platform). The main target is to implement vision-based vehicle registration identification system on real hardware. Implementation MUST BE written based on [[https://codeberg.org/azman/my1imgpro|my1imgpro]] library (i.e. libraries like OpenCV cannot be used). **//Warning://** //This project requires purchases of components/modules that may not be reimbursed by the department.// * Keyword(s): vision system, image processing * Pre-requisite: Computer Programming, Image Processing * Objective: To develop a Vehicle Registration Identification System * Milestone 1: Implemented algorithm for vehicle registration plate detection * Milestone 2: Implemented algorithm for character recognition (identification) * Milestone 3: Implemented system on real hardware (Raspberry Pi platform) | ^ DIGITAL SYSTEM DESIGN ^ | - **Implementation of 8051-Binary-Compatible Core** * Description: This is a design project to implement a working 8051-binary-compatible core. A similar implementation for 8085 microprocessor is available [[https://codeberg.org/azman/my1core85|here]]. It involves writing HDL (Hardware Description Language) codes and simulating it on a simulation software like ModelSim. The final implementation needs to be fully tested and subsequently be improvised (if possible). **//NOTE://** //An existing implementation is already available on the internet. Evaluation for this project will be based on progress - you need to show that you implement this on your own.// * Keyword(s): 8051, FPGA, reconfigurable computing, microcontroller softcore * Pre-requisite: Digital Electronics, Microprocessor System, Computer Architecture * Objective: To implement 8-bit microcontroller core (8051 clone) on FPGA * Milestone 1: Completed Instruction Decoding for ALL 8051 instructions * Milestone 2: Completed State Machine for 8051 Instruction Fetch and Execution * Milestone 3: Completed Testbench for 8051-Binary-Compatible Core | ====== Project Titles 2023 ====== ^ SYSTEM DEVELOPMENT ^ | - **Development of a Vision-based Vehicle Registration Identification System** * Description: This project is mainly software development, with real hardware implementation (Raspberry Pi platform). The main target is to implement vision-based vehicle registration identification system on real hardware. Implementation MUST BE written based on [[https://codeberg.org/azman/my1imgpro|my1imgpro]] library (i.e. libraries like OpenCV cannot be used). **//Warning://** //This project requires purchases of components/modules that may not be reimbursed by the department.// * Keyword(s): vision system, image processing * Pre-requisite: Computer Programming, Image Processing * Objective: To develop a Vehicle Registration Identification System * Milestone 1: Implemented algorithm for vehicle registration plate detection * Milestone 2: Implemented algorithm for character recognition (identification) * Milestone 3: Implemented system on real hardware (Raspberry Pi platform) - **Development of an Autonomous Mobile Robot Platform** * Description: This project is mainly hardware development - with some software development (microcontroller) work. It involves producing a working mobile robot platform (maybe something like [[https://arcbotics.com/products/sparki/|this]]? or [[https://www.youmagine.com/designs/scru-fe-simple-c-robot-with-ultra-sonic-sensor-for-education-arduino-uno-obstacle-avoidance-maze-programming|this]]?). Any open designs available online can be used (usually done using free cad tools like [[https://www.freecadweb.org/|FreeCAD]] or [[https://www.openscad.org/|OpenSCAD]]), but the platform needs to have basic navigation interface (motor, servo, sensor, etc.). This project also need a basic autonomous navigation software to be developed. **//Warning://** //This project requires purchases of components/modules that may not be reimbursed by the department.// * Keyword(s): microcontrollers, mobile robots, autonomous navigation * Pre-requisite(s): Digital Electronics, Microprocessor System, Microcontrollers/Embedded System * Objective: To develop a mobile robot platform with basic navigation features * Milestone 1: Assembled an easily-reproducible mobile robot platform (chassis+motor+servo+controller) * Milestone 2: Developed software for basic autonomous driving (e.g. drive straight, turn) * Milestone 3: Completed autonomous mobile robot platform with basic navigation (e.g. obstacle avoidance) | ^ DIGITAL SYSTEM DESIGN ^ | - **Implementation of RISC-V Core on FPGA** * Description: This is a design project to implement a working microprocessor based on the RISC-V ISA. It involves writing HDL (Hardware Description Language) codes and simulating it on a simulation software. The final implementation needs to be fully tested and subsequently be improvised (if possible). **//Warning://** //An existing implementation is already available on the internet. Evaluation for this project will be based on progress - you need to show that you implement this on your own.// * Keyword(s): [[https://riscv.org/technical/specifications/|RISC-V]], FPGA, reconfigurable computing, microprocessor softcore * Pre-requisite: Digital Electronics, Microprocessor System, Computer Architecture * Objective: To implement custom RISC-V core on FPGA * Scope: * Milestone 1: Completed [[https://github.com/riscv/riscv-isa-manual/releases/download/Ratified-IMAFDQC/riscv-spec-20191213.pdf|basic core @RV32I]] (at least data movement and ALU) * Milestone 2: Verified core functionality using simulation * Milestone 3: Performed testing on FPGA hardware - **Implementation of 8051-Binary-Compatible Core** * Description: This is a design project to implement a working 8051-binary-compatible core. A similar implementation for 8085 microprocessor is available [[https://codeberg.org/azman/my1core85|here]]. It involves writing HDL (Hardware Description Language) codes and simulating it on a simulation software like ModelSim. The final implementation needs to be fully tested and subsequently be improvised (if possible). **//NOTE://** //An existing implementation is already available on the internet. Evaluation for this project will be based on progress - you need to show that you implement this on your own.// * Keyword(s): 8051, FPGA, reconfigurable computing, microcontroller softcore * Pre-requisite: Digital Electronics, Microprocessor System, Computer Architecture * Objective: To implement 8-bit microcontroller core (8051 clone) on FPGA * Milestone 1: Completed Instruction Decoding for ALL 8051 instructions * Milestone 2: Completed State Machine for 8051 Instruction Fetch and Execution * Milestone 3: Completed Testbench for 8051-Binary-Compatible Core | ====== Project Titles 2022 ====== ^ SYSTEM DEVELOPMENT ^ | - **Development of an Automated Storage and Retrieval System** * Description: This project is a combination of hardware/software development. It requires the student to develop a small-scale storage/retrieval system (refer to [[wp>Automated storage and retrieval system|this]]). Of course, a management software for the system is also expected. **//Warning://** //This project requires purchases of components/modules that may not be reimbursed by the department.// * Keyword(s): microcontrollers, warehouse management, automated storage retrieval system, asrs * Pre-requisite(s): Microcontrollers/Embedded System, Programming * Objective: To develop an automated storage/retrieval system and its management system * Milestone 1: Produced a model for storage/retrieval system (at least 32 - 4x4 on both sides) * Milestone 2: Developed software for basic storage/retrieval * Milestone 3: Developed a simple warehouse management software - **Development of a Battery-powered Tracking Module with Monitoring System** * Description: This project is a combination of hardware/software development. It requires the student to produce a low-power tracking module using microcontroller (both hardware and software development involved). The Monitoring System software can be modified from an existing system provided. **//Warning://** //This project requires purchases of components/modules that may not be reimbursed by the department.// * Keyword(s): microcontrollers, gsm module, api server, web development * Pre-requisite(s): Microcontrollers/Embedded System, Programming, Web Development * Objective: To develop a battery-powered tracking module and its monitoring system * Milestone 1: Designed a low-power tracking module containing 8051 and GSM module (battery-powered) * Milestone 2: Developed software for the tracking module * Milestone 3: Developed monitoring software for the tracking system | ^ DIGITAL SYSTEM DESIGN ^ | - **Implementation of 8051-Binary-Compatible Core** * Description: This is a design project to implement a working 8051-binary-compatible core. A similar implementation for 8085 microprocessor is available [[https://codeberg.org/azman/my1core85|here]]. It involves writing HDL (Hardware Description Language) codes and simulating it on a simulation software like ModelSim. The final implementation needs to be fully tested and subsequently be improvised (if possible). **//NOTE://** //An existing implementation is already available on the internet. Evaluation for this project will be based on progress - you need to show that you implement this on your own.// * Keyword(s): 8051, FPGA, reconfigurable computing, microcontroller softcore * Pre-requisite: Digital Electronics, Microprocessor System, Computer Architecture * Objective: To implement 8-bit microcontroller core (8051 clone) on FPGA * Milestone 1: Completed Instruction Decoding for ALL 8051 instructions * Milestone 2: Completed State Machine for 8051 Instruction Fetch and Execution * Milestone 3: Completed Testbench for 8051-Binary-Compatible Core | ====== Project Titles 2021 ====== ^ SYSTEM DEVELOPMENT ^ | - **Development of a Vision-based Vehicle Registration Identification System** * Description: This project is mainly software development, with real hardware implementation (Raspberry Pi platform). The main target is to implement vision-based vehicle registration identification system on real hardware. Implementation MUST BE written based on [[https://codeberg.org/azman/my1imgpro|my1imgpro]] library (i.e. libraries like OpenCV cannot be used). **//Warning://** //This project requires purchases of components/modules that may not be reimbursed by the department.// * Keyword(s): vision system, image processing * Pre-requisite: Computer Programming, Image Processing * Objective: To develop a Vehicle Registration Identification System * Milestone 1: Implemented algorithm for vehicle registration plate detection * Milestone 2: Implemented algorithm for character recognition (identification) * Milestone 3: Implemented system on real hardware (Raspberry Pi platform) - **Development of an Autonomous Mobile Robot Platform** * Description: This project is mainly hardware development - with some software development (microcontroller) work. It involves producing a working mobile robot platform (maybe something like [[https://arcbotics.com/products/sparki/|this]]? or [[https://www.youmagine.com/designs/scru-fe-simple-c-robot-with-ultra-sonic-sensor-for-education-arduino-uno-obstacle-avoidance-maze-programming|this]]?). Any open designs available online can be used (usually done using free cad tools like [[https://www.freecadweb.org/|FreeCAD]] or [[https://www.openscad.org/|OpenSCAD]]), but the platform needs to have basic navigation interface (motor, servo, sensor, etc.). This project also need a basic autonomous navigation software to be developed. **//Warning://** //This project requires purchases of components/modules that may not be reimbursed by the department.// * Keyword(s): microcontrollers, mobile robots, autonomous navigation * Pre-requisite(s): Digital Electronics, Microprocessor System, Microcontrollers/Embedded System * Objective: To develop a mobile robot platform with basic navigation features * Milestone 1: Assembled an easily-reproducible mobile robot platform (chassis+motor+servo+controller) * Milestone 2: Developed software for basic autonomous driving (e.g. drive straight, turn) * Milestone 3: Completed autonomous mobile robot platform with basic navigation (e.g. obstacle avoidance) | ^ SOFTWARE DEVELOPMENT ^ | - **Development of an ARM Emulator (Simple Raspberry Pi Simulator)** * Description: This project is purely software development. The main target is to develop a simple Raspberry Pi Simulator with basic GPIO control functionalities. This, however, requires an ARM emulator that can at least execute basic instructions like data transfer (register/memory), arithmetic and branching. * Keyword(s): arm emulator, raspberry pi simulator * Pre-requisite: Computer Programming, Computer Architecture * Objective: To develop an ARM emulator that can be used to simulate Raspberry Pi SBC * Milestone 1: Completed ARM Instruction Decoder (preferably with working assembler/compiler) * Milestone 2: Completed ARM System with Memory * Milestone 3: Developed a simple Raspberry Pi Simulator | ====== Project Titles 2020 ====== ^ SYSTEM DEVELOPMENT ^ | - **Smart Farm Irrigation System Monitoring and Control** * Description: This is a hands-on project that will actually be used at UniMAP's Institute of Sustainable Agro-Technology (INSAT). Initial work involves developing a system that needs to control irrigation of a small plot, and monitor temperature and possibly water usage. All data will be sent to a centralized data center for the whole farm. **//Warning://** //This project requires purchases of components/modules that may not be reimbursed by the department.// * Keyword(s): microcontroller, embedded system, data server * Pre-requisite(s): Microcontrollers/Embedded System Development * Objective: To develop an irrigation system monitoring and control platform * Milestone 1: Simple valve control system (timer & manual override) with power consumption analysis * Milestone 2: //to be decided...// * Milestone 3: //to be decided...// - **Development of a Quadcopter Drone with Autonomous Flying Capability** * Description: This project is revolves around the idea of replicating an open source quadcopter/drone design ([[https://opensource.com/article/18/2/drone-projects|here]] & [[https://www.open-electronics.org/lets-build-an-open-source-quadcopter-part1|here]]), while introducing autonomous flying mechanism(s). **//Warning://** //This project requires purchases of components/modules that may not be reimbursed by the department.// * Keyword(s): drone, quadcopters, uav * Pre-requisite(s): Microcontrollers/Embedded System Development * Objective: To develop a working quadcopter that is capable of autonomous flying * Milestone 1: Assembled a quadcopter platform * Milestone 2: Developed/Modified software for autonomous flying * Milestone 3: Tested autonomous flying feature | ^ DIGITAL SYSTEM DESIGN ^ | - **Implementation of 8051-Binary-Compatible Core** * Description: This is a design project to implement a working 8051-binary-compatible core. It involves writing HDL (Hardware Description Language) codes and simulating it on a simulation software like ModelSim. The final implementation needs to be fully tested and subsequently be improvised (if possible). **//Warning://** //An existing implementation is already available on the internet. Evaluation for this project will be based on progress - you need to show that you implement this on your own.// * Keyword(s): 8051, FPGA, reconfigurable computing, microcontroller softcore * Pre-requisite: Digital Electronics, Microprocessor System, Computer Architecture * Objective: To implement 8-bit microcontroller core (8051 clone) on FPGA * Milestone 1: Completed Instruction Decoding for ALL 8051 instructions * Milestone 2: Completed State Machine for 8051 Instruction Fetch and Execution * Milestone 3: Completed Testbench for 8051-Binary-Compatible Core | ^ SOFTWARE DEVELOPMENT ^ | - **Mapping and Localization for Mobile Robot Platform Using Robot Simulator** * Description: This project is purely software development but with embedded systems application. A robot simulation software like [[https://playerstage.sourceforge.net|Player/Stage]] is needed. The development revolves around creating an algorithm for a mobile robot platform so that it can reliably map its surrounding and at the same time localize itself within that environment (something like [[https://www.youtube.com/watch?v=qZES5iKXiXY|this]]). * Keyword(s): mapping, localization, simultaneous-LAM ([[wp>simultaneous_localization_and_mapping|SLAM]]), mobile robot, robot simulation software * Pre-requisite: Computer Programming, Maths * Objective: To develop a practical mapping and localization algorithm/application * Milestone 1: Developed Usable Mobile Robot Platform Model on an Existing Simulator * Milestone 1: Integrated Basic Mapping Algorithm * Milestone 2: Integrated Localization Algorithm - **CAD Tool Development: Logic Simulator** * Description: This project is purely software development but with applications in digital electronics. It involves creating a simple netlist format for digital circuits and developing a parser for the format. The software need to be able to create internal data structure for the logic circuit and execute logic/timing simulation. A simple waveform viewer is also needed, but any available open-source tool can be used for this. * Keyword(s): CAD, circuit simulator, logic simulator * Pre-requisite: Computer Programming, Maths, Digital Logic * Objective: To develop a circuit (@logic) simulator * Milestone 1: Developed a parser for custom netlist and a data structure for logic circuit * Milestone 2: Developed timing/logic simulation tool * Milestone 3: Completed verification of timing/logic simulation tool | ====== Project Titles 2019 ====== ^ SYSTEM DEVELOPMENT ^ | - **Development of an Autonomous Mobile Robot Platform** * Description: This project is mainly hardware development - with some software development (microcontroller) work. It involves producing a working mobile robot platform (maybe something like [[https://arcbotics.com/products/sparki/|this]]? or [[https://www.youmagine.com/designs/scru-fe-simple-c-robot-with-ultra-sonic-sensor-for-education-arduino-uno-obstacle-avoidance-maze-programming|this]]?). Any open designs available online can be used (usually done using free cad tools like [[https://www.freecadweb.org/|FreeCAD]] or [[https://www.openscad.org/|OpenSCAD]]), but the platform needs to have basic navigation interface (motor, servo, sensor, etc.). This project also need a basic autonomous navigation software to be developed. **//Warning://** //This project requires purchases of components/modules that may not be reimbursed by the department.// * Keyword(s): microcontrollers, mobile robots, autonomous navigation * Pre-requisite(s): Digital Electronics, Microprocessor System, Microcontrollers/Embedded System * Objective: To develop a mobile robot platform with basic navigation features * Milestone 1: Assembled an easily-reproducible mobile robot platform (chassis+motor+servo+controller) * Milestone 2: Developed software for basic autonomous driving (e.g. drive straight, turn) * Milestone 3: Completed autonomous mobile robot platform with basic navigation (e.g. obstacle avoidance) - **Development of a Battery-powered Tracking Module with Monitoring System** * Description: This project is a combination of hardware/software development. It requires the student to produce a low-power tracking module using microcontroller (both hardware and software development involved). The Monitoring System software can be modified from an existing system provided. **//Warning://** //This project requires purchases of components/modules that may not be reimbursed by the department.// * Keyword(s): microcontrollers, gsm module, api server, web development * Pre-requisite(s): Microcontrollers/Embedded System, Software Engineering, Web Development * Objective: To develop a battery-powered tracking module and its monitoring system * Milestone 1: Designed a low-power tracking module containing 8051 and GSM module (battery-powered) * Milestone 2: Developed software for the tracking module * Milestone 3: Developed monitoring software for the tracking system | ====== Project Titles 2018 ====== ^ SYSTEM DEVELOPMENT ^ | - **Development of an Autonomous Mobile Robot Platform** * Description: This project is mainly hardware development - with some software development (microcontroller) work. It involves producing a working mobile robot platform (maybe something like [[https://arcbotics.com/products/sparki/|this]]? or [[https://www.youmagine.com/designs/scru-fe-simple-c-robot-with-ultra-sonic-sensor-for-education-arduino-uno-obstacle-avoidance-maze-programming|this]]?). Any open designs available online can be used (usually done using free cad tools like [[https://www.freecadweb.org/|FreeCAD]] or [[https://www.openscad.org/|OpenSCAD]]), but the platform needs to have basic navigation interface (motor, servo, sensor, etc.). This project also need a basic autonomous navigation software to be developed. **//Warning://** //This project requires purchases of components/modules that may not be reimbursed by the department.// * Keyword(s): microcontrollers, mobile robots, autonomous navigation * Pre-requisite(s): Digital Electronics, Microprocessor System, Microcontrollers/Embedded System * Objective: To develop a mobile robot platform with basic navigation features * Milestone 1: Assembled a mobile robot platform (chassis+motor+servo+controller) * Milestone 2: Developed software for basic autonomous driving (e.g. drive straight, turn) * Milestone 3: Completed autonomous mobile robot platform with basic navigation (e.g. obstacle avoidance) - **Development of a Raspberry-Pi-based Phone** * Description: This project is a combination of hardware/software development. It requires the student to produce a working phone based on Raspberry Pi, along with a GSM module and a touch-screen LCD. Software development involves developing bare-metal codes (no Linux or any existing OS can be used). **//Warning://** //This project requires purchases of components/modules that may not be reimbursed by the department.// * Keyword(s): raspberry pi, bare-metal, smartphone, touch screen lcd * Pre-requisite(s): Microcontrollers/Embedded System, Software Engineering * Objective: To develop basic touch screen phone based on Raspberry Pi * Milestone 1: Completed Interfacing GSM Modem to Raspberry Pi (i.e. make calls, etc.) * Milestone 2: Completed Interfacing Touch Screen LCD to Raspberry Pi (i.e. input, display) * Milestone 3: Completed A Working Phone (including basic OS) based on Raspberry Pi | ^ DIGITAL SYSTEM DESIGN ^ | - **Implementation of 8051-Binary-Compatible Core** * Description: This is a design project to implement a working 8051-binary-compatible core. It involves writing HDL (Hardware Description Language) codes and simulating it on a simulation software like ModelSim. The final implementation needs to be fully tested and subsequently be improvised (if possible). **//Warning://** //An existing implementation is already available on the internet. Evaluation for this project will be based on progress - you need to show that you implement this on your own.// * Keyword(s): 8051, FPGA, reconfigurable computing, microcontroller softcore * Pre-requisite: Digital Electronics, Microprocessor System, Computer Architecture * Objective: To implement 8-bit microcontroller core (8051 clone) on FPGA * Milestone 1: Completed Instruction Decoding for ALL 8051 instructions * Milestone 2: Completed State Machine for 8051 Instruction Fetch and Execution * Milestone 3: Completed Testbench for 8051-Binary-Compatible Core | ^ SOFTWARE DEVELOPMENT ^ | - **Mapping and Localization for Mobile Robot Platform Using Player/Stage** * Description: This project is purely software development but with embedded systems application. A robot simulation software like [[https://playerstage.sourceforge.net|Player/Stage]] is needed and will be used. The development revolves around creating an algorithm for a mobile robot platform so that it can reliably map its surrounding and at the same time localize itself within that environment (something like [[https://www.youtube.com/watch?v=qZES5iKXiXY|this]]). * Keyword(s): mapping, localization, simultaneous-LAM ([[wp>simultaneous_localization_and_mapping|SLAM]]), mobile robot, player/stage software * Pre-requisite: Computer Programming, Maths * Objective: To develop a practical mapping and localization algorithm/application * Milestone 1: Developed Usable Mobile Robot Platform Model on Stage * Milestone 1: Integrated Basic Mapping Algorithm * Milestone 2: Integrated Localization Algorithm - **CAD Tool Development: Logic Simulator** * Description: This project is purely software development but with applications in digital electronics. It involves creating a simple netlist format for digital circuits and developing a parser for the format. The software need to be able to create internal data structure for the logic circuit and execute logic/timing simulation. A simple waveform viewer is also needed, but any available open-source tool can be used for this. * Keyword(s): CAD, circuit simulator, logic simulator * Pre-requisite: Computer Programming, Maths, Digital Logic * Objective: To develop a circuit (@logic) simulator * Milestone 1: Developed a parser for custom netlist and a data structure for logic circuit * Milestone 2: Developed timing/logic simulation tool * Milestone 3: Completed verification of timing/logic simulation tool | ====== Project Titles 2017 ====== ^ SYSTEM DEVELOPMENT ^ | - **Development of a Mobile Robot Platform** * Description: This project is mainly hardware development - with some coding on 8051 controller. * Keyword(s): microcontrollers, mobile robots, 8051 core * Pre-requisite(s): Digital Electronics, Microprocessor System, Microcontrollers/Embedded System * Objective: To develop a mobile robot platform with basic navigation features * Scope: * produce a working mobile robot platform (maybe something like [[https://arcbotics.com/products/sparki/|this]]? or [[https://www.youmagine.com/designs/scru-fe-simple-c-robot-with-ultra-sonic-sensor-for-education-arduino-uno-obstacle-avoidance-maze-programming|this...]]) * may use open designs available online * use free cad tools like [[https://www.freecadweb.org/|FreeCAD]] or [[https://www.openscad.org/|OpenSCAD]] * include/enable basic navigation interface (motor, servo, sensor, etc.) | ^ HARDWARE/BOARD DEVELOPMENT ^ | - **Extendable FPGA Development Board for Reconfigurable Computing Research Platform** * Description: This project is purely hardware development. * Keyword(s): FPGA, reconfigurable computing, development board * Pre-requisite: Digital Electronics, Microprocessor System * Objective: To develop an extendable FPGA development board to be used as platform for reconfigurable computing research/applications * Scope: * produce a working prototype for FPGA development board * design a working interface for future extensions * include/enable reconfigurable computing features in the design? | ^ DIGITAL SYSTEM DESIGN ^ | - **Implementation of OpenRisc Core on FPGA** * Description: This is a design project using VHDL * Keyword(s): [[https://openrisc.io/|OpenRISC]], FPGA, reconfigurable computing, microprocessor softcore * Pre-requisite: Digital Electronics, Microprocessor System, Computer Architecture * Objective: To implement custom OpenRISC core on FPGA * Scope: * implement a working core * testing and improvise (if possible) - **Implementation of 8051-Binary-Compatible Core on FPGA** **TAKEN** * Description: This is a design project using VHDL * Keyword(s): 8051, FPGA, reconfigurable computing, microcontroller softcore * Pre-requisite: Digital Electronics, Microprocessor System, Computer Architecture * Objective: To implement 8-bit microcontroller core (8051 clone) on FPGA * Scope: * implement a working core * testing and improvise (if possible) * **WARNING** An existing implementation is already available on the internet. Evaluation for this project will be based on progress - you need to show that you implement this on your own. - **Application of Random Number Generator (RNG) on FPGA (Simple Game Implementation?)** * Description: This is a design/analytical project based on the RNG proposed on [[https://www.labbookpages.co.uk/electronics/hwRNG.html|this page]]. * Keyword(s): RNG, random number generator, FPGA, reconfigurable computing * Pre-requisite: Digital Electronics, Computer Architecture * Objective: To study the effectiveness of hardware RNG on FPGA * Secondary Objective: To implement an application that utilize hardware RNG * Scope: * implementation, testing, and improvise (if possible) the proposed hardware RNG * testing is essential - maybe design an alternative test-suite to the one used - **Implementation of 16-bit Floating Point Arithmetic Unit on FPGA** * Description: This is a design project using VHDL * Keyword(s): floating-point arithmetic unit, FPGA, reconfigurable computing * Pre-requisite: Digital Electronics, Microprocessor System, Computer Architecture * Objective: To implement a custom 16-bit floating-point arithmetic unit on FPGA * Scope: * implement a working floating-point unit * testing and improvise (if possible) | ^ SOFTWARE DEVELOPMENT ^ | - **Mapping and Localization for Mobile Robot Platform Using Player/Stage** * Description: This project is purely software development but with embedded systems application. * Keyword(s): mapping, localization, simultaneous-LAM ([[wp>simultaneous_localization_and_mapping|SLAM]]), mobile robot, player/stage software * Pre-requisite: Computer Programming, Maths * Objective: To develop a practical mapping and localization algorithm/application for mobile robot platform * Scope: * using [[https://playerstage.sourceforge.net|this]] * something like [[https://www.youtube.com/watch?v=qZES5iKXiXY|this]] * test on simulator platform only... - **Implementation of Behavior-based Mobile Robot Platform** **TAKEN** * Description: This project is purely software development. * Keyword(s): behavior-based robot, evolutionary robotics * Pre-requisite: Computer Programming, Artificial Intelligence * Objective: To implement a behavior-based mobile robot system * Scope: * implement/analyze an evolutionary algorithm (like [[https://github.com/azman/my1genetic|this]]) * implement/modify a mobile robot platform (maybe based on [[https://github.com/azman/my1genbot|this]]) * explore/use [[https://github.com/rtv/Stage|Stage]] mobile robot simulator * simulate the system to train/evolve into a reliable system for a chosen application * Note: * sample implementation using [[https://robotics.ee.uwa.edu.au/eyebot/doc/sim/sim.html|EyeSim]] mobile robot simulator will be provided - **Development of Road Map Database for Web Applications** * Description: This project is purely software development. * Keyword(s): mapping, road maps * Pre-requisite: Computer Programming, Database/Web Programming * Objective: To develop a Road Map Database for Web application * Scope: * must build a proper database systems capable of storing road map data * data may be obtained from [[https://www.openstreetmap.org/|OSM]]? * must be able to serve road map data upon request * must implement a client-side sample application - **Development of Data Processing Software for Vehicle Monitoring System** * Description: This project is purely software development. * Keyword(s): data mining, data analysis * Pre-requisite: Computer Programming, Database/Web Programming * Objective: To develop a data processing software for Vehicle Monitoring System * Scope: * based on available data gathered by CEASTech's Vehicle Monitoring System * need to analyze useful information that can be generated * need to implement algorithm(s) to produce that information * must implement a client-side sample application - **Development of University Course/Student Data Management System** * Description: This project is purely software development. * Keyword(s): university course/student data management, data analysis * Pre-requisite: Computer Programming, Database/Web Programming * Objective: To develop a web-based software for University Course/Student Data Management * Scope: * basically continuing (finishing up) [[https://github.com/azman/my1unidata|this]] project * need to enable multiple admin, multiple lecturer per course * need to enable student to view current coursework marks | ====== Project Titles 2016 ====== ^ SYSTEM DEVELOPMENT ^ | - **Development of a Mobile Robot Platform** * Description: This project is mainly hardware development - with some coding on 8051 controller. * Keyword(s): microcontrollers, mobile robots, 8051 core * Pre-requisite(s): Digital Electronics, Microprocessor System, Microcontrollers/Embedded System * Objective: To develop a mobile robot platform with basic navigation features * Scope: * produce a working mobile robot platform (may use open designs available online) * include/enable basic navigation interface (motor, servo, sensor, etc.) - **Development of a Protoype Mobile Phone** **TAKEN** * Description: This project is an all around systems development (i.e. hardware interfacing, programming). * Keyword(s): Raspberry Pi, GSM, mobile phone * Pre-requisite(s): Digital Electronics, Microprocessor System, Microcontrollers/Embedded System * Objective: To develop a simple mobile phone with touch screen interface * Scope: * revolves around Raspberry Pi, a GSM module and an LCD with touch screen * working phone is the main priority * may include work on build custom android for benchmarking | ^ HARDWARE/BOARD DEVELOPMENT ^ | - **Extendable FPGA Development Board for Reconfigurable Computing Research Platform** * Description: This project is purely hardware development. * Keyword(s): FPGA, reconfigurable computing, development board * Pre-requisite: Digital Electronics, Microprocessor System * Objective: To develop an extendable FPGA development board to be used as platform for reconfigurable computing research/applications * Scope: * produce a working prototype for FPGA development board * design a working interface for future extensions * include/enable reconfigurable computing features in the design? | ^ DIGITAL SYSTEM DESIGN ^ | - **Implementation of OpenRisc Core on FPGA** * Description: This is a design project using VHDL * Keyword(s): [[https://openrisc.io/|OpenRISC]], FPGA, reconfigurable computing, microprocessor softcore * Pre-requisite: Digital Electronics, Microprocessor System, Computer Architecture * Objective: To implement custom OpenRISC core on FPGA * Scope: * implement a working core * testing and improvise (if possible) - **Implementation of 8085-Binary-Compatible Core on FPGA** **TAKEN** * Description: This is a design project using VHDL * Keyword(s): 8085, FPGA, reconfigurable computing, microprocessor softcore * Pre-requisite: Digital Electronics, Microprocessor System, Computer Architecture * Objective: To implement 8-bit microprocessor core (8085 clone) on FPGA * Scope: * implement a working core * testing and improvise (if possible) - **Implementation of 8051-Binary-Compatible Core on FPGA** * Description: This is a design project using VHDL * Keyword(s): 8051, FPGA, reconfigurable computing, microcontroller softcore * Pre-requisite: Digital Electronics, Microprocessor System, Computer Architecture * Objective: To implement 8-bit microcontroller core (8051 clone) on FPGA * Scope: * implement a working core * testing and improvise (if possible) * **WARNING** An existing implementation is already available on the internet. Evaluation for this project will be based on progress - you need to show that you implement this on your own. - **Application of Random Number Generator (RNG) on FPGA (Simple Game Implementation?)** * Description: This is a design/analytical project based on the RNG proposed on [[https://www.labbookpages.co.uk/electronics/hwRNG.html|this page]]. * Keyword(s): RNG, random number generator, FPGA, reconfigurable computing * Pre-requisite: Digital Electronics, Computer Architecture * Objective: To study the effectiveness of hardware RNG on FPGA * Secondary Objective: To implement an application that utilize hardware RNG * Scope: * implementation, testing, and improvise (if possible) the proposed hardware RNG * testing is essential - maybe design an alternative test-suite to the one used - **Implementation of 16-bit Floating Point Arithmetic Unit Core on FPGA** * Description: This is a design project using VHDL * Keyword(s): floating-point arithmetic unit, FPGA, reconfigurable computing * Pre-requisite: Digital Electronics, Microprocessor System, Computer Architecture * Objective: To implement a custom 16-bit floating-point arithmetic unit on FPGA * Scope: * implement a working floating-point unit * testing and improvise (if possible) | ^ SOFTWARE DEVELOPMENT ^ | - **Mapping and Localization for Mobile Robot Platform Using Player/Stage** * Description: This project is purely software development but with embedded systems application. * Keyword(s): mapping, localization, simultaneous-LAM ([[wp>simultaneous_localization_and_mapping|SLAM]]), mobile robot, player/stage software * Pre-requisite: Computer Programming, Maths * Objective: To develop a practical mapping and localization algorithm/application for mobile robot platform * Scope: * using [[https://playerstage.sourceforge.net|this]] * something like [[https://www.youtube.com/watch?v=qZES5iKXiXY|this]] * test on simulator platform only... - **CAD Tool Development: Circuit Simulator** **TAKEN** * Description: This project is purely software development but with applications in microelectronics. * Keyword(s): CAD, circuit simulator, logic simulator * Pre-requisite: Computer Programming, Maths, Semiconductor Devices, Digital Logic * Objective: To develop a circuit (@logic) simulator * Secondary Objective: develop a waveform viewer as well * Scope: * use open source parser or write own (can be a project on its own?) * must be capable of timing simulation (timing model) * alternatively: write a VHDL version of the [[https://www.icarus.com/eda/verilog/|Icarus Verilog]]? * another branch: start from spice3f5 - get it to compile on linux & improvise - **CAD Tool Development: Automatic Place & Route** * Description: This project is purely software development but with applications in microelectronics. * Keyword(s): CAD, automatic place and route, APR * Pre-requisite: Computer Programming, Maths, Semiconductor/PCB Layout * Objective: To develop an automatic place and route (APR) tool * Scope: * use open source parser or write own (can be a project on its own?) * can be board-level or ic-level (select input netlist type and output format) | ^ MICROELECTRONICS ^ | - **Development of Memristor Device Model for Spice Simulation** * Description: This project is purely software development but requires good background in low-level electronics (semiconductor physics). * Keyword(s): memristor, device model, spice * Pre-requisite: Computer Programming, Device Physics * Objective: To develop a spice simulation model for a memristor device * Scope: * obtain [[https://ngspice.sourceforge.net/|open-source spice simulator code]] * learn how a model is created in spice * learn characteristics of a memristor * write a device model for memristor * find a way to validate proposed memristor model * (if possible) fabricate a memristor, build a simple test circuit and verify simulation results? |