Skip to content

Commit a72c603

Browse files
committed
Merge branch 'release/v0.5.1'
2 parents abfcdc7 + 56e4812 commit a72c603

File tree

8 files changed

+383
-15
lines changed

8 files changed

+383
-15
lines changed

.github/workflows/kicad-release.yml

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,18 @@ jobs:
1414
uses: actions/checkout@v2
1515
with:
1616
submodules: recursive
17-
- name: Set version number # Replace [Uncontrolled] with actual tag
17+
- name: Get Branch Name
18+
id: branch_name
19+
run: |
20+
echo ::set-output name=SOURCE_NAME::${GITHUB_REF#refs/*/}
21+
echo ::set-output name=SOURCE_BRANCH::${GITHUB_REF#refs/heads/}
22+
echo ::set-output name=SOURCE_TAG::${GITHUB_REF#refs/tags/}
23+
- name: Set version number
1824
env:
19-
GITHUB_REF: ${{ github.ref }}
25+
SOURCE_TAG: ${{ steps.branch_name.outputs.SOURCE_TAG }}
2026
run: |
21-
sed -i "s~\[Uncontrolled\]~${GITHUB_REF/#refs\/tags\/}~g" Kicad/*.sch Kicad/*.kicad_pcb
22-
- name: Build project # This would actually build your project, using zip for an example artifact
27+
sed -i "s~\[Uncontrolled\]~${SOURCE_TAG}~g" Kicad/*.sch Kicad/*.kicad_pcb
28+
- name: Build project
2329
uses: nerdyscout/[email protected]
2430
with:
2531
config: 'Kicad/docs.kibot.yaml'
@@ -33,7 +39,7 @@ jobs:
3339
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
3440
with:
3541
tag_name: ${{ github.ref }}
36-
release_name: Release ${{ github.ref }}
42+
release_name: Release ${{ steps.branch_name.outputs.SOURCE_TAG }}
3743
draft: false
3844
prerelease: false
3945
- name: Build gerbers zip file
@@ -44,9 +50,6 @@ jobs:
4450
with:
4551
files: |
4652
neotron-pico-gerbers.zip
47-
docs/pdfs/*.pdf
48-
docs/ibom/*.html
49-
docs/*.txt
50-
docs/*.csv
53+
docs/*
5154
env:
5255
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/kicad.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ jobs:
2222
uses: actions/checkout@v2
2323
with:
2424
submodules: recursive
25+
- name: Set version number
26+
env:
27+
GITHUB_SHA: ${{ github.sha }}
28+
run: |
29+
sed -i "s~\[Uncontrolled\]~${GITHUB_SHA:0:6}~g" Kicad/*.sch Kicad/*.kicad_pcb
2530
- name: Run KiBot
2631
uses: nerdyscout/[email protected]
2732
with:

CHANGELOG.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Changelog
2+
3+
# Unreleased Changes
4+
5+
# [Version v0.5.1](https://github.com/Neotron-Compute/Neotron-Pico/releases/tag/v0.5.1)
6+
7+
* Moved BOOT0 silkscreen
8+
* Moved labels for BMC SWD and UART ports
9+
* Moved some vias near the BMC to improve the ground pour
10+
* Added version numbers to the release outputs
11+
* Added PNG, SVG and STEP releaseoutputs
12+
13+
# [Version v0.5.0](https://github.com/Neotron-Compute/Neotron-Pico/releases/tag/v0.5.0)
14+
15+
* Sent to JLCPCB to assembly.
16+
* Note that C901 and C902 part no.s were wrong and were manually fixed before ordering.
17+
* Replaced SIP resistor array for PS/2 ports with four SMD resistors
18+
19+
# [Version v0.4.0](https://github.com/Neotron-Compute/Neotron-Pico/releases/tag/v0.4.0)
20+
21+
* Swap fill on bottom layer to be 3.3V not Ground
22+
* Replace RTC with DIP package due to availability
23+
* Increase size of electrolytic capacitor footprint, to better suit size of common parts
24+
* Replaced VGA connector - in-stock ones have the pins set back from the board edge
25+
26+
# [Version v0.3.0](https://github.com/Neotron-Compute/Neotron-Pico/releases/tag/v0.3.0)
27+
28+
* Adds via stitching around the edge of the board
29+
30+
# [Version v0.2.0](https://github.com/Neotron-Compute/Neotron-Pico/releases/tag/v0.2.0)
31+
32+
* First complete PCB layout
33+

CubeMX/CubeMX.ioc

Lines changed: 241 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,241 @@
1+
#MicroXplorer Configuration settings - do not modify
2+
Mcu.Family=STM32F0
3+
ProjectManager.MainLocation=Core/Src
4+
RCC.MCOFreq_Value=48000000
5+
Dma.SPI1_TX.1.Priority=DMA_PRIORITY_LOW
6+
PA6.Mode=Full_Duplex_Slave
7+
RCC.USART1Freq_Value=48000000
8+
I2C1.I2C_Speed_Mode=I2C_Standard
9+
ProjectManager.KeepUserCode=true
10+
Mcu.UserName=STM32F031K6Tx
11+
SPI1.VirtualType=VM_SLAVE
12+
RCC.PLLCLKFreq_Value=48000000
13+
PA0.GPIO_Label=MON_3V3
14+
ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_DMA_Init-DMA-false-HAL-true,3-SystemClock_Config-RCC-false-HAL-false,4-MX_ADC_Init-ADC-false-HAL-true,5-MX_SPI1_Init-SPI1-false-HAL-true
15+
PA9.GPIOParameters=GPIO_Label
16+
Dma.SPI1_TX.1.PeriphInc=DMA_PINC_DISABLE
17+
PA11.Mode=CTS_RTS
18+
PA3.GPIOParameters=GPIO_Label
19+
PA6.GPIO_Label=SPI_CIPO
20+
PB0.GPIO_Label=BUTTON_nRST
21+
NVIC.SVC_IRQn=true\:0\:0\:false\:false\:true\:false\:false
22+
USART1.IPParameters=VirtualMode-Asynchronous
23+
PA2.GPIOParameters=GPIO_Label
24+
PinOutPanel.RotationAngle=0
25+
RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK
26+
ProjectManager.StackSize=0x400
27+
PB5.GPIOParameters=GPIO_Label
28+
Mcu.IP4=RCC
29+
RCC.FCLKCortexFreq_Value=48000000
30+
Mcu.IP5=SPI1
31+
Mcu.IP2=I2C1
32+
I2C1.IPParameters=I2C_Speed_Mode
33+
Mcu.IP3=NVIC
34+
PA15.GPIO_Label=PS2_CLK0
35+
PB4.GPIOParameters=GPIO_Label
36+
Mcu.IP0=ADC
37+
Mcu.IP1=DMA
38+
PA12.Locked=true
39+
PA12.Signal=USART1_RTS
40+
SH.GPXTI3.ConfNb=1
41+
Mcu.UserConstants=
42+
Dma.SPI1_RX.0.Direction=DMA_PERIPH_TO_MEMORY
43+
PA4.Mode=NSS_Signal_Hard_Input
44+
Mcu.ThirdPartyNb=0
45+
SPI1.Direction=SPI_DIRECTION_2LINES
46+
RCC.HCLKFreq_Value=48000000
47+
Mcu.IPNb=8
48+
ProjectManager.PreviousToolchain=
49+
PB6.Signal=USART1_TX
50+
PB6.Mode=Asynchronous
51+
PA8.GPIOParameters=GPIO_Label
52+
Mcu.Pin6=PA4
53+
Mcu.Pin7=PA5
54+
Mcu.Pin8=PA6
55+
Mcu.Pin9=PA7
56+
RCC.AHBFreq_Value=48000000
57+
Mcu.Pin0=PF0-OSC_IN
58+
Mcu.Pin1=PF1-OSC_OUT
59+
GPIO.groupedBy=Group By Peripherals
60+
Mcu.Pin2=PA0
61+
Mcu.Pin3=PA1
62+
Mcu.Pin4=PA2
63+
Mcu.Pin5=PA3
64+
Dma.SPI1_TX.1.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
65+
ProjectManager.ProjectBuild=false
66+
PA0.Locked=true
67+
PF0-OSC_IN.GPIO_Label=BUTTON_nPWR
68+
PA8.Locked=true
69+
PA4.Locked=true
70+
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
71+
RCC.PLLMUL=RCC_PLL_MUL12
72+
Dma.SPI1_RX.0.PeriphInc=DMA_PINC_DISABLE
73+
ProjectManager.FirmwarePackage=STM32Cube FW_F0 V1.11.2
74+
MxDb.Version=DB.6.0.21
75+
PB0.GPIOParameters=GPIO_Label
76+
PA1.GPIOParameters=GPIO_Label
77+
ProjectManager.BackupPrevious=false
78+
Dma.SPI1_TX.1.Mode=DMA_NORMAL
79+
PF0-OSC_IN.Locked=true
80+
PA14.Mode=Serial_Wire
81+
PB1.GPIO_Label=DC_ON
82+
SPI1.DataSize=SPI_DATASIZE_8BIT
83+
File.Version=6
84+
PA10.GPIO_Label=I2C1_SDA
85+
PA0.Mode=IN0
86+
PB3.GPIOParameters=GPIO_Label
87+
PB7.Signal=USART1_RX
88+
PA8.Signal=GPIO_Output
89+
SPI1.VirtualNSS=VM_NSSHARD
90+
PB6.Locked=true
91+
NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false
92+
Dma.RequestsNb=2
93+
ProjectManager.HalAssertFull=false
94+
PB0.Locked=true
95+
ProjectManager.ProjectName=CubeMX
96+
PA0.Signal=ADC_IN0
97+
RCC.PLLMCOFreq_Value=48000000
98+
Dma.SPI1_TX.1.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority
99+
Mcu.Package=LQFP32
100+
PB1.Signal=GPIO_Output
101+
PA6.Signal=SPI1_MISO
102+
PA7.Locked=true
103+
PA5.Locked=true
104+
PA14.Locked=true
105+
ProjectManager.ToolChainLocation=
106+
PA2.GPIO_Label=LED0
107+
VP_SYS_VS_Systick.Signal=SYS_VS_Systick
108+
PA10.Signal=I2C1_SDA
109+
PA15.Signal=GPXTI15
110+
PA5.GPIOParameters=GPIO_Label
111+
PB5.GPIO_Label=PS2_DAT1
112+
Dma.Request1=SPI1_TX
113+
RCC.APB1TimFreq_Value=48000000
114+
Dma.SPI1_RX.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority
115+
Dma.Request0=SPI1_RX
116+
PA4.GPIO_Label=SPI_nCS
117+
ProjectManager.CustomerFirmwarePackage=
118+
PF1-OSC_OUT.Signal=GPIO_Output
119+
Dma.SPI1_TX.1.Instance=DMA1_Channel3
120+
PB3.Locked=true
121+
PB4.Signal=GPIO_Input
122+
PA3.Signal=GPIO_Output
123+
PA5.Mode=Full_Duplex_Slave
124+
PA2.Locked=true
125+
PB3.GPIO_Label=PS2_CLK1
126+
PA6.GPIOParameters=GPIO_Label
127+
RCC.I2SFreq_Value=48000000
128+
Dma.SPI1_TX.1.MemInc=DMA_MINC_ENABLE
129+
ProjectManager.ProjectFileName=CubeMX.ioc
130+
PA7.Mode=Full_Duplex_Slave
131+
PA10.Mode=I2C
132+
PA15.GPIOParameters=GPIO_Label
133+
Mcu.PinsNb=26
134+
ProjectManager.NoMain=false
135+
SPI1.IPParameters=VirtualType,Mode,Direction,VirtualNSS,DataSize
136+
PA9.GPIO_Label=I2C1_SCL
137+
ProjectManager.DefaultFWLocation=true
138+
ProjectManager.DeletePrevious=true
139+
PF1-OSC_OUT.Locked=true
140+
Dma.SPI1_RX.0.Mode=DMA_NORMAL
141+
Dma.SPI1_TX.1.Direction=DMA_MEMORY_TO_PERIPH
142+
RCC.FamilyName=M
143+
USART1.VirtualMode-Asynchronous=VM_ASYNC
144+
PA13.Signal=SYS_SWDIO
145+
PA15.Locked=true
146+
PA11.Locked=true
147+
PA9.Mode=I2C
148+
Dma.SPI1_TX.1.MemDataAlignment=DMA_MDATAALIGN_BYTE
149+
PA8.GPIO_Label=IRQ_nHOST
150+
ProjectManager.TargetToolchain=EWARM V8.32
151+
PA9.Signal=I2C1_SCL
152+
PB5.Locked=true
153+
ProjectManager.RegisterCallBack=
154+
PF1-OSC_OUT.GPIOParameters=GPIO_Label
155+
PA1.Signal=ADC_IN1
156+
PB1.Locked=true
157+
PA5.Signal=SPI1_SCK
158+
board=custom
159+
SH.GPXTI3.0=GPIO_EXTI3
160+
ProjectManager.LastFirmware=true
161+
PA1.Mode=IN1
162+
MxCube.Version=6.2.1
163+
PB4.GPIO_Label=PS2_DAT0
164+
RCC.I2C1Freq_Value=8000000
165+
SPI1.Mode=SPI_MODE_SLAVE
166+
Dma.SPI1_RX.0.Instance=DMA1_Channel2
167+
PA1.GPIO_Label=MON_5V0
168+
PF1-OSC_OUT.GPIO_Label=HOST_nRST
169+
PA10.GPIOParameters=GPIO_Label
170+
VP_SYS_VS_Systick.Mode=SysTick
171+
Dma.SPI1_RX.0.PeriphDataAlignment=DMA_PDATAALIGN_BYTE
172+
PA9.Locked=true
173+
Dma.SPI1_RX.0.MemDataAlignment=DMA_MDATAALIGN_BYTE
174+
NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false
175+
PA4.GPIOParameters=GPIO_Label
176+
PA13.Mode=Serial_Wire
177+
ProjectManager.FreePins=false
178+
RCC.IPParameters=AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,I2C1Freq_Value,I2SFreq_Value,MCOFreq_Value,PLLCLKFreq_Value,PLLMCOFreq_Value,PLLMUL,SYSCLKFreq_VALUE,SYSCLKSource,TimSysFreq_Value,USART1Freq_Value
179+
ProjectManager.AskForMigrate=true
180+
Mcu.Name=STM32F031K6Tx
181+
Dma.SPI1_RX.0.MemInc=DMA_MINC_ENABLE
182+
PA2.Signal=GPIO_Output
183+
Mcu.Pin24=PB7
184+
ProjectManager.UnderRoot=false
185+
Mcu.Pin25=VP_SYS_VS_Systick
186+
Mcu.IP6=SYS
187+
Mcu.IP7=USART1
188+
ProjectManager.CoupleFile=false
189+
PB4.Locked=true
190+
PB3.Signal=GPXTI3
191+
PA4.Signal=SPI1_NSS
192+
RCC.SYSCLKFreq_VALUE=48000000
193+
PB5.Signal=GPIO_Output
194+
Mcu.Pin22=PB5
195+
Mcu.Pin23=PB6
196+
RCC.TimSysFreq_Value=48000000
197+
PA1.Locked=true
198+
PA7.GPIO_Label=SPI_COPI
199+
Mcu.Pin20=PB3
200+
PA3.Locked=true
201+
Mcu.Pin21=PB4
202+
PA12.Mode=CTS_RTS
203+
PA5.GPIO_Label=SPI_CLK
204+
PA10.Locked=true
205+
NVIC.ForceEnableDMAVector=true
206+
KeepUserPlacement=false
207+
PA13.Locked=true
208+
ProjectManager.CompilerOptimize=6
209+
PB7.Mode=Asynchronous
210+
PA11.Signal=USART1_CTS
211+
PA14.Signal=SYS_SWCLK
212+
ProjectManager.HeapSize=0x200
213+
PA0.GPIOParameters=GPIO_Label
214+
Mcu.Pin15=PA11
215+
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
216+
Mcu.Pin16=PA12
217+
Mcu.Pin13=PA9
218+
Mcu.Pin14=PA10
219+
Mcu.Pin19=PA15
220+
Dma.SPI1_RX.0.Priority=DMA_PRIORITY_LOW
221+
SH.GPXTI15.ConfNb=1
222+
ProjectManager.ComputerToolchain=false
223+
Mcu.Pin17=PA13
224+
Mcu.Pin18=PA14
225+
Mcu.Pin11=PB1
226+
SH.GPXTI15.0=GPIO_EXTI15
227+
Mcu.Pin12=PA8
228+
Mcu.Pin10=PB0
229+
NVIC.DMA1_Channel2_3_IRQn=true\:0\:0\:false\:false\:true\:false\:true
230+
PB7.Locked=true
231+
PF0-OSC_IN.Signal=GPIO_Input
232+
PF0-OSC_IN.GPIOParameters=GPIO_Label
233+
RCC.APB1Freq_Value=48000000
234+
PB0.Signal=GPIO_Input
235+
PA7.GPIOParameters=GPIO_Label
236+
ProjectManager.DeviceId=STM32F031K6Tx
237+
ProjectManager.LibraryCopy=0
238+
PA3.GPIO_Label=LED1
239+
PB1.GPIOParameters=GPIO_Label
240+
PA7.Signal=SPI1_MOSI
241+
PA6.Locked=true

CubeMX/README.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# CubeMX
2+
3+
## What is CubeMX?
4+
5+
The Neotron Pico uses an STM32F031 as a Board Management Controller. ST's CubeMX software allows you to configure ST Micro devices, such as our STM32F031.
6+
7+
## What is in this folder?
8+
9+
This folder contains a configuration file for ST's CubeMX Software, for the BMC MCU. This allows us to confirm that the pinout specified in the schematic can be supported by the MCU's internal pin-muxing architecture, as only certain peripherals are available on each pin.
10+
11+
## Do we autogen code with CubeMX?
12+
13+
We do not currently use the code generation feature. The firmware for the Neotron Pico's BMC can be found at https://github.com/Neotron-Compute/Neotron-BMC.
14+
15+
## Where can I get CubeMX?
16+
17+
You can download it from https://www.st.com/en/development-tools/stm32cubemx.html.
18+

0 commit comments

Comments
 (0)