Share
Embed
"My Jetson Nano Baseboard" Design
Slides about the design of My Jetson Nano Baseboard, a development board to help makers apply the basics of hardware design for their own projects.
Alexa Jakob
December 23, 2021
Transcript
26 slides
-
About Me • EE 4th year at the Cooper Union
• Focus on signals and materials, minors: CS & philosophy • Research in Autonomy Lab & Engineering Ethics • Involvement in SWE, cycling, climate -
About the Project • 2020 & 2021: Hardware Intern on
GPU Products Team at NVIDIA • Jetson Nano Developer Kit: small, low-power computer for AI applications • Challenges: • Designing custom hardware • Using Linux for Tegra (L4T) features module baseboard -
About the Project • Design a development board to: •
Provide open-source hardware design example • Design sample projects to teach L4T features • All accessible to average makers -
Requirements Gathering • Read forums (NVIDIA forum, Reddit, internal Slack),
talk to engineers • Main concerns: • Difficult to find simple hardware projects • No example boards for hardware design • Open source files are inaccessible -
Interfaces Interface My Jetson Nano Baseboard Original Jetson Nano Power
5V—4A 5V—4A or 5V USB Display HDMI HDMI and DisplayPort Internet No Ethernet Camera No CSI User-interactive buttons Power, Reset, ForceRecovery No Debug USB Yes No Attached Display I2C No Servo Header Yes No -
Schematic Design: On/Off Logic Function: after 10 seconds, turns module
off Design choices: • Values of R and C (co- layout for footprint flexibility) • Simulation in LTSpice of RC tolerances • Used instead of timing element because of cost and complexity -
Schematic Design: On/Off Logic Design choices: • NAND gives us
control over individual signals and less expensive vs D FF • Simulated in LTSpice, added test points for design for test -
Schematic Design: Level Shifters Shifts 1.8V to 5V output signal
Using transistor as level shifter allows us to save on cost and space -
Layout Design – Full Board Design choices: • Connector placement
• not interfere with connector housings • Allow makers to reuse existing Nano housings • Components grouped by zone (power, connector, level shift, buttons, etc) -
Layout Design: HDMI Routing • Differential pair length matching for
inter/intra pair skew • Voiding under pads (yellow hatched) • Line of sight ground vias for reduced EMI -
Layout Design: Level Shifters • Straight lines for layout looks
nice – shows thought and care put into designing product (good UX) • Helps organize an otherwise chaotic 40 pin header -
Layout Design: Power Conversion • 5V-3V3 Buck converter (left) –
3V3 pad is flooded (right) -
Manufacturing • Choose a manufacturer makers have access to •
JLCPCB chosen: inexpensive, quick turnaround • Parts in library vs parts bought separately: NVIDIA technicians did some soldering • Final cost: $440/10 boards (vs $99 for 1 dev kit) • PCB assembly, parts, stencils, shipping -
Validation • Bringup: prior to power-on, checking shorts and ensure
diode/transistor characteristics • Functional: testing all interfaces for functionality • Electrical: IO meets specifications • Power: test efficiency, noise, characteristics of power sources & test power sequencing * Electrical and power validation not performed due to time and equipment constraints working from home -
Validation: Power LEDs • Problem: • LEDs did not light
on 1/8 boards • Behavior: • LED correct direction • Power on sequence as expected – rails are at correct levels • GPIO04 remains low (0.6V), should be high (1.8V) • No voltage drop across R32 • Insufficient voltage drop across D6 -
Validation: Power LEDs • Steps: • Removed R31 to ensure
no loading effects from transistor • Checked electrical connections to ensure transistor was not misaligned • Cause: • Transistor threshold is variable • Fixes: • Add external 10k pullup to 1.8V • Change transistor package to avoid misalign * Issue on one board betrayed larger issue for broader design! -
Validation: HDMI Bug • Problem: HDMI resolution (720, top) is
half the expected (1440, bottom) • Behavior: • Present on all boards • Using same module for both baseboards – likely a HW issue • Theories: • Tune resistor values? • Software issue? • EEPROM read to confirm HDMI resolution? -
Validation: HDMI Bug • Procedure: • Talked to HDMI signal
integrity lead • Talked to my manager • Check EDIDs – diff resolutions, otherwise same • Check HDMI power rails at load switch – aha! • Root cause: • HDMI_5V was 2.2V when plugged in, 5V when unplugged • Clamping voltage beyond capabilities = clamping current MT9700 Chip Maximum Rset: 11k My R91 value: 120k -
Validation: HDMI Bug • Fix: • Change R91 from 120k
to 11k • Higher current limit than spec, but don’t need to change part -
Interfacing with Other Teams • GPU Products Team (my team)
• Advice from Design, Layout, Software Engineers • Legal • Developed appropriate license for open-source project • Marketing & Developer Relations • Filmed series of videos for Instagram and YouTube • Advised sample projects • Signal Integrity • Advised differential pair design and layout -
Sample Projects • Wrote code in Python & bash for
sample projects: • Toggling a GPIO • Controlling a servo motor • Using an I2C display • Designed support for OLED display in OnShape -
Marketing • Worked with marketing to storyboard, script, and film
educational videos about the design process • Videos for TikTok & YouTube on the NVIDIA Embedded channel • Participated in intern panel talking about project -
Learnings • Asking the right questions to the right people
• Managing lead time (especially with parts shortages) • Applying learnings from school (e.g. transmission lines & differential pair routing)