Skip to the content
PCBKitNew board
4 layersSim7070, the printed circuit board in 3D

Onomondo Getting Started development kit. Board design files and firmware.

Copper layers
4
Thickness
1.6 mm
Parts
96
Nets
136
Pads
422
Tracks, vias
764, 249
Pours
28
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
19 Aug 2021
Updated
10 Jun 2022

Overview

Sim7070 is an open-source printed circuit board by onomondo, from the onomondo/getting-started repository on GitHub. It is a 4-layer board with 96 parts on 136 nets, routed with 764 tracks and 249 vias.

It is built around the CH340C, ESP32-WROOM-32 and SIM7000E, with the TMP75AIDR(UMW), BQ24074RGTR and KXTJ3-1057 among its other parts. Its parts include 27 resistors, 25 capacitors, 9 ICs, 9 diodes and 9 connectors. It belongs with the ESP32 boards of this library.

Main components

12

README

README.md

Onomondo getting started kit.

Example forked from esp-idf repo.

What is this?

The kit is designed to showcase some of the features provided by Onomondo. Already a customer? Head over to app.onomondo.com/getting-started to get a guided tour of the platform and to see the data packets in real-time.

test2

Onomondo Connectors

Specifically, this example is powered by the Onomondo Connectors. It removes complexity (i.e. Cloud SDK) from the device and let the network handle it. Check out the code snippet below - would you have guessed that this is fully encrypted and integrated into the Azure IoT Hub? Get more info on Connectors here.

c
//init cellular connectivity
esp_err_t status = initCellular(SIM7xxx, 0);
...
...
// setup of sensor
...
...
// open a socket to a non-existing server
status = openSocket("1.2.3.4", 4321);

// payload formatting
sprintf(payload, "{\"battery\": %f,\"signal\": %f,\"temperature\": %f}", battery, signal, temp);

// transmit payload
status = sendData(payload, strlen(payload), 0);

This it what happens on the platform:

At this point the data has not yet reached any public networks. Since the SIM has a Connector configured, the payload gets neatly wrapped up and securely handed over to Azure IoT Hub (but not limited to Azure: Want a webhook event: ✔, any major cloud provider ✔, custom TLS endpoint ✔).

This is from the Azure Logs:

Notice how the network has added a few fields: A timestamp and a sim_id so the device can be identified. In addition to the extra fields everything has been fully encrypted.

How to use.

The kit is fully programmed when you get it. However, you are encouraged to modify the example we have provided.

First time use: Flick the power switch and the device should come online. The device will search for networks, register on a network and establish a data connection. Touch the touch-pad on the front to transmit a message with the current temperature, battery voltage and last known signal level. After a while the device will enter a low power state. Give it a shake to wake it up again.

Get the demo tour

On app.onomondo.com/getting-started you'll get the full tour.

Flash a precompiled firmware

In case the stock firmware gets overwritten, you can easily flash the device with a precompiled binary. Download the ESP flash download tool here, download the precompiled firmware (onomondo_getting_started.bin) from the repo and flash the device.

These procompiled binaries will in the future include firmware to assist in debugging connectivity with Onomondo.

Build and Flash Modified firmware.

Run idf.py --ccache -p PORT build flash monitor to build and flash the project..

(To exit the serial monitor, type Ctrl-].)

See the ESP-IDF Getting Started Guide for full steps to configure and use ESP-IDF to build projects.

Troubleshooting

If the device fails to connect (red flashing LED).

  1. Is the sim activated
  2. Attaching for the first time can be slow in some cases.
  3. Is the antenna plugged in?
  4. Is there sufficient charge on the battery? If the battery is discharged the device won't turn on until it has been plugged into a charger.

Check the Network logs on the Onomondo platform. Does the platform report any activity?

Plug the device into you computer (use the port marked as MCU Debug on the back). Have a look at the out below and see if anything stands out. Does the modem reponds to any commands? When does it stop responding?

Example Output

SIM7070G Output

bash
I (451) main: Cpu freq: 160 MhZ
I (451) ACC: Config i2c param
I (461) ACC: Install i2c driver
I (461) ACC: Reading register....
I (481) main: Temperature: 26.500000
I (481) gpio: GPIO[4]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (481) gpio: GPIO[5]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (491) gpio: GPIO[25]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (511) touch_driver: test init: touch pad [6] val is 686
I (511) uart: queue free spaces: 30
I (511) sim800: PWR pin 27
I (511) gpio: GPIO[27]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (521) AT CMD: AT
E (621) esp-modem: esp_modem_dte_send_cmd(352): process command timeout
E (621) dce_service: esp_modem_dce_power_test(251): send command failed
I (721) AT CMD: AT
I (721) AT RESP: AT

E (721) esp-modem: esp_dte_handle_line(136): handle line failed
E (721) esp-modem: AT

I (721) AT RESP: OK

I (721) sim800: Modem is on!

Parts

