• 15 bit color
  • 1 user button
  • stereo 12bit DAC
  • microSD driven by 4wire SDIO
  • 2 USB 2.0 host
  • 1 microUSB for power
  • UEXT extension port

Hardware Reference (for kernel coding)

  • User Button : PE15
    • use pullUP, set to GND when pressed
  • User LED : PA2
  • VGA : 
    • H Sync : PA1
    • V Sync : PA0
    • R : PE14-10
    • G : PE 9-5
    • B : PE 4-0
    • Main CPU frequency is 192MHz now. This means that a full screen range can be 700x480 (generated as 640x480, sync taken care by screens)
  • Audio :  
    • L : PA4, R : PA5
    • lowpass filter
  • Boot : 
    • Boot1 : pulled down, 
    • Boot0 : pulled down, jumper up
  • SDIO
    • SDIO 4pins used.
    • std SDIO pins, no pullup (use internal pullups)
    • Card sense on PC7 (no ext pullup, setup internal) ; set to GND if card present (see errata)
  • Dual USB host 
    • std pins
  • Micro USB : used for power.
    • 500mA power polyfuse
    • Can be used for full USB (even usb device w/ DFU) in place of USB HOST x using solder jumpers
  • Pullups (47k) on : 
    • PC11, PA10,PB5, PB11 (boot1)
  • UEXT 10-pins connector using
    • USART3 (TX/RX, no DFU), or PD8&9 
    • I2C1 (PB6/7)
    • SPI (PB9,10 /  PC2,3)
  • Swd 4 pins, requires power

Schematics, PCB : available on github



- The SDIO sense had a bad connexion to GND (cards seems to always be on).
Effect : SDIO card is always reported be present.
Workaround : This can be manually fixed by cutting a wire & rewiring gnd to nearby SWD by example.
Fixed : rev2b

- The Vref+ pin 21 was not put to VCC.
Effect : Sound does not work.
Workaround : solder to next pin 22 (vdda)
Fixed : rev2b


  1. What is the max size of the flash card?

    1. I haven't had any issue with a 2GB or 8GB, and Marcus did also test those cards. I don't have any other ones so I didn't test them: )

  2. Is the user code able to reliably receive and transmit UART data without losing bytes during video and sound processes?

    1. well the uart is recent but yes. The idea is that UART is polled during vblanks (to avoid collisions on buses)