The compatible board HNUCLEO-64 made with reference to NUCLEO-64 is based on Cortex-M3 HK32F103RBT6 (C482565) and is compatible with other chips with the same pin number (HK32F030Rx) and 64PIN microcontrollers from other manufacturers. Only individual short circuit points need to be modified.
The communication interface is changed to USB-C, and the Arduino interface and ST Morpho interface are reserved. Compatible with Arduino software framework and supports various Arduino expansion boards. Support mbed, support mbed SDK and online tools to quickly build product prototypes.
When using different chips (F0, F1, F4), you need to connect different short-circuit points on the bottom of the board; modifying the circuit function is also done by connecting the short-circuit points. The specific connection method will be updated later.
The onboard emulator can flash J-Link, ST-Link, and DAP-Link firmware. The picture temporarily shows STM32F103CBT6 and HK32F103CBT6A chips. It remains to be tested whether the HK32F103CBT6A chip can be used as an emulator chip (I bought HK32F103CBT6 by mistake before, without USB function) . If you need to download the program with one click, it is best to use J-Link firmware. ST-Link may cause errors when burning the HK32 chip. The firmware will be uploaded after subsequent experiments are completed.
Since it is compatible with multiple chips, the pin definitions corresponding to the headers may change, so two versions of the PCB are provided. The difference is only in the presence or absence of pin header markings on both sides, which correspond to the pin definitions of the F103 chip.
The minimum line width and spacing of the PCB in this project are 6mil, and the minimum via hole diameter is 12mil, which meets the requirements of conventional process board making. The size is 70.1mm*82.55mm, with two layers in total.
Component selection: Resistor-capacitor components and LED are both in 0603 package (10uF capacitor is in 0805 package), and the spacing between all pin headers and female pins is 2.54mm. Other components can be ordered according to the BOM or purchased by yourself.
The components marked SBxx are jumper points. Their main function is to select functions and pin adaptations. When making circuits, they can be short-circuited directly or soldered with 0R resistors. The labels are not consecutive, but have been modified to the same labels for compatibility with the NUCLEO board.
The short circuit point function and the default settings when using HK32F103RBT6 are given below:
label | Function | default value |
---|---|---|
SB2 | 3.3V LDO output connection, can be replaced with 6V0.5A resettable fuse | connect |
SB11 | The reset pin of the emulator chip can be short-circuited with tweezers during use. | disconnect |
SB12-16 | The emulator is connected to the board for control and needs to be connected when using the emulator | connect |
SB17 | Button B1 connects to PC13 | connect |
SB21 | LED light LD2 is connected to D13 | connect |
SB45 | Use VDD as VBAT input | connect |
SB48 | PC15(OSC32_OUT) output | disconnect |
SB49 | PC14(OSC32_IN) output | disconnect |
SB54 | PD1(OSC_OUT) output | connect |
SB55 | PD0(OSC_IN) output | disconnect |
SB50 | Use emulator output MCO as clock input | connect |
SB57 | Use VDD as VDDA input | connect |
SB60 | Connect VSS and VSSA | connect |
SB63 | PA2 lead out | disconnect |
label | Function | default value |
---|---|---|
SB61,62 | PIN17 function selection VREF(VDDA) PA3 | NONE |
SB53,58,59 | PIN18 function selection VSS PF4 PA3 | SB53 |
SB43,47 | PIN19 function selection VDD PF5 | SB43 |
SB64,65 | PIN27 function selection PB1 VREF(VDDA) | SB64 |
SB38 | PIN31 function selection VSS VCAP | SB38 |
SB34,37 | PIN33 function selection VDDA PB12 | SB37 |
SB26,27 | PIN34 function selection PB14 PB13 | SB27 |
SB22,23 | PIN35 function selection PB15 PB14 | SB23 |
SB18,19 | PIN36 function selection PD8 PB15 | SB19 |
SB32,33 | PIN47 function selection PF6 VSS VCAP | SB33 |
SB30,31 | PIN48 function selection PF7 VDD | SB31 |
SB20,40 | D11 pin select PB15 PA7 | SB40 |
SB24,41 | D12 pin select PB14 PA6 | SB41 |
SB29,42 | D13 pin select PB13 PA5 | SB42 |
SB46,56 | A4 pin select PB9 PC1 | SB56 |
SB51,52 | A5 pin select PC0 PB8 | SB51 |
SB25,36 | Pinout selection PB15 PA7 | SB25 |
SB28,39 | Pinout selection PB14 PA6 | SB28 |
SB35,44 | Pinout selection PB13 PA5 | SB35 |
When the main control chip is HK32F103RB, the reference welding finished product is as follows:
After welding is completed, the debugger firmware needs to be burned first.
If you need to burn multiple firmwares, it is recommended to prepare a J-Link or ST-Link V2-1. After burning ST-Link or J-Link firmware, reading the SWD port will be prohibited. If you want to change to other firmware, you need to create a new Keil project and use J-Link to burn it. At this time, you will be prompted to read the chip. There may be problems with protection and writing. Click OK to overwrite the firmware, and then you can flash other firmware. Or use other bin files to burn through a USB flash drive to overwrite the original firmware and then burn other firmware.
For the debugger firmware, see the attachment: debugger firmware.zip . Please read the instructions in the folder.
When using HK32 as the main control chip, it is recommended to burn J-Link firmware, which can be configured for one-click download in PlatformIO IDE. When selecting the Nucleo-64 development board in the Arduino IDE, the only available download method is ST-Link. If you need to use the Arduino IDE, it is recommended to select the chip model, namely Generate xxx. The disadvantage is that you cannot directly use the corresponding pin numbers on the board. And there is a lack of macro definitions for the default serial port and so on. This project example will use PlatformIO IDE and J-Link firmware.
Create an Arduino project, copy the code in Snake.zip, connect to the development board, compile and download.
The steering is controlled by a button on the board, and the sequence is: down->right->up->left->down cycle. If there is a five-way button module, it can be changed to one button for one direction.
Install the ST STM32 development board in PlatformIO IDE, open the sample project "OLED serial port screen" in the attachment, connect the development board, compile and download. Some tools may be installed during first-time burning. You can burn the program after the tools are installed.
Please wire according to the macro definition in the code and use the OLED display of the SPI interface. After burning the code, the LED on the development board will flash once, and then a picture will be displayed on the screen. At this time, use the Processing software to open the script ssd1306screen.pde and set the port number to the port number of the J-Link virtual serial port in the device manager. , run the script to display the processed computer screen image on the OLED screen.
You can easily configure pin functions using STM32CubeMX. Select the Nucleo F103RB development board and the onboard resources will be automatically configured. See the attachment for a sample project.
The additional development board manager URL is: https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package\_stm\_index.json
Install the PlatformIO IDE extension in vsc.
Install the ST STM32 development board.
Click New Project.
Select the corresponding development board.
Modify platformio.ini
the file.
Click on the lower left corner to compile and download. The initial download requires the installation of the tool chain, and you can download it after the installation is completed.
All reference designs on this site are sourced from major semiconductor manufacturers or collected online for learning and research. The copyright belongs to the semiconductor manufacturer or the original author. If you believe that the reference design of this site infringes upon your relevant rights and interests, please send us a rights notice. As a neutral platform service provider, we will take measures to delete the relevant content in accordance with relevant laws after receiving the relevant notice from the rights holder. Please send relevant notifications to email: bbs_service@eeworld.com.cn.
It is your responsibility to test the circuit yourself and determine its suitability for you. EEWorld will not be liable for direct, indirect, special, incidental, consequential or punitive damages arising from any cause or anything connected to any reference design used.
Supported by EEWorld Datasheet