Compare commits

..

3 Commits

Author SHA1 Message Date
e24eb4c1e8 Add info on AGNSS service 2024-11-25 05:00:35 +08:00
e3bb886a8b Add GNSS modules comparison for JLCPCB 2024-11-25 04:39:31 +08:00
8bec584b15 Add STM32 comparison JLCPCB 2024-11-20 07:46:55 +08:00
3 changed files with 116 additions and 0 deletions

View File

@ -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 |

View 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).

View File

@ -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.