mirror of
https://github.com/peter-tanner/peter-tanner.github.io.git
synced 2024-11-30 12:00:18 +08:00
Compare commits
3 Commits
fa4942e838
...
e24eb4c1e8
Author | SHA1 | Date | |
---|---|---|---|
e24eb4c1e8 | |||
e3bb886a8b | |||
8bec584b15 |
|
@ -48,6 +48,7 @@ All prices in AUD.
|
||||||
| --------- | --------------------------- | ----------- | -------------------- | -------------------------- | ----------------- | -------------------------------------------- |
|
| --------- | --------------------------- | ----------- | -------------------- | -------------------------- | ----------------- | -------------------------------------------- |
|
||||||
| 0.18 | **3.18** | Ignored | Ignored | Ignored | Ignored | openGNSS (no assembly) |
|
| 0.18 | **3.18** | Ignored | Ignored | Ignored | Ignored | openGNSS (no assembly) |
|
||||||
| 0.29 | **3.18** | **28.40** | 31.42 | 31.72 | 49.52 | Simulated mass |
|
| 0.29 | **3.18** | **28.40** | 31.42 | 31.72 | 49.52 | Simulated mass |
|
||||||
|
| 0.30 | 14.35 | **28.40** | 31.42 | 31.72 | 49.52 | Simulated mass |
|
||||||
| 0.33 | 14.35 | **28.40** | 31.42 | 31.72 | 49.52 | Simulated mass |
|
| 0.33 | 14.35 | **28.40** | 31.42 | 31.72 | 49.52 | Simulated mass |
|
||||||
| 0.39 | 14.35 | Ignored | Ignored | Ignored | Ignored | openGNSS (assembled) |
|
| 0.39 | 14.35 | Ignored | Ignored | Ignored | Ignored | openGNSS (assembled) |
|
||||||
| 0.46 | 14.35 | **28.40** | 31.42 | 31.72 | 49.52 | Simulated mass |
|
| 0.46 | 14.35 | **28.40** | 31.42 | 31.72 | 49.52 | Simulated mass |
|
||||||
|
|
35
_posts/2024-11-20-JLCPCB-STM32s.md
Normal file
35
_posts/2024-11-20-JLCPCB-STM32s.md
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
---
|
||||||
|
title: JLCPCB STM32s
|
||||||
|
author: peter
|
||||||
|
date: 2024-11-20 06:33:15 +0800
|
||||||
|
categories: [Electronics] # 0-2 categories. Blogging | Electronics | Programming | Mechanical | SelfHosting | Guides | University
|
||||||
|
tags: [STM32,JLCPCB,price,capabilities,features] # 0-\infty. systems | embedded | rf | microwave | electronics | solidworks | automation | tip
|
||||||
|
# image: assets/img/2024-11-20-JLCPCB-STM32s/preview.png
|
||||||
|
---
|
||||||
|
|
||||||
|
My objective was to find an STM32 with the following features:
|
||||||
|
|
||||||
|
- SDIO
|
||||||
|
- USB
|
||||||
|
- CAN
|
||||||
|
- 48 or 64 pins
|
||||||
|
|
||||||
|
And standard features such as SPI and UART.
|
||||||
|
|
||||||
|
Here are some STM32s which fit these capabilities and are available on JLCPCB, along with some other honorable mentions.
|
||||||
|
|
||||||
|
| PN | Passes? | Cost [USD] | Flash [kb] | Package Size | SDIO | USB | CAN | Notes |
|
||||||
|
| ----------------- | ------- | ---------- | ---------- | ------------ | ---- | --- | --- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| STM32L431RCT6 | ❌ | 1.274 | 256 | LQFP-64 | ✅ | ❌ | ✅ | Very low price for its capabilities, shame it is missing USB. |
|
||||||
|
| STM32F401RCT6 | ❌ | 1.325 | 256 | LQFP-64 | ✅ | ✅ | ❌ | Again, an abnormally good value chip, but it is missing CAN. |
|
||||||
|
| STM32F402RCT6 | ❌ | 1.325 | 256 | LQFP-64 | ✅ | ✅ | ❌ | It's datasheet is in Chinese and ST doesn't advertise it or sell it elsewhere. |
|
||||||
|
| **STM32F103RCT6** | ✅ | 1.501 | 256 | LQFP-64 | ✅ | ✅ | ✅ | The cheapest matching the criteria. |
|
||||||
|
| STM32F302C8T6 | ❌ | 1.638 | 64 | LQFP-48 | ❌ | ✅ | ✅ | Used on Neptunium 1. This is the cheapest chip with USB, CAN and DSP instructions. |
|
||||||
|
| STM32G431CBU6 | ❌ | 1.881 | 128 | UFQFPN-48 | ❌ | ✅ | ✅ | Very capable processor with FDCAN, USB PD and higher frequency. |
|
||||||
|
| **STM32F407VET6** | ✅ | 2.452 | 512 | LQFP-100 | ✅ | ✅ | ✅ | Very capable processor the cheapest one with all three interfaces but its package is too large for my application. The processor has many other interfaces (camera, Ethernet) and high frequency. |
|
||||||
|
| **STM32F412RET6** | ✅ | 2.658 | 512 | LQFP-64 | ✅ | ✅ | ✅ | Very capable processor, the cheapest one matching the criteria AND has DSP instructions. Has two CAN interfaces. |
|
||||||
|
| **STM32F407ZET6** | ✅ | 2.704 | 512 | LQFP-144 | ✅ | ✅ | ✅ | Huge package |
|
||||||
|
| **STM32L476RET6** | ✅ | 2.713 | 512 | LQFP-64 | ✅ | ✅ | ✅ | The cheapest matching the criteria in the L4 lineup. |
|
||||||
|
| ESP32-S3FH4R2 | ✅ | 2.67 | 4096 | QFN-56 | ✅ | ✅ | ✅ | Yes, but it's power hungry and does not have enough I/O for my application. |
|
||||||
|
|
||||||
|
Feel free to comment below your favorite MCUs on JLCPCB, I'm interested in hearing about it (especially if you have one that does BLE, CAN, SDIO, USB and has more IO than an ESP32-S3 and less power consumption).
|
|
@ -0,0 +1,80 @@
|
||||||
|
---
|
||||||
|
title: Chinese ZHONGKEWEI ATGM* GNSS modules comparison
|
||||||
|
author: peter
|
||||||
|
date: 2024-11-25 04:00:36 +0800
|
||||||
|
categories: [Electronics] # 0-2 categories. Blogging | Electronics | Programming | Mechanical | SelfHosting | Guides | University
|
||||||
|
tags: [gps,gnss,cheap,comparison,ublox] # 0-\infty. systems | embedded | rf | microwave | electronics | solidworks | automation | tip
|
||||||
|
# image: assets/img/2024-11-25-Chinese-ZHONGKEWEI-A/preview.png
|
||||||
|
---
|
||||||
|
|
||||||
|
The ZHONGKEWEI ATGM* series of GNSS modules appear to emulate the popular u-blox NEO and MAX series and are (almost) pin compatible.
|
||||||
|
|
||||||
|
| Model | GPS | BDS | GLONASS | Galileo | QZSS | VCC [V] | Interfaces | Internal SOC | TTFF [s] | Maximum output rate [Hz] | CEP50 [m] | Cost [AUD] |
|
||||||
|
| -------------------- | --- | --- | ------- | ------- | ---- | ------- | -------------------- | ------------ | -------- | ------------------------ | --------- | ---------- |
|
||||||
|
| ATGM332D-6N-74 | ✅ | ✅ | ✅ | ✅ | ✅ | 2.7-3.6 | UART,I2C,SPI | AT6668 | 23 | 10 | 1.5 | 5.3287 |
|
||||||
|
| ATGM336H-6N-74 | ✅ | ✅ | ✅ | ✅ | ✅ | 2.7-3.6 | UART,I2C,SPI | AT6668 | 23 | 10 | 1.5 | 5.3171 |
|
||||||
|
| ATGM336H-5N31 | ✅ | ✅ | ❌ | ❌ | ❌ | 2.7-3.6 | UART1,UART2 | AT6558 | 32 | 10 | 2.5 | 4.6255 |
|
||||||
|
| ATGM332D-5N31 | ✅ | ✅ | ❌ | ❌ | ❌ | 2.7-3.6 | UART1,UART2 | AT6558 | 32 | 10 | 2.5 | 4.1224 |
|
||||||
|
| ATGM332D-5NR32 | ✅ | ✅ | ❌ (?) | ❌ | ❌ | 1.8-3.6 | UART1,UART2 | AT6558R | 32 | 5 | 2.5 | 4.0525 |
|
||||||
|
| ATGM336H-5NR32 | ✅ | ✅ | ❌ (?) | ❌ | ❌ | 1.8-3.6 | UART1,UART2 | AT6558R | 32 | 5 | 2.5 | 3.8498 |
|
||||||
|
| ATGM332D-5N11 | ✅ | ❌ | ❌ | ❌ | ❌ | 2.7-3.6 | UART1,UART2 | AT6558 | 32 | 10 | 2.5 | 5.9460 |
|
||||||
|
| ATGM336H-5N11 | ✅ | ❌ | ❌ | ❌ | ❌ | 2.7-3.6 | UART1,UART2 | AT6558 | 32 | 10 | 2.5 | 5.0609 |
|
||||||
|
| NEO-M9N (**u-blox**) | ✅ | ✅ | ✅ | ✅ | ✅ | 2.7-3.6 | UART,I2C,SPI,**USB** | UBX-M9140-KB | 24 | **25** | 2.0 | 45 |
|
||||||
|
|
||||||
|
These parameters seem to be the same for all ATGM modules:
|
||||||
|
|
||||||
|
| Key | Value | Note |
|
||||||
|
| ---------------------------- | -------- | ------------------------ |
|
||||||
|
| Cold start sensitivity [dBm] | -148 | |
|
||||||
|
| Tracking sensitivity [dBm] | -162 | |
|
||||||
|
| Protocols | NMEA0183 | |
|
||||||
|
| Assisted GNSS | ✅ | |
|
||||||
|
| Battery and RTC | ✅ | |
|
||||||
|
| Lockout speed [m/s] | 515 | Not specified on AT6668? |
|
||||||
|
| Lockout altitude [m] | 18000 | Not specified on AT6668? |
|
||||||
|
| Lockout acceleration [g] | 4 | Not specified on AT6668? |
|
||||||
|
|
||||||
|
The main differences compared to the NEO-M9N are:
|
||||||
|
|
||||||
|
- Significantly lower cost
|
||||||
|
- Lower maximum output data rate of only 10 Hz
|
||||||
|
- Slightly higher lockout speed of 515 m/s
|
||||||
|
- Lower lockout altitude of 18000 m (compared to 80000 m)
|
||||||
|
- Lacks USB and lacks UBX or any binary output format
|
||||||
|
|
||||||
|
## AGNSS
|
||||||
|
|
||||||
|
The GNSS receivers support assisted GNSS. The datasheet refers to another file, "AGNSS solution of ZhongKe micro". I could only find these slides from an [unofficial source](https://espruino.microcosm.app/api/v1/files/b589417f21931e2a2182c6785b846ac64ef64b40.pdf).
|
||||||
|
|
||||||
|
The document contains the following code and the password and username of a free trial account which is rate-limited to 1000 requests per hour. The code works and the server is still online and will complain if you don't provide a username/password. I could not confirm that this account worked, either due to bots hitting the 1000 requests per hour rate limit or due to it being deactivated since the document was made.
|
||||||
|
|
||||||
|
```py
|
||||||
|
addr = "121.41.40.95" # Server address
|
||||||
|
port = 2621 # port
|
||||||
|
message = b"user=freetrial;pwd=123456;cmd=full;lat=30;lon=120;" # Request message
|
||||||
|
import socket
|
||||||
|
|
||||||
|
socket.setdefaulttimeout(4)
|
||||||
|
client = socket.socket()
|
||||||
|
client.connect((addr, port))
|
||||||
|
client.send(message)
|
||||||
|
reply_data = b""
|
||||||
|
while True:
|
||||||
|
current_reply = client.recv(1024)
|
||||||
|
if len(current_reply) == 0:
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
reply_data += current_reply
|
||||||
|
|
||||||
|
print(reply_data)
|
||||||
|
|
||||||
|
import serial
|
||||||
|
tty = serial.Serial()
|
||||||
|
tty.port = "COM1"
|
||||||
|
tty.baudrate = 9600
|
||||||
|
tty.open()
|
||||||
|
tty.write(reply_data)
|
||||||
|
tty.close()
|
||||||
|
```
|
||||||
|
|
||||||
|
The document seems to indicate the AGNSS service is supported by China Aerospace Science and Industry Corporation.
|
Loading…
Reference in New Issue
Block a user