Embedded Software for Radio Device
Budget: $8 – $15 AUD
Project Goal :
Convert a 2700-line Dynamic C codebase written for the Rabbit RCM3750 into Python to run on a Raspberry Pi Pico W5500-EVB-Pico.
Core Functional Requirements :
1. Network Communication over TCP/IP
-The device acts as a TCP server, handling incoming configuration commands from clients.
-These commands adjust network parameters like IP address, and also control display options and device settings.
2. Time Synchronization
-The device periodically pings an NTP server to fetch the current time.
-The time is then:
Displayed internally (via connected hardware)
Transmitted through UART to another device using tx and rx pins.
3. UART Communication
-The device must send data (e.g., current time) over UART at 1200 baud, using GPIO pins 4 (tx) and 5 (rx).
-A Python snippet has already been started:
uart = UART(1, baudrate=1200, tx=Pin(4), rx=Pin(5))
4. Heartbeat and Power LEDs
-Simple GPIO control of LED indicators for heartbeat and power status.
-These should replicate the original C behavior.
5. Persistent Storage
-The last set IP address (from configuration commands) must be stored in memory, ideally using non-volatile storage (e.g., writing to a file or flash).
Additional Notes :
1. The original code uses hardware-specific functions and interrupts (e.g., buttons, display control).
2. These should be re-implemented in Python using libraries compatible with the Pico platform:
-socket for networking
-ntplib or manual NTP protocol for time fetching
-machine / Pin / UART for GPIO and serial communication
Estimated timeline: 7~10 days
If you read this project details, please put your name on the first of bid proposal
Thanks
Convert a 2700-line Dynamic C codebase written for the Rabbit RCM3750 into Python to run on a Raspberry Pi Pico W5500-EVB-Pico.
Core Functional Requirements :
1. Network Communication over TCP/IP
-The device acts as a TCP server, handling incoming configuration commands from clients.
-These commands adjust network parameters like IP address, and also control display options and device settings.
2. Time Synchronization
-The device periodically pings an NTP server to fetch the current time.
-The time is then:
Displayed internally (via connected hardware)
Transmitted through UART to another device using tx and rx pins.
3. UART Communication
-The device must send data (e.g., current time) over UART at 1200 baud, using GPIO pins 4 (tx) and 5 (rx).
-A Python snippet has already been started:
uart = UART(1, baudrate=1200, tx=Pin(4), rx=Pin(5))
4. Heartbeat and Power LEDs
-Simple GPIO control of LED indicators for heartbeat and power status.
-These should replicate the original C behavior.
5. Persistent Storage
-The last set IP address (from configuration commands) must be stored in memory, ideally using non-volatile storage (e.g., writing to a file or flash).
Additional Notes :
1. The original code uses hardware-specific functions and interrupts (e.g., buttons, display control).
2. These should be re-implemented in Python using libraries compatible with the Pico platform:
-socket for networking
-ntplib or manual NTP protocol for time fetching
-machine / Pin / UART for GPIO and serial communication
Estimated timeline: 7~10 days
If you read this project details, please put your name on the first of bid proposal
Thanks