96
QtyValueFootprintReferences
17100nCapacitor_SMD:C_0402_1005MetricC3, C5, C6, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C23, C24, C30 +1
1410kResistor_SMD:R_0402_1005MetricR1, R2, R6, R9, R11, R15, R16, R20, R21, R22, R23, R26, R27, R28
6500Resistor_SMD:R_0603_1608MetricR3, R10, R13, R17, R18, R25
5NDS355Nfootprints:SSOT-3Q1, Q4, Q5, Q6, Q7
4WHITELED_SMD:LED_0603_1608MetricD1, D8, D9, D11
31MResistor_SMD:R_0402_1005MetricR5, R8, R12
34u7Capacitor_SMD:C_1206_3216MetricC8, C11, C22
3Conn_02x02_Odd_EvenGettingStarted:PinSocket_2x02_P2.54mm_Vertical_centeredJ6, J8, J9
3GREENLED_SMD:LED_0603_1608MetricD2, D3, D5
3TestPoint_SmallTestPoint:TestPoint_Pad_1.5x1.5mmTP2, TP3, TP4
2100uCapacitor_SMD:C_1206_3216MetricC9, C10
210uCapacitor_SMD:C_0603_1608MetricC1, C2
24k7Resistor_SMD:R_0402_1005MetricR14, R19
2MMSS8050-H-TPdigikey-footprints:SOT-23-3Q2, Q8
2SMD-BUTTON_4P-5.2X5.2X1.5MM-SKQGADE010_OPL_Switch:SW4-SMD-5.2X5.2X1.5MMSW1, SW2
2USB_B_MicroGettingStarted:USB_Micro_B_JLCJ5, J7
11uCapacitor_SMD:C_0805_2012MetricC4
12kResistor_SMD:R_0402_1005MetricR7
13k1Resistor_SMD:R_0402_1005MetricR4
1BQ24074RGTRSnapEDA Library:QFN50P300X300X100-17NU9
1CH340CPackage_SO:SOIC-16_3.9x9.9mm_P1.27mmU5
1Conn_02x01Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_VerticalJ10
1DIP-JST-2P-2.0Connector_JST:JST_PH_S2B-PH-K_1x02_P2.00mm_HorizontalJ4
1ESDA6V1-5SC6Package_TO_SOT_SMD:SOT-23-6D7
1ESP32-WROOM-32SnapEDA Library:MODULE_ESP32-WROOM-32U6
1FuseFuse:Fuse_0603_1608MetricF1
1KXTJ3-1057GettingStarted:KIONIX_KXTJ3-1057U8
1LOGOlogo:logo_front_logoG***
1MSQA6V1W5T2Gfootprints:On_Semiconductor-MSQA6V1W5T2G-Manufacturer_RecommendedU3
1Q_PMOS_SDGGettingStarted:SOT-23-MOSFETQ3
1REDLED_SMD:LED_0603_1608MetricD6
1SIM7000Efootprints:SIMCON_SIM7000EU2
1SIM8051-6-0-14-01-X-REVDGettingStarted:SNO-1305-B_NANO_SIMJ2
1SW_DPDT_x2GettingStarted:SWITCH_3ASW3
1TMP75AIDRPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU4
1TXS0102DCTRSnapEDA Library:SOP65P400X130-8NU7
1TestPoint_2PoleJumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mmTP1
1U_FL-R-SMT-1_10_digikey-footprints:Coax_Conn_U.FLJ1
1XC6220B331MRPackage_TO_SOT_SMD:SOT-23-5U1

Questions

What parts does the Sim7070 use?

96 parts, built around the CH340C, ESP32-WROOM-32, SIM7000E and TMP75AIDR(UMW). The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Sim7070 KiCad files?

From the onomondo/getting-started repository on GitHub, at the commit this page was made from: the board is hardware/sim7070/sim7070.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Sim7070 design in my own project?

Its repository states no licence, so its author keeps all rights: ask onomondo before reusing the design.

Similar boards

  • 4 layers50.8 × 36.8 mmTracking dev, the printed circuit board in 3D

    Tracking dev

    wrig0421/spud-hardware

    71 parts
  • 2 layers78.2 × 100 mmNRF dev, the printed circuit board in 3D

    NRF dev

    Monash-BoSL/BoSLcam

    Hardware repository for the BoSLcam, IoT camera.

    54 parts
  • 2 layers55 × 69.5 mmRectifier, the printed circuit board in 3D

    Rectifier

    Abhishek4452/Jal-sort

    kicad schematic of the jal sort (water source )

    32 partsMIT
  • 2 layers104.3 × 65.1 mmTes0, the printed circuit board in 3D

    Tes0

    mekatronik-achmadi/wahyu-job

    This example test toolkit for various RF module.

    56 parts
  • 2 layers190 × 75 mmAVT2022 Badge Final, the printed circuit board in 3D

    AVT2022 Badge Final

    epremeaux/AVTokyo_2022_Badge

    AVTokyo 2022 event badge PCB, firmware and server code.

    72 parts9
  • 4 layers85.3 × 54.5 mmCentralUnit, the printed circuit board in 3D

    CentralUnit

    albertdolata/Sensitive-Parameter-Recorder

    This repository is intended for an academic project.

    70 parts2
  • 4 layers60 × 45 mmTracker, the printed circuit board in 3D

    Tracker

    Sanu0910/RFMW-ANT

    180 parts