← All resources

Hardware / A practical starting guide

Getting started with hardware development

A tiny screen, a few sensors, and software you can change. That’s enough to build a desk companion, a useful home controller, or the first version of a product.

20 kits & board families · 11 software tools · 9 project ideas
Reviewed 28 October 2026

Choose your starting point

These are different kinds of tools. Pick the kind of product you want to make, then choose the board.

A device with a screen
Start with an integrated LCD or AMOLED kit. A wired-up screen and working example remove a lot of early driver and pinout work.
A quiet, occasional-update display
Choose e-paper for a calendar or daily dashboard. Choose LCD / AMOLED for moving graphics, games, and responsive controls.
A small custom gadget
Choose an ESP32, XIAO, Nano, or Pico board and add the sensors and display you need. Expect more wiring and power-design work.
A Linux app in a box
Choose a Raspberry Pi computer for a browser kiosk, camera service, or software that needs Linux packages. Plan for boot time, storage, and power.

ESP32-S3 is a chip family; a development kit adds power circuitry, connectors, and sometimes a screen, microphone, or enclosure. The same chip does not mean two kits share firmware or pin mappings.

Your first working prototype — checklist & tools
  1. Bring up the board. Use a data-capable USB cable, install the correct board package, select the port, flash the vendor example, and read the serial output. Keep a copy of this known-working setup.
  2. Learn the electrical basics. Identify ground, supply voltage, GPIO, and current limits from the pinout. Most ESP32 GPIO uses 3.3 V logic; don’t assume a 5 V sensor output is safe.
  3. Read one input. Start with a button, then an I²C sensor. Learn pull-ups, debouncing, and the difference between I²C, SPI, UART, and I²S for audio.
  4. Draw one useful screen. Show a real value, add a loading or error state, and update it without freezing input. Learn timing and state machines before adding more features.
  5. Add connectivity. Fetch one JSON response or publish one MQTT message. Handle disconnects and timeouts. Keep service secrets in a backend where practical.
  6. Make it survive normal use. Test unplugging, rebooting, unavailable Wi-Fi, invalid data, and long runtimes. Add saved settings, update recovery, and power measurements as the project grows.

A small starter toolbox

One kit, a USB data cable, a multimeter, a breadboard, jumper wires, resistors, a button, and one documented sensor. Add a soldering iron when you need permanent connections; a logic analyzer is useful later. A ready-made screen kit can get you started with just USB.

Sources & further reading

Sources & further reading

Inspired by the project-first organization of awesome-esp32 and the browsable hardware catalog at Joseph Zhou’s AI Hardware. Descriptions here are original summaries; board and tool links above point to their own documentation.

Reviewed against available documentation on 28 October 2026. This is a learning guide, not a claim of hands-on testing of every kit. Confirm current hardware revisions, firmware support, licenses, and service requirements with the linked project.

[ system_help_v1.0 ]

Execute command sequence to navigate system

DirectoriesCMD
/root1
/about2
/blog3
/uses4
/books5
FunctionsCMD
tech_manifeststk
press_kit_hdpk
view_projectspr
ext_skcriptsc
GamesCMD
snake_gamesnake
tetris_gametris
breakoutbrk
dino_rundino
pongpong
memory_matchmem
tic_tac_toettt
typing_testwpm
game_of_lifelife
UtilitiesCMD
fortunefrtn
list_pagesls
navigatecd ___
pixel_drawdraw
Press [ESC] to Exit

Navigation

Quick access