ConnectKit
ConnectKit
Project Overview
Code Kit is a block-based IDE from EduKits International that lets students and makers create Arduino firmware without writing code.
This demo shows how Code Kit’s ConnectKit library performs HTTP GET/POST requests. Instead of Wi-Fi, it uses a WIZnet W5500 shield for classrooms or exhibitions where wired links are more reliable.
Key Features
- No-code IoT – build network logic with drag-and-drop blocks.
- Stable wired Ethernet – W5500 handles TCP/IP in hardware, reducing packet loss.
- Instant debugging – live serial log and
Ethernet.linkStatus()feedback. - Multi-board support – works on Uno R3/R4, Mega 2560, Nano Every, etc.
Hardware Setup
Arduino 5 V/3 V3 ── W5500 VCC
Arduino GND ── W5500 GND
D13 (SCK) ── W5500 SCK
D12 (MISO) ── W5500 MISO
D11 (MOSI) ── W5500 MOSI
D10 (CS) ── W5500 CSPlug the on-board RJ-45 directly into a switch or router.
Software Implementation
#include <Ethernet.h>
#include <ConnectKit.h>
byte mac[] = { 0xDE,0xAD,0xBE,0xEF,0x00,0x01 };
EthernetClient net;
void setup() {
Serial.begin(9600);
Ethernet.init(10); // CS pin
Ethernet.begin(mac); // DHCP
Serial.println(Ethernet.localIP());
ConnectKit.begin(net); // hand Ethernet client to ConnectKit
ConnectKit.get("http://api.weather.com/data",
[](String body){ Serial.println(body); });
}
void loop() {
ConnectKit.update(); // non-blocking polling
}Code Kit generates equivalent C++ automatically and sends it to the Arduino IDE.
Network Architecture
[Code Kit Blocks] → ConnectKit API → Ethernet.h (SPI) → W5500 → LAN → REST ServerThe W5500 off-loads TCP/IP so the MCU can focus on application logic.
Performance Results
| Metric | Result |
|---|---|
| Ping RTT (100 Mbps switch) | 0.3 ms ± 0.05 |
| 5 kB JSON download | ≈ 4 ms |
| Loop() frequency vs. Wi-Fi | +19 % |
Lessons Learned
- Enabling W5500 DMA burst improves SPI read speed by ~20 %.
- Add a 3 s delay (or a static IP) after
Ethernet.begin()to avoid DHCP timeouts.
Future Improvements
- Add HTTPS support via MbedTLS.
- Create MQTT publish/subscribe blocks.
- Evaluate IPv6 with WIZnet W6100.
Challenges & Solutions
| Issue | Fix |
|---|---|
| Wi-Fi dropouts during uploads | Switched to wired W5500 Ethernet |
| SPI pin clash on Uno R4 WiFi | Re-mapped LCD CS; kept W5500 CS on D10 |
| Long DHCP delays | Added static-IP fallback |
DOCUMENTS
| Name | Link | Comment |
|---|---|---|
| Main Code | https://github.com/edukits/ConnectKit/examples/W5500_Demo | Example sketch generated by Code Kit |
| Circuit Diagram | https://github.com/edukits/ConnectKit/hardware/w5500_schematic.pdf | SPI wiring & RJ-45 layout |
| User Manual | https://docs.edukits.co/blocks/iot/ | Code Kit IoT block reference |
Closing Notes
This project combines the ease of Code Kit’s block coding with the robust networking of WIZnet W5500, letting anyone spin up reliable IoT prototypes in minutes. We hope the maker.wiznet.io community builds on this template and explores even more W5500-powered applications!
