As of August 2020 the site you are on ( is deprecated, and content is now at


Jump to: navigation, search

Tutorial B1 Building a SimpleSerial Project

11 bytes added, 14:22, 1 May 2018
no edit summary
<h1h2> What is SimpleSerial </h1h2>
[[SimpleSerial]] is the communications protocol used for almost all of the ChipWhisperer demo project. It's a very basic serial protocol which can be easily implemented on most systems. This system communicates using a standard asyncronous serial protocol, 38400 baud, 8-N-1.
: This is the response from the system. If data has been encrypted with a 'p' for example, the system will respond with the 'r' sequence automatically. So sending the earlier example means the result of the encryption was <code>cbbd4a2b34f2571758ff6a797e09859d</code>.
<h1h2> Building the Basic Example </h1h2>
You'll need to have installed avr-gcc and avr-libc. You may have already done this by following the installation guide, or if using the ChipWhisperer-VM it comes prepared with avr-gcc already setup. See the [[Installing_ChipWhisperer]] guide for details.
<h1h2> Modifying the Basic Example </h1h2>
At this point we want to modify the system to perform 'something' with the data, such that we can confirm the system is working. To do so, open the file <code>simpleserial-base.c</code> with a code editor such as ''Programmer's Notepad'' (which ships with WinAVR).
|intro = == = Completing Tutorial with CW1173 (Lite) ===
|content= Completing Tutorial with CW1173}}
|intro = == = Completing Tutorial with CW1173 (Lite) + UFO Board ===
|content= Completing Tutorial with CW1173 UFO Board}}
|intro = == = Completing Tutorial with CW1200 (Pro) ===
|content= Completing Tutorial with CW1200}}
<h1h2> Conclusion </h1h2>
In this tutorial you have learned how to build a custom program for the microcontroller on the ChipWhisperer target board. You have programmed the built .hex file into the microcontroller, and confirmed communications with the ChipWhisperer device.
In future labs you will build on this knowledge to attack specific instructions.
<h1h2> Troubleshooting </h1h2>
Issues with compilation:

Navigation menu