NELIX Silicon Lab Docs Launch Silicon Lab Launch Silicon Lab

The guided projects

Five projects of rising difficulty, from running a finished design to writing a UART transmitter.

Student 1 min read · Updated 2026-10-05

On this page See the listThe fiveHow to work through oneWhat each one teachesWhen you are stuckAfter the five

The lab has five guided projects. Each is a small design with a goal, and a file named START_HERE.md that tells you what to do. They are meant to be done in order.

See the list#

sh
nelix learn

It prints the five projects and the command that creates each.

The five#

ProjectCommandYou will
1Your first chipnelix new g1-counter --template g1-counterTake a working 8-bit counter through the whole flow
2Find the bugnelix new g2-debug --template g2-debugMake a failing test pass by fixing one line of RTL
3Finish the designnelix new g3-pwm --template g3-pwmWrite the missing logic of a PWM output
4State machinenelix new g4-fsm --template g4-fsmComplete a state machine that detects the pattern 1011
5UART transmitternelix new g5-uart --template g5-uartFinish a serial transmitter

How to work through one#

  1. Create it, and move into its folder.
  2. Read START_HERE.md.
  3. Follow its steps. Each project says what a correct result looks like.
sh
nelix new g1-counter --template g1-counter
cd ~/project/g1-counter
cat START_HERE.md

What each one teaches#

ProjectThe idea
1The flow itself: simulate, synthesize, build, look
2Reading a failure message and a waveform to find a bug. The rule: fix the RTL, do not change the test
3Reading a specification in a comment, and turning one sentence into one line of logic
4Drawing states on paper before writing code, and handling overlap
5A real protocol: a start bit, eight data bits, a stop bit

When you are stuck#

  • The failure message of each project's test is written to help: it says what was expected and what was seen.
  • nelix waveform shows the moment things went wrong.
  • In Design Chat, ask Nelix Agent to explain the specification or the failure. Try to write the fix yourself first; that is where the learning is.

After the five#

Start from --template blank and build something of your own. Build an ALU is a worked example.

Related

Something unclear or missing? Send feedbackSign in and use Feedback to tell us.