{"id":1005,"date":"2026-01-12T17:12:46","date_gmt":"2026-01-12T09:12:46","guid":{"rendered":"https:\/\/blog.utem.edu.my\/zarinanoh\/?page_id=1005"},"modified":"2026-02-06T13:49:34","modified_gmt":"2026-02-06T05:49:34","slug":"embedded_system_design","status":"publish","type":"page","link":"https:\/\/blog.utem.edu.my\/zarinanoh\/embedded_system_design\/","title":{"rendered":"Embedded System Design"},"content":{"rendered":"\n<ul class=\"wp-block-list\">\n<li><a href=\"http:\/\/&quot;https:\/\/blog.utem.edu.my\/zarinanoh\/embedded_system_design\/#es1\">NUCLEO-F446RE Using C\/C++<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/blog.utem.edu.my\/zarinanoh\/embedded_system_design\/#es2\">mbed LPC1768 Using Assembly Language<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/blog.utem.edu.my\/zarinanoh\/embedded_system_design\/#es3\">Arduino Using C\/C++<\/a><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"es1\">NUCLEO-F446RE Using C\/C++<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Development Software \/ Program Code: <br>Download the <a href=\"https:\/\/www.st.com\/en\/development-tools\/stm32cubeide.html#get-software\">STM32CubeIDE <\/a>to get the development tools for the STM32 microcontroller. Refer to <a href=\"https:\/\/wiki.st.com\/stm32mcu\/wiki\/Category:Getting_started_with_STM32_:_STM32_step_by_step\">STM32 Wiki<\/a> page to get the steps and process involved in the software installations.<\/li>\n\n\n\n<li>NUCLEO-F446RE Board:<br>The board and its general information can be obtained in the <a href=\"https:\/\/www.st.com\/en\/evaluation-tools\/nucleo-f446re.html#overview\">STMicroelectronics page<\/a>. The board specification helps in determining whether it suits the embedded system requirement or not.<\/li>\n\n\n\n<li>Online Simulator:<br>One of the convenient online simulator to test out the preliminary circuit design and its coding is <a href=\"https:\/\/wokwi.com\/\">Wokwi<\/a>. Sample circuits are available on the page to learn on the go.<\/li>\n\n\n\n<li>Sample Circuit, Simulation and Prototype:<br>(a) Digital Input \/ Output Using Two Pushbuttons and 7-segment Display: Online Simulation, Debug Environment in STM32CubeIDE, Prototype Demonstration<br>(b) Analog Interfacing Using Light Dependent Resistor (LDR) and LED: Online Simulation, Debug Environment in STM32CubeIDE, Prototype Demonstration<br>(c) Ultrasonic Sensor and Stepper Motor Control: Online Simulation, Debug Environment in STM32CubeIDE, Prototype Demonstration<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"es2\">mbed LPC1768 Using Assembly Language<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Development Software \/ Program Code: <br>Download the <a href=\"https:\/\/www.keil.com\/download\/product\/\">Keil MDK<\/a> to get the development tools for the mbed LPC1768 microcontroller. The source file for the board can be written in C as well, but the guide in this page is more on the Assembly Language programming.<\/li>\n\n\n\n<li>Assembly Language Instruction Set:<br>The processor in LPC1768 is ARM Cortex-M3, hence the assembly language instruction set can be referred to the <a href=\"https:\/\/developer.arm.com\/documentation\/dui0552\/a\/the-cortex-m3-instruction-set?lang=en\">official ARM webpage<\/a>.<\/li>\n\n\n\n<li>mbed LPC1768 microcontroller board:<br>The board and its schematic diagram can be obtained in the <a href=\"https:\/\/www.nxp.com\/docs\/en\/brochure\/LPC1768.pdf\">NXP page<\/a>. The pinouts and board specification helps in determining whether the board suits the embedded system requirement or not.<\/li>\n\n\n\n<li>Light-Weight Simulator for Programming Practice:<br>One of the convenient simulator to test out the preliminary assembly language code is <a href=\"https:\/\/tomcl.github.io\/visual2.github.io\/\">VisUAL2<\/a>. There are some limitations to it which had been detail out in its documentation but overall it is a good starting platform for programming practice.<\/li>\n\n\n\n<li>Sample Project and Simulation using Keil \u00b5Vision<br>(a) Digital Input \/ Output<br>(b) Analog Interfacing<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"es3\">Arduino Using C\/C++<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Development Software \/ Program Code: <br>Download the <a href=\"https:\/\/www.arduino.cc\/en\/software\">Arduino IDE<\/a> to get the development tools for the Arduino boards. Refer to <a href=\"https:\/\/docs.arduino.cc\/?_gl=1*1acykq*_up*MQ..*_ga*NTM2OTU3MDczLjE3NjgyMDg3OTQ.*_ga_NEXN8H46L5*czE3NjgyMDg3OTMkbzEkZzAkdDE3NjgyMDg3OTMkajYwJGwwJGg5OTc3NTQ5\">Arduino documentation<\/a> page to explore more on Arduino boards features.<\/li>\n\n\n\n<li>Arduino Board:<br>The board and its schematic diagram can be obtained in its <a href=\"https:\/\/docs.arduino.cc\/hardware\/?_gl=1*v5nr21*_up*MQ..*_ga*Nzc1OTUzMTA0LjE3NjgyMDg4MTI.*_ga_NEXN8H46L5*czE3NjgyMDg4MTAkbzEkZzAkdDE3NjgyMDg4MTAkajYwJGwwJGgxNjIwODQxMTQ1\">documentation<\/a> page. The pinouts and board specification helps in determining whether the board suits the embedded system requirement or not.<\/li>\n\n\n\n<li>Online Simulator:<br>One of the convenient online simulator to test out the preliminary circuit design and its coding is <a href=\"https:\/\/wokwi.com\/\">Wokwi<\/a>. Sample circuits are available on the page to learn on the go.<\/li>\n\n\n\n<li>Sample Project and Simulation:<br>(a) Digital Input \/ Output: <a href=\"https:\/\/wokwi.com\/projects\/455083500872437761\">Online Simulation<\/a><br>(b) Analog Interfacing Using Light Dependent Resistor (LDR) module and LEDs: <a href=\"https:\/\/wokwi.com\/projects\/455093723054486529\">Online Simulation<\/a><\/li>\n\n\n\n<li>Prototype Demonstration<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<pre class=\"wp-block-preformatted\">Last Updated: January 12, 2026<\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>NUCLEO-F446RE Using C\/C++ mbed LPC1768 Using Assembly Language Arduino Using C\/C++ Last Updated: January 12, 2026<\/p>\n","protected":false},"author":78,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1005","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blog.utem.edu.my\/zarinanoh\/wp-json\/wp\/v2\/pages\/1005","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.utem.edu.my\/zarinanoh\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blog.utem.edu.my\/zarinanoh\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blog.utem.edu.my\/zarinanoh\/wp-json\/wp\/v2\/users\/78"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.utem.edu.my\/zarinanoh\/wp-json\/wp\/v2\/comments?post=1005"}],"version-history":[{"count":0,"href":"https:\/\/blog.utem.edu.my\/zarinanoh\/wp-json\/wp\/v2\/pages\/1005\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.utem.edu.my\/zarinanoh\/wp-json\/wp\/v2\/media?parent=1005"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}