Skip to content

Latest commit

 

History

History
92 lines (81 loc) · 5.62 KB

0095-2023-06-14.md

File metadata and controls

92 lines (81 loc) · 5.62 KB

14 Jun 2023

Previous journal: Next journal:
0094-2023-06-12.md 0096-2023-06-17.md

Pico-DE0 adapter board

Firmware Implementation

So far this is very rough and ready, and I've started implementing it in Wokwi as a clumsy state machine using the RP2040 C SDK. The way I've done it should be very lightweight, and hopefully reliable, but probably hard to read/follow. Also need to work out later how we want to handle out-of-band stuff like reacting to whatever we consider an "interrupt".

  1. Start up with all GPIOs (except USB) set to input.
  2. Blink LED 3 times.
  3. Line-based comms? Even when doing binary payloads.
  4. Lines starting with # are ignored; a way to do debug output.
  5. Is ENTER key in minicom always just 0x0A (LF)? What about in PuTTY, etc?
  6. @ means "read all GPIOs" and returns state of GPIO[29:0] as a binary string (1s and 0s).
  7. e means "echo" and it repeats back its supplied parameter (though it may be truncated if it's too long).
  8. Good responses start with >, bad responses start with !, and comments (which could be considered logs or debug info) start with #.

Improvements for a proper prototype of the adapter board

When made as a proper PCB:

  • Two-way jumpers, one option going direct, other via current-limiting (safety) resistor. What's the max sink/source of both DE0 and Pico?
    • Cyclone IV data suggests max pin current of 25mA. Suggest we assume 20mA.
    • Discussion here on RP2040 suggests max pin current of 12mA. Suggest we assume 10mA. Thus, safety resistor on 3.3V short should be 330Ω
  • Header pins and header sockets.
  • Markers (silkscreen?) for danger pins.
  • T-shape?
  • Pico stand-off and swappability. Use 10-way stacking headers for DIP-IC-style pin profiles? DIP socket stripes.
  • Cuttable traces
  • Break-off strips that can be used to couple a breadboard into the adapter?

Notes