Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add basic Markdown lint CI #10

Merged
merged 4 commits into from
Oct 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .github/workflows/markdown-lint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Markdown Lint

on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
markdownlint:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Run markdownlint
uses: DavidAnson/markdownlint-cli2-action@v13
13 changes: 13 additions & 0 deletions .markdownlint-cli2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Disable some built-in rules
config:
line-length: false
no-inline-html: false
first-line-h1: false

# Define glob expressions to use (only valid at root)
globs:
- "**/*.md"

# Define glob expressions to ignore
# ignores:
# - "ignore*.md"
45 changes: 20 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,18 +29,17 @@

---

# Cicada HW - IoT Communications Module for Energy Access.
# Cicada HW - IoT Communications Module for Energy Access

This repository contains the hardware design of IOT embedded bi-directional communications device. through 2G, 3G, 4G modemsTech.

Checkout the examples in the firmware repository here https://github.com/EnAccess/Cicada

Checkout the examples in the firmware repository here <https://github.com/EnAccess/Cicada>

## Manufacturing files

If you are only interested in manufacturing the PCBs, you only need files in the /manufacturing/ directory. send them to your contract manufacturer of choice,Some examples of other turnkey PCBA manufacturers are:

| Manufacturers |
| Manufacturers |
|---------------|
| JLCPCB |
| PCBCart |
Expand All @@ -50,13 +49,13 @@ The /manufacturing/ directory contains the PCB Gerber/drill files, the BOM, and

## Source files

If you'd like to take a look at the schematics and PCB layout, first, make sure you have a fresh version of KiCAD. It's a free and open source electronics design tool, and can be downloaded from http://kicad.org. Make sure you are not using an old version that some Linux distributions might be still shipping.
If you'd like to take a look at the schematics and PCB layout, first, make sure you have a fresh version of KiCAD. It's a free and open source electronics design tool, and can be downloaded from <http://kicad.org>. Make sure you are not using an old version that some Linux distributions might be still shipping.

### File structure

The schematics and related files live under the /design/ directory:

| Directory | Content |
| Directory | Content |
|-------|---------------|
| /design/doc/datasheets/ | Datasheets for some of the components used. These files are not covered by this project's open source licence |
| /design/pdf | Schematics exported as PDF |
Expand All @@ -67,30 +66,30 @@ The schematics and related files live under the /design/ directory:
| /manufacturing/nc drill/ | NC Drill files describing type and specification of PCB drill holes (vias, through holes, mounting holes etc) |
| /manufacturing/BOM/ | BOM contains the imformation of all the components used for cicad. directely generated from Kicad using the bom genration script |

## Standard KiCAD libraries

## Standard KiCAD libraries.

To make sure we are using the same version of standard KiCAD libraries, we've made a proxy repo that references the KiCAD github repositories, https://github.com/EnAccess/kicad-libs. Please clone it along side this repositories, and KiCAD should be able to pick up the schematics symbols / footprints from there:
To make sure we are using the same version of standard KiCAD libraries, we've made a proxy repo that references the KiCAD github repositories, <https://github.com/EnAccess/kicad-libs>. Please clone it along side this repositories, and KiCAD should be able to pick up the schematics symbols / footprints from there:

`/Cicada-HW/` - This repo.

`/kicad-libs/` - Kicad libraries repo.

You might want to remove "global" kicad libraries from your settings to avoid possible version mismatches.

# A quick look at the schematics.
# A quick look at the schematics

The schematics are lagely based on the `SIM7600 Series_Hardware Design_V1.02` and `SIM800C_Hardware_Design_V1.05` documents from Simcom, both found in the documentation folder. Most design festures are shared between the 2G and 4G boards.

## Host interface

![](https://github.com/EnAccess/Cicada-HW/blob/master/design/doc/figures/Host-interface.png)
![Host interface](https://github.com/EnAccess/Cicada-HW/blob/master/design/doc/figures/Host-interface.png)

The host interface provides:

- 5V - power
- 3.3v - logic level VCC reference.
- VER_1 and VER_2 - version pins.
- UART TX and RX.
- UART TX and RX.
- SPI - only available on the 4G board as an option. Normally, UART can be used for communication.
- POWER enable pin - drive hogh to enable power.
- RESET pin - drive low to reset, drive at 1.8 - 3.3v during normal operation. Is not implemented on the 2G board, since the SIM800C chip does not have a RESET line.
Expand All @@ -99,47 +98,43 @@ The host interface provides:

The host interface provides a way for the host to detect the presence of a Cicada board, and distinguish between different boards:

![](https://github.com/EnAccess/Cicada-HW/blob/master/design/doc/figures/Host-interface-versioning.png)

![Host interface versioning](https://github.com/EnAccess/Cicada-HW/blob/master/design/doc/figures/Host-interface-versioning.png)

## Sim card slot

![](https://github.com/EnAccess/Cicada-HW/blob/master/design/doc/figures/Sim-card.png)
![Sim card](https://github.com/EnAccess/Cicada-HW/blob/master/design/doc/figures/Sim-card.png)

Same for Cicada 2G and Cicada 4G boards.

## Power

Both Cicada 2G and Cicada 4G use single-chip SMPS to convert 5v down to 4v required by both SIM7600 and SIM800C modules.

Both the modules use M3406-ADJ, which come with a internal over current protection (1.5A) and rated to 800mA operation. but the power supply circuit is design with the bulk output Capacitance which maintaines the voltage and pumps the shorter peak current requirment and the series resister at the power supply input reduce the stress on the hosts 5v regulator.
Both the modules use M3406-ADJ, which come with a internal over current protection (1.5A) and rated to 800mA operation. but the power supply circuit is design with the bulk output Capacitance which maintaines the voltage and pumps the shorter peak current requirment and the series resister at the power supply input reduce the stress on the hosts 5v regulator.

![](https://github.com/EnAccess/Cicada-HW/blob/master/design/doc/figures/Power.png)
![Power](https://github.com/EnAccess/Cicada-HW/blob/master/design/doc/figures/Power.png)

## Level shifters

The SIM7600 module (Cicada 4G) operates at 1.8v logic level, while the SIM800C module (Cicada 2G) operates at 2.8v. In both vases, simple discrete level shifters are used to make the logic levels compatible with more common 3.3v.

![](https://github.com/EnAccess/Cicada-HW/blob/master/design/doc/figures/Level-shifters.png)
![Lvel shifters](https://github.com/EnAccess/Cicada-HW/blob/master/design/doc/figures/Level-shifters.png)

## Antennas

Antenna circuitry compied from the simcomm reference documentation:

### Cicada 4G - Main and Auxiliary antennas, plus a GPS antenna
![](https://github.com/EnAccess/Cicada-HW/blob/master/design/doc/figures/Antennas-7600.png)

![Antennas 7600](https://github.com/EnAccess/Cicada-HW/blob/master/design/doc/figures/Antennas-7600.png)

### Cicada 2G - Only the main antenna
![](https://github.com/EnAccess/Cicada-HW/blob/master/design/doc/figures/Antennas-800C.png)

![Antennas 800C](https://github.com/EnAccess/Cicada-HW/blob/master/design/doc/figures/Antennas-800C.png)

## USB

On both Cicada 2G and Cicada 4G, USB can be used to update the modem firmware.
The USB connector can also provide 5V power to the board during the process.

![](https://github.com/EnAccess/Cicada-HW/blob/master/design/doc/figures/USB.png)




![USB](https://github.com/EnAccess/Cicada-HW/blob/master/design/doc/figures/USB.png)