Wednesday, April 17, 2013

STM32F4 Debug Board v1.0 Rev2

News about latest version STM32F4 Debug v1.0 Rev2 (updated 17 april 2013).
This board is intended to be used as a portable multi-purpose debug/hack tool with very fast peripherals and MCU and use standard Dangerous Prototypes Sick Of Beige DP6037 case format
A full open source firmware is planned using chibios and like Bus Pirate v3/4 user interface through serial terminal using the microUSB connector (the development of firmware will be during 2014 as i'm very busy to finish other projects).
The new revision v1.0 Rev2 fix routing problem and add a new feature a 2nd micro USB connector, which can be used as USB OTG FS DFU (device firmware upgrade) to avoid requirement of a JTAG probe for programming the firmware.
Depending on feedback this board could be connected to any Android phone/tablet (through microUSB connector) for portable usage to debug/hack electronic stuff everywhere.

This board has following features:

  • Use standard Dangerous Prototypes PCB size DP6037_v1 (see http://dangerousprototypes.com/docs/Sick_of_Beige_basic_case_v1) (very small 60mm x 37mm size).
  • Specific Top case already designed.
  • An easy plug and play board is already designed(see photo at bottom) to connect the TRF7970A BreakoutBoard 1.1 with this board (without need of any jumper/wire).
  • An easy plug and play Arduino board adaptor is planned to be designed for this board (depending on feedback).
  • MCU STM32F405RGT LQFP64:
    • MCU ARM 32-bit Cortex M4+FPU.
    • Frequency up to 168MHz(with power consumption of less than 100mA), memory protection unit, 210 DMIPS/1.25 DMIPS/MHz (Dhrystone 2.1), and DSP instructions.
    • 1MB Flash memory, SRAM 192KB and SRAM Backup 4KB.
    • DMA for almost all peripherals.
    • High speed IO and peripherals:
      • Fast I/O up to 84MHz.
      • USART up to 10.5Mbits/s.
      • I2С up to 400KHz.
      • SPI up to 37.5Mbits/s.
      • CAN.
      • SD/SDIO 1bits, 4bits(SD spec v2.0) or MMC up to 8bits (MMC v4.2) and up to 48MHz for 8bits mode.
      • ADC 12bits up to 7.2MSPS.
      • DAC 12bits.
    • Almost all I/O are 5V-tolerant (except PA4/PA5 for DAC_OUT are 3V3 only).
    • Special features embedded in hardware:
      • True random number generator.
      • CRC calculation.
      • 96-bit unique ID.
      • RTC (quartz not embedded on the board).



    STM32F4 Debug v1.0 Rev2 and DP6037 Case (17 April 2013)
  • Breakout of all pins (except those for USB and PC13 reserved for +5V/VUSB Enable/Disable).
  • Features of the STM32F4 Debug board:
    • Debug/Programming through low cost SWD Debug connector (can be programmed/debugged using a low cost STM32F4 Discovery board for less than 20US$).
    • Programming firmware through USB DFU (without any debugger) with USB0 FS.
    • Portable (with LiPo) and connection to any Android Phone/Tablet is planned (through USB).
    • Arduino adaptor board is planned (for less than 5US$).
    • Reset Button and choice of LiPo Charging Enabled or Disabled (COFF/CON).
    • Breakout of all 44 I/O.
    • Real Time Clock (RTC with Quartz 32.768KHz).
    • LEDs:
      • USB Led (ON when USB connected or when +5V enabled).
      • PWR Led (ON when main power +3v3 ON).
      • LIPO_C Led (ON when LiPo is charging).
    • USB 2.0 OTG FS Host or Device (Host with up to 500mA depending on LiPo battery).
      • For Host 5V/VUSB shall be enabled using MCU PC13 pin Enable="0", Disable="1", by default it is disabled with a pull-up resistor.
    • Power/LiPo battery managment:
      • Power through USB (micro USB) or LiPo battery with in both case 3.3V and 5V(enabled by software PC13).
      • Connect any cheap/standard LiPo using a JST 2mm and 2 pin connector (on bottom layer).
      • LiPo Fast Charge with current Limit up to 400mA.
      • Input current limit 500mA.
      • Possibility to Enable or Disable Battery Charging.
  • Peripherals available in parallel (through connector header):
    • SPI1 & SPI2.
    • I2C1 (no external pull-up required can be enabled by software).
    • USART1 (including clock), USART2.
    • ADC1, ADC2 and ADC3.
    • DAC1 and DAC2.
    • SDIO (1bits and 4bits).

    Other peripherals planned:
    • Nand Flash 8/16bits, SPIFI (Quad SPI Flash).
    • ARM JTAG/SWD Debugger.
    Adaptor Board to connect TRF7970A Breakout v1.1 with STM32F4 Debug v1.0
    Adaptor Board for TRF7970A BreakoutBoard v1.1 & STM32F4 Debug v1.0

    TRF7970A BreakoutBoard v1.1 + Adaptor Board + STM32F4 Debug v1.0



    Updated 17 April 2013

    23 comments:

    1. Hi TitanMKD,

      Have you already chosen chibios?

      I'm asking it because as you appear to have Linux background you could take a look at NuttX RTOS.

      This RTOS follows to POSIX and "mimetic" a Linux system and it has support to STM32F4 as well.

      Beside that the support from NuttX creator (Greg Nutt) is really fantastic, this make all difference.

      ReplyDelete
    2. I have now subscribed to your blog to see future updates on this :) Looking like an very useful piece of kit.

      ReplyDelete
    3. Hi,

      In fact I worked with chibios for long time (for my TRF7970A Breakout Board) and it just support all peripherals and with DMA and also with very tiny code and it is really fast (the fastest RTOS context switch) and the most important with hard real time, especially checked for a special constraint during NFC sniffing process loop the max time allowed was less than 1.18 microseconds (for 847.5KHz and Oversampling).

      If you have better argument for NuttX RTOS it is possible to switch on this OS but I really doubt it as all the features of ChibiOS (including all drivers).

      Best Regards
      Benjamin

      ReplyDelete
    4. I would love to lend a hand to firmware development if I can get a prototype. I know the STM32F103 back to front and I am the author of stm32flash, the linux based serial flash tool. I am yet to bite into a STM32F104 though but would be very keen to cut my teeth on this project.

      ReplyDelete
    5. Hi,

      I work for DFRobot's techsupport, I really like your project, would you be willing to share your PCB files with us? We will manufacture 10 of the PCBs for you, for free :) I'll speak to my boss, we might even be able to populate a few of them for you so you can give them away to developers who might help with the firmware. What do you think?

      You can e-mail me at hector AT dfrobot DOT com.

      Goodluck!

      ReplyDelete
    6. Hi TitanMKD,

      I have been thinking of working on STM32F4 series of processor for sometime now and this looks like a great project which will do justice in using all the capabilities of this chip. I would love to contribute on its firmware development. I dont know much about chibios yet, but i have played with libopemcm3 library on my discovery board.

      Regards
      --Vinit

      ReplyDelete
    7. The project is really interesting and I'd love to help out, I'm currently working with the STMF4 Discovery and chibos. I'm a software guy by trade so if there's anything I can do to help let me know.

      ReplyDelete
    8. Hi,

      I have been thinking of working with STM32F4 chip for some time and this looks like a really great project which will do justice to the capabilities of this MCU. i have experience with STM32Discoverykit and libopencm3 and would love to extend upon it to contribute to this project. please let me know of, for an help.

      --Vinit

      ReplyDelete
    9. Thanks all for your support in this project
      For developer I will create soon the project on github with a wiki/todo list and progress on this project
      For those interested to develop now you can buy the cheap stm32f4 discovery now and start development anyway this board will be used as debugger for the stm32f4 debug board
      Best regards
      Benjamin

      ReplyDelete
    10. ChibiOS has bad support for USB. USB Host is missing, USB Device has many problems.
      Also NuttX is bad, I tried it has many problems with USB. Maybe is better develop a firmware using ST's Standard Library.

      Giovanni

      ReplyDelete
    11. The other alternative is to use libopencm3 which support very well stm32f4 and have even USB CDC/DFU.
      Benjamin

      ReplyDelete
    12. How is the progress with this new device? WIll it basically be a Bus Pirate on Steroids?

      ReplyDelete
    13. Hi,

      I have a prototype working fine after fixing two problems (on MCU side VCAP1 & 2 was badly connected to 3V3 instead of capacitor which fried the MCU), so to have a clean design I will order some new boards V1.0 Rev2 with this problem fixed.

      About the price it depends on how much board can be sold.
      For basic version (No Lipo and no USB Host) the price for small quantities prototypes (<10) will be 40 euros.
      For fullversion (Lipo + USB Host) the price for small quantities prototypes (<10) will be 60 euros.

      But I plan to ask some pre-orders to build a batch of 100 boards at Seeed Studio or Itead and I hope the price will be 25euros for basic version and 45euros for full version.

      Also the design will be open source but only when final board will work fine, as i do not want to publish schematics/design if i'm not sure all is 100% working like expected.

      Best Regards
      Benjamin

      ReplyDelete
    14. Well that sounds real good. I am more an amateur rather than a complete knowledgable developer and not on a very big budget. I would be extremely interested in the full version of the board and at $45 euros that is doable for me. I do want the USB host. I will read more on Lipo but will always use it with a laptop so not sure if there is a need for battery in my case. I was going for the new http://cubieboard.org/ but rather wait and just order your product.

      ReplyDelete
    15. Nice work
      why don't u share the schematics and the source? I mean we could help
      anyway, keep it up ;)

      ReplyDelete
    16. Hi Aser,

      Schematics and source will be available (on my github) when I will be sure all work fine(mainly hw).
      For info I just received v1.0 Rev2 and I have added a new feature microUSB0 (in addition to USB1) in order to have a second USB for CDC/RAW and of course in order to boot on USB0 mode with DFU(from ROM) to flash the firmware without needing any external JTAG programmer.

      Best Regards
      Benjamin

      ReplyDelete
      Replies
      1. Hi Benjamin,

        I remember the same words for TRF7970A Breakout Board. Now it is closed source and closed hardware.
        Sorry, I think, will be the same story also for this project.

        Delete
      2. hi Giovanni

        The trf7970a is planned to be part of that board and will be the first sw and hw supported and when the port will be acceptable I will release all as open source

        Best regards
        Benjamin

        Delete
    17. Any plans to include CAN, I would love to see CANBus along with SPI, I2C etc..

      Regards,

      Mike Spitze

      ReplyDelete
    18. Hi Mike,

      CAN bus could be added later with a front-end board a bit like my NFC TRF7970A breakout board.
      The good news is it will requires only the CAN transceiver as the STM32F4 have hw support for CAN1 & 2, PB8/PB9 CAN1_RX/TX or/and PB5/PB6 for CAN2_RX/TX ...

      Best Regards
      Benjamin

      ReplyDelete
    19. Hi Ben,

      This is Calvin from Singapore. I am very interested with your development in Evalbot. We need to talk. Drop me an email calvin.oi.ts@gmail.com

      I look forward in your reply.

      Thank you.
      regards
      Calvin

      ReplyDelete
    20. Hi, when is Nand Flash 8/16bits, SPIFI (Quad SPI Flash) available?Any deadline planned :-)
      Thanks

      ReplyDelete
    21. Hi this feature have already been asked here: https://github.com/bvernoux/hydrafw/issues/12 (so please comment there)
      There is no any deadline as this project is done on my spare time and this feature is not in top priority, but you are free to work on it and push the code.

      Best Regards
      Benjamin

      ReplyDelete