HamPy - STM32F405 I2C PA Interface

8 months ago 1561
  • Description
  • Documents
  • BOM
  • Attachments
  • Members
  • Comments


While routing the project slipped from simple arduino chip towards a full blown micropython platform and roughly 50 I/O pins. http://docs.micropython.org/en/latest/

This 5$ chip is super rich in interfaces, memory and insane speed

The core of the board is compatible to the pyboard, so all software and tools managed by that community can be used for PA radio play.

The interface and IO options are sort of Ham Radio specific, so I call the design a "Hampy"

STM32F405RG microcontroller 168 MHz Cortex M4 CPU with hardware floating point 1024KiB flash ROM and 192KiB RAM

On-board 3.3V POL voltage regulator, capable of supplying up to 3A, input voltage range 5V to 17V Micro USB connector for power and serial communication DFU bootloader in ROM for easy firmware upgrade and flash drive function

Total 51 GPIO channel 14 Relais output coked with LPF + ULN driver chip 12 ADC with 1kHz LPF 2 ADC 2.2MS/s 2x DAC 2.2MS/s 2x I2C (1 is 12V level extender) 2x UART 1x SPI / I2S

options for software are now:

  1. STM32Cube - full STM IDE and C/C++ environment for the geeks

  2. use it as a power arduino: https://www.stm32duino.com/viewforum.php?f=35

  3. as a pyboard running full micropython: http://docs.micropython.org/en/latest/

bootloading requires minimal tools: FTDI USB-serial cable to burn the image once a lifetime after that, use arduino IDE via USB DFU or micropython via usb file system. it is a flash drive disk to a windows/linux/PI

abundant choice of displays. I will try to add an e-paper (instead of stupid LED blinking) https://eckstein-shop.de/Waveshare-27-inch-264x176-E-Ink-E-Paper-Raw-Display-three-color-Arduino

a buzzer to allow error codes to be acustically send as morse code?

Several use-case for the connector: act as PA interface to be controlled by different Radios, simple arduino code available here: https://remoteqth.com/wiki/index.php?page=Band+decoder+for+Arduino ICOM CIF,Anlaog, YAESU, Kenwood CAT, or general Serial interface. Hermes-Lite 2 I2C interface (in both directions = we can send measured data back to SDR PC software or HL2)

The board can drive 16x 30V @ 500mA has free wheeling diodes so directly able to drive 5,12,24V Relais without additional peripheral.

Analog measurement with stable low pass filtering electronically and digital. The I/O is massive oversampling analog values. 2MHz sample rate allows even oscilloscope type of triggered scans up to 1MHz (no idea for what though) t lest there is a abundance of data that will allow to raise analog sampling precision mathematically to be improved to 16/18bit ADC resolution. The DB9 connector contacts are mapped by a jumper array to change different connections, like UART vs I2C vs serial by jumper settings we can choose which pin does what on the connector

my measurements in the PA are: 3x RF power forward, 3x SWR power, inrush current, voltage, 3x temperature, BIAS current, output frequency each measurement will be written to a 10min ringbuffer and need to be transferred to PC by I2C? so I can have a chart recorder on it.

The analog out may be used to output mp4 speech messages or simply morse text.




I2C Extender




ID Name Designator Footprint Quantity
1 22 R1,R2 R0402 2
2 32.768KHz X1 FC-135R_L3.2-W1.5 1
3 100K R6,R22 R0402 2
4 4.7k R5 R0402 1
5 1K R3,R4,R9,R10,R11,R12,R16,R15,R14,R13,R18,R19,R20,R21,R8,R7 R0402 16
6 47589-0001 USB1 MICRO-USB-SMD_47589-0001 1
7 100K R17 R0402 1
8 2.2uH L25 IND-SMD_L2.5-W2.0 1
9 HDR-M-2.54_2x15 J2,J3 HDR-M-2.54_2X15 2
10 K202XHT-E9S-N J1 K202XHTE9SN 1
11 ULN2003APWR U4,U3 TSSOP-16_L5.0-W4.4-P0.65-LS6.4-BL 2
12 12MHz X2 OSC-SMD_4P-L2.5-W2.0-BL 1
13 1KΩ L9,L10,L11,L12,L16,L15,L13,L14,L4,L3,L1,L2,L8,L7,L5,L6,L22,L21,L23,L24,L18,L17,L19,L20,L26,L27,L28,L29 L0402 28
14 220-2SMT-2*10PH=4.3 H1 HDR-SMD_20P-P2.00-V-R2-C10-S5.8 1
15 P82B96TD,118 U2 SOIC-8_L4.9-W3.9-P1.27-LS6.0-BL 1
16 100nF C21,C20,C22,C23,C24,C25,C26,C27,C19,C18,C17,C16,C15,C14,C12,C13 C0201 16
17 100nF C29,C28,C30,C31,C32,C33,C34,C35,C48,C49,C50,C51,C11,C10,C9,C45 C0402 16
18 10nF C42,C41,C40,C39,C38,C36,C37,C43,C52,C53,C54,C55 C0402 12
19 1TS028A-1500-0600-CT SW1 SW-SMD_4P-L2.8-W1.9-P1.20-LS3.0_1TS028A 1
20 1u C2 C0402 1
21 2.2p C3,C1 C0402 2
22 10p C4,C5 C0402 2
23 2.2u C7,C6 C0402 2
24 4.7uF C8 C0402 1
25 3.3n C47 C0603 1
26 10u C46 C0603 1
27 22u C44 C0603 1
28 TPS62132RGTR U5 VQFN-16_L3.0-W3.0-P0.50-BL-EP 1
29 STM32F405RGT6 U1 LQFP-64_L10.0-W10.0-P0.50-LS12.0-BL 1


The owner does not allow comments in this project now

Comments (1)

Håkan Franzen Reply


Thank alot for sharing this..

But is it really possible to connected the USB diretly to the microcontroller ?

Have you tested your design ?

你现在访问的是EasyEDA海外版,使用建立访问速度更快的国内版 https://lceda.cn(需要重新注册)
如果需要转移工程请在个人中心 - 工程 - 工程高级设置 - 下载工程,下载后在https://lceda.cn/editor 打开保存即可。
有问题联系QQ 3001956291 不再提醒
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow
We use cookies to offer you a better experience. Detailed information on the use of cookies on this website is provided in our Privacy Policy. By using this site, you consent to the use of our cookies.