Saturday, April 20, 2024

Web Based Fuel Tracking System for Diesel Locomotive - A Prototype


  • A quick Proof-of-concept was needed to demonstrate web based Locomotive Fuel monitoring capability.
  • Diesel based fuel sensor was a SICK sensor and hardware interface to it was built by third party.
  • There was a need to build an internet gateway device to upload and display the fuel readings along with the GPS coordinates, speed, etc and the associated book keeping, etc.
  • As this was a PoC, an Off-the-Shelf SBC with a 2G modem was chosen and quickly integrated to provide internet communication, reading from fuel sensor hardware, interfacing with GPS device and web server integration service to push all the relevant data.
  • An nginx php web server was run on an AWS instance after the DNS procurement etc.
  •  Openstreet maps was used as it is free and simpler to use than others.
  • An access token to access the OSM tiles/etc was obtained and Leaflet was used to customise and show the maps/tiles, customize markers, etc.
  • As this was installed on only one locomotive, the picture above shows the track on the html page generated with the marker showing different colors for speed and on hover, displaying the fuel as measured by the fuel sensor interface hardware.

  • The above picture shows the data that was read by the Internet Gateway device and sent to the server. The data is as shown in the table: time, fuel level, the co-ordinates and the speed. No effort was made to optimise the hardware: fuel sensor readings, etc
  • A sample location on Google maps of where the loco was, is as shown in the image below.



Sunday, March 17, 2024

Reviving an unused Pharmacy Digital Display System to display custom advertisements


  • There is an unused Medical Advertisement system in a pharmacy nearby. 
  • This system would show many medical ads on local medical services; hospitals, medicines etc.
  • Since a long time now it has been switched off and unused "perfectly working" things cause a lot of botheration.
  • Got the Mukesh Medicals Pharmacy owner interested in reviving it so that it could be repurposed to show other things: custom ads, local information, products on offer etc.
  • The hardware turned out to be an MP4 player with a VGA out connection.
  • Good deal of time was spent in experimenting in encoding a suitable video that could be run on the System as it was 10+ years old and many codecs and features have evolved and cannot be run on older systems. Also the file structure on the storage device also played a part in the video operation. The earlier system keeps a record of how long and how often a particular ad has been played for payment purposes and this feature couldn't be changed.
  • There was a need to play a video of the local products that had offers and also show a welcome message to the patrons of the Pharmacy.
  • The below video shows the intended outcome 

Saturday, January 20, 2024

How to build a Private phone network on VOIP using Asterisk PBX with Raspberry Pi and Mobile client














  • There was a need for an Organisation to build a phone network for use by their employees. Unlike the yester-years where telephony was analog and it required switching exchanges to route calls. The Govt or large corporations would set up Private Branch Exchanges (PBX) for this function. Now a days calls can be made digitally on the internet itself given that a server can appropriately route them to their chosen destinations. Voice over IP is used to digitally transmit packets over IP on the network to enable calling. There is a need for a VOIP server and clients that can talk to each other just like the old phone network. This can be easily achieved using robust opensource tools.
  • Asterisk is an opensource PBX that has been around for a long period of time. Asterisk is an open source framework for building communications applications. Asterisk turns an ordinary computer into a communications server. Asterisk powers IP PBX systems, VoIP gateways, conference servers and other custom solutions. It is used by small businesses, large businesses, call centers, carriers and government agencies, worldwide. Asterisk is free and open source. https://www.asterisk.org/
  • For the VOIP Client Linphone is a good choice. There was need for a command line interface to auto dial a call, etc.https://www.linphone.org/
  • The above video demonstrates a few capabilites of the  system. As can be seen a netbook was used to run the Asterisk Server and configure  various VOIP clients to be given numbers that they can be reached at. A couple of spare Raspberry Pis were used to run linphone as VOIP call originators/receivers. 
    • The first part of the video shows how to dial an RPI receiver using a phone as a VOIP originator. Linphone on the RPI is configured to auto answer the calls and play the message for the intended recepient.
    • In the second part, Asterisk can be used to broadcast audio to various configured end clients. As can be seen any call on a configured public number is broadcast to all the clients and played out in public. One use of such a system is in Airports, etc. This system can also be extended for say conditional broadcast for eg. informing the public of an illegally parked car determined so by using computer vision, etc.

Wednesday, November 22, 2023

Web Based Video Streamer using TPLINK MR3020 (TL-MR3020) Pocket Router

 


  • A portable camera was needed. This was before the time of the Raspberry Pi, commonly available mobile phone extensible apps.
  • The following would be nice to have
    • Very tiny form factor
    • Low cost
    • Open Source software to enable extension
    • Support standard computer interfaces
    • Maybe run on battery too
  • As other extensible platforms were not too common, it was standard practice to use existing low cost Access point. A few notable mentions would be the Linksys WRT54G, which has many mods and hacks like WIFI car, etc and others.
  • A suitable candidate was the TPLINK MR3020 Pocket router. TPLINK MR3020 POCKET ROUTER
    • It has a USB Port so its extensible.
    • Has Ethernet too.
    • Has an OpenWRT port so any new software/configuration/mod can be written.
    • It can be battery powered.
    • It is super cheap less than 1000 INR.
  • Downloaded or generated (it was too long ago) a ROM for this router and added USB support in the kernel for various USB devices including UVC Cameras.
  • It has an mjpeg video/camera streamer built into the ROM 
  • One can access the stream via any browser on a desktop/phone/etc at a URL
  • The router and the stream is as shown in the pictures below for a Logitech webcam.





Friday, September 29, 2023

Make a Hand written like Calendar

Handwritten Like Calendar 



  • Intent: To make a unique calendar of my own.
  • Handwritten Calendars look arty and it was chosen as a good calendar format.
  • There was access to a CNC machine.
  • A template file was created in Inkscape, the Vector Drawing tool and the month files generated.
  • Had to add support for other fonts and the files generated were then converted to a format suitable for printing.
  • Had to experiment with various fonts and styles and sizes to make it look good.
  • A batch of 15 calendars were produced and physically processed by a Calendar maker.
  • A Limited number of  copies of the 2023 calendar were generated
  • It was made in two colors: ivory and card board style.
  • It was well received by interested parties and all the calendars were sold out. Satisfying !
  • Next steps for new calendar might be:
    • To automate calendar generation via an extension for Inkscape.
    • Allow users to specify important dates and custom images
    • Auto generate calendar for printing.
  • The 2  types in ivory and cardboard are as shown below






Monday, July 31, 2023

Rudder control for a Putt Putt Boat

Adding Rudder Control to a Putt Putt or Pop Pop Boat


 

  • Putt putt boats or pop pot boats are inexpensive toy boats that are fun to use. They basically use a simple steam engine, a boiler that is mounted in the centre of a boat frame and when water is filled into the boat heater pipes and heated at the boiler, it causes steam to be expelled from one of the pipes which causes more cold water to be sucked in. The expulsion of the steam causes the boat to move forward and creates a suction/expulsion cycle.
  • As the only motion that is provided is forward motion, it would be very desirable to have turn control. This is done by using a rudder.

Implementing the Rudder Control on the Putt Putt boat

  • This mechanism needs a rudder a piece of metal/wood/plastic and turns left or right depending on the control from the user.
  • To achieve this mechanism, simple off-the-shelf parts or parts available from the numerous online electronics hobby stores were chosen.
  • A simple SG90 servo can provide the left, center and right turn capability.
  • As this needed to be wireless a wireless controller with either WIFI or Bluetooth would be necessary. As WIFI is easier to implement and the UI can be provided via a web browser a WIFI chip was chosen. As it had to be small in size an ESP-01 was used. ESP-01 has some 4 usable pins.
  • A small web server and servo control were implemented and using chrome web browser one could send relevant turn instructions wirelessly as clickable text links.
  • To power this tiny circuitry a tiny 200mA Lithium-ion battery was used. But the ESP-01 only works at 3.3V and this regulated voltage needs to be fed to its Vcc/Input Voltage pin.
  • There is buck-boost voltage converter available on the electronics hobby stores that uses a Li-ion battery voltage from 1.8V to 5.5 V(even down to 2V) and either boosts it or reduces to 3.3 regulated voltage. The product is linked here 1.8V to 5.5V to 3.3 V buck/boost converter.

Rudder control 

  • Above is the picture of the implemented rudder control and the mounting.

  • The above video shows the rudder servo operation.

Implementation outcome

  • The rudder side servo turned out to be too heavy for this light boat and it would tend to drown the boat.
  • So this attempt has to be discontinued and a new stronger frame has to be used or built.
  • Updates on the next frame in a later post.
  • Below is a video of a free running putt putt boat.









Friday, June 23, 2023

Tech Stuff from the Past

<a href="https://www.freepik.com/free-photo/toy-bricks-table-with-word-blog_11260586.htm#query=blog&position=9&from_view=keyword&track=sph">Image by Racool_studio</a> on Freepik


Notable technical stuff from another of my Blog 

  • The Old Blog is here Aj's Old Blog 
  • Custom Android ROM generation and new hardware interface for a Micromax Funbook for an interactive table for a Coffee Franchise
    • Needed a new touch screen with deeper depth sensing to be interfaced to an android tablet.
    • A hackable Android tablet was found and its hardware enabled to make changes.
    • Cyanogenmod was a popular alternative Android variant. The CM10 Android ROM was compiled for 24 hours and its ROM updated to a stock Micromax Funbook (P300?)
    • Google apps were also run separately.
    • A different touch screen needed for this was interfaced to Android and was found to be working satisfactorily.
    • The link to a related blog is Cyanogenmod 10 (Android ROM) on Micromax Funbook
  • Howto build a tiny Home projector
    • Needed to build a DIY projector 
    • By taking apart the reflector backing from a phones display one can get transparency like film.
    • Using a strong light and some proper lenses, a projector can be built.
    • A type candy bar phones display was used as it was the cheapest to afford making mistakes on. And also it was borrowed from somebody else too 😀
    • The projector build and relevant info is here DIY Tiny Mobile Phone Projector
  • Simplified Medical Prescription System 
    • Learning to use a computer and be familiar with the keys etc was a cumbersome process then.
    • So to simply process a Kitchen order terminal like interface was developed. One could add/delete medicines,  the duration of the course and also add/delete notes for home care. 
    • This was before the Raspberry PI time, so an HP thin client was bought from the refurbished market and Linux was customised to provide the UI. Interestingly maybe the inspiration was a similar ncurses based UI used even in the McDonalds kitchen.
    • A dot matrix printer was also interfaced via parallel port and it could print out Prescriptions.
    • It was actively used for a few years.
    • The blog link is here Medical Prescription System
  • Howto build Digital Photoframe using an SBC
    • Need to mimic the cheap photoframes that were in vogue then.
    • Used a discarded SBC and found a tiny linux distrib tinycore and  built one.
    • Link here   DIY Digital Photoframe
  • Accelerometer demo on the Nokia Xpressmusic 5800 phone
  • Ubuntu image generation using ubiquity
    • How to customise ubuntu and generate the OS and associated problems
    • This was used to create an Ubuntu image for a school
    • Link here Ubuntu Image Generate
  • Autorickshaw Media Player
  • Java app on a Motorola Ming Phone
  • Nokia phone LCDs as alternate display on a PC
  • Display change enables different UI On Nokia phone
  • External USB adapter support on Linux
  • And many more. Head over to the other blog.

Sunday, June 11, 2023

PineTime (Pine64 Watch) Trials


  • Long time wish to build a smart watch. Experimented with various platforms, not built anything usable yet.
  • Many opensource variants: watchy, openwatch, pinetime, etc.
  • Pinetime is by the Pine64 Organisation Pine64 Org. They make many open source products like laptops, phones, watches, SBCs, etc.
  • The Pine64 forum has a watch called the Pinetime. It looks nicely packaged and so wanted to see if its suitable for everyday use. More info here PineTime
  • It is an NRF52 based chipset with an IPS display and chinese sensors for heart rate and step counting.
  • They have an FreeRTOS based OS called the Infinitime . It was WIP then (Mar2021), so many features were under development and also the UI was rudimentary.
  • At about the same time there was another micropython based OS called WaspOS which was under active development. 
    • Downloaded this and generated the OS.
    • The advantage is that one can just write micropython apps and download to this board. No classical embedded development necessary.
  • Using the standard Nordic Semiconductor tools both the OSes were flashed and various features explored.
  • Observations:
    • The apps were basic, back then in 2021.
    • Most importantly the values of the step counter and heart rate sensor were compared against a FitBit and a MAX30102 based homebrew device. The default values had many variations from the other reference devices. Maybe time could have been invested to make it rugged but then there were more accurate options so this was discontinued.
    • Interestingly it has Notifications support with an Android Mobile phone using Gadgetbridge. So this could be used for writing cool watch based control things.
  • Below are some images/videos of the watch in operation.







Tuesday, April 18, 2023

Building the Otto Starter Bot


 


  • As there is an avid interest in building toys, opensource bots come in very handy.
  • One such opensource bot is the Otto Bot. They have designed multiple versions of bots that can be integrated by kids and provided detailed information on their website Otto Bot Website
  • Designed by a toy maker basically uses off the shelf hobbyist components to build and program bots.
  • One can learn to assemble the hardware, write code using a GUI like scratch or even use the Arduino IDE and also is extensible.
  • The plastics are also open sourced and one can download and print them if there is a 3D printer available. There is availability of online 3d printed parts. After assembling the first Otto, a couple of other Otto kits were also integrated by interested parties (kids/adults)
  • The default software collection comes with a Scratch frontend called Blockly. One can download it and examples for various hardware and emotions etc are available. This makes it a good tool for STEM.
  • The basic movements that are possible are as shown below




Wednesday, December 21, 2022

Customisation of MYS-8MMX NXP imx8 Single Board Computer from MYIRTECH

 


  
  • As of December 2022 Semiconductor shortage has led to various companies searching for alternate options that are in stock or have longer term availability. One such example is the availability of Raspberry Pi, Toradex older versions, etc.
  • MyIrtech has an extensive portfolio of such equivalents. https://www.myirtech.com/
  • There was a need to support a client who needed a browser preferably chrome and apache and php.
    • One requirement was to support serial port via PHP modules, needing the not actively maintained DIO module
    • Why anybody would use serial port via apache definitely weird, but maybe the customer only had that as the default skill
  • An NXP imx8 SBC MYS-8MMX was found to be suitable wrt the application needs. 
    • Its an imx8 quad 1.8G cores and also a single 400 MHz microcontroller.
    • 2GB DDR4 and 8GB emmc, with USB Host, NVME, gig E, WIFI/BT, MIPI CSI, LVDS/HDMI output, etc
    • All for a cost of 100 USD. And with a 7 inch display would work out to say 20k INR
    • It has support for Yocto and Ubuntu.  

   Yocto

  • The default environment provided was the one with the Yocto build system.
  • As this was the first time Yocto was used, there was no awareness of the time taken for the build.
  • On a Core i5 machine 4GB, the first build of the entire tarball took some 30 hours 😊
  • One has to add recipes to compile in various programs. And everything is compiled from scratch. So addition of Chrome, apache etc took another 10 hours. This was by far the most I have spent time on compilation.
  • It has good support for all the devices and also QT is supported out of the box. So in case custom app development is needed QT support etc can be readily used.
  • Below is a pic of the QT interface running on the machine.



Ubuntu


  • As development on Yocto is time consuming, it was then migrated to Ubuntu 18 provided by myirtech themselves.
  • The DIO modules etc quickly added thanks to the package management utilities.
  • Only the device drivers need to be customised.
  • This board uses the Lontium LT8912 LVDS/HDMI bridge. The requirement was to support 800x480 resolution but the driver would only go down to 1024x800.
  • The device configuration was also changed to add both the display and the serial ports.
  • As the resolution requirement was not satisfied further development was not attempted.
  • Dual displays 5 and 7 inch working parallely on this board

SBC

  • This SBC has a good software ecosystem along with ML frameworks/CV etc all built into.
  • To be attempted at a later date.

Friday, November 25, 2022

ESP32CAM Night Vision Hack - How to enable ESP32CAM to provide night vision

 



  • The ESP32CAM is a super cheap IP streamable camera running off an ESP32 and an omnivision sensor like the OV2640. It is around 600 INR (2022). It would be cool indeed if it could do night vision too.
  • A long time ago another webcam had been hacked to provide night vision capabilites.
  • So there was a need to check if the ESP32CAM could also be similar converted to an IR camera. The advantage this would provide would be to have night vision with an IR light as is common in security cameras. 
  • So the uses are many: security camera, trail camera and more importantly a camera with source available to change it to do anything.
  • With help from the right contacts, the lens assembly was opened up and the relevant filters were removed.
  • There was a problem in re-assembly as a small lens would keep falling off and would interfere with the image. It was solved by gluing the lens assembly.
  • Below is a video showing the results of the enabling of night vision on ESP32Cam. 
  • One can see that in total darkness, there is no image and when an IR light is introduced, the camera does provide night vision of the object. The IR light used was not very powerful and hence one had to get close to it to see the effect. 
  • Maybe next version change this to use high power IR light and also make a trail camera with a PIR sensor, etc.




Saturday, October 15, 2022

COLOR LED MATRIX Display Device with Network Time, Image support and RSS Feeds

 

  • Would be interesting to build a multi-function RGB color display device. 
  • Good to have  display of time, images and any other chamak (custom messages, RSS Feeds,etc)
  • ESP has good support for RGB Led via the Fastled library. 
  • Bought and interfaced an 8x8 RGB from an online store with an esp8266
  • Fabricated a casing with the face and the box from Vedanta Industries on Magadi Road.
  • The Fastled capabilites/effects are as below

Thursday, September 15, 2022

Raspivid Modification to Display Custom Message as Annotation on Video Feed (Local/Stream)

 




Raspivid Custom Annotations

  • Raspberry Pi distribution is equipped with an executable called raspivid/raspistill which is used to capture and view video/still images from the RPI's CSI camera. The source code for this is available on the internet.
  • It has various options like displaying video on HDMI, running TCP/UDP stream server, capability of reading encoded MP4 streams from the encoder, annotating the transmitted stream, automated still captures, effects, etc.
  • Annotations like an OSD label can be provided on the stream being transmitted. Time annotations, etc can be enabled on the stream/video feed. 
  • The only drawback is that annotations are updated every second on the feed.
  • As there was a need to view various sensor information embedded in the video from a remotely operated vehicle, it would indeed be advantageous to extend raspivid capabilites.
  • As a quick modification was intended, the relevant files were changed to use an IPC (InterProcess Communication) mechanism and any program that would write its string into the IPC entity at approximately 1 second interval could send its information embedded on the video feed to the remote client.
  • A video showing the ultrasonic sensor reading on the front of a vehicle is being embedded in the network stream and is as shown in the video.

Tuesday, August 30, 2022

Driver Display Unit (DDU) using Railware/Scheron/HasslerRail Rico004 MVB/MICAS interface for WAP Series Electric Locomotive: A Prototype

 




Running GUI on sample hardware


Sample GUI showing DDU interface for WAP Series Locomotive



  • Driver Display Units are used in Locomotives to provide HMI for operating the locomotives. Various realtime sensor information of the locomotive/train are presented in user friendly interface on an LCD screen on an SBC. 
  • The WAP Series locomotives use a variant of the MultiFunction Vehicular Bus (MVB) called MICAS. It is a master/slave realtime bus operating in the locomotive and beyond and can work over long distances (~4kms). Information is exchanged over the bus in the form of process data and messages. It supports connection via wire or fiber.
  • There was a need to implement a Driver Interface while being interfaced to the MVB/MICAS.
  • The design also had to be kept similar to existing products so as to retain locopilot familiarity and also provide similar features.
  • Just as a fun exercise, an oscilloscope was used to dump traffic on the MVB from an available setup and manually validated with the IEC 61375, the TCN standard. It was a tedious exercise indeed.
  • Later a Zeroplus MVB analyser was procured and interfaced to the same setup and it was proven that the test setup with indeed working well. The Zeroplus is limited in the number of packets it can capture, etc.
  • So a feature rich MVB traffic analyser would be desirable and writing one locally was dropped as it is a time consuming process.
  • Luckily Railware, an Italian manufacturer (which subsequently got acquired by Scheron and then by HasslerRail) had an MVB compatible card along with a MVB protocol dumping and analysis capability. This is called the  Rico004 by Railware and there are tools written on Windows/Linux to configure it for various modes.
  •  A couple of cards were purchased and interfaced with the VCU setup and the protocol studied.
  • Railware also provides MVB cards for various SBC interfaces like SPI, serial etc. A suitable card for the SBC was procured. There also was availability of libraries and APIs on Linux so that an end client could receive MVB data as a slave.
  • After configuring such a setup an application to receive MVB data and present it in a real-time fashion on the SBC as DDU was implemented. 
  • The above Video shows a sample UI which shows emulated data on the DDU screen. The image shows the various sensor information that would be relevant to a locopilot: including various subsystems, PIXY data, status of braking systems, meters, etc.
  • This setup was working well in this test setup but due to change in project priorities never made it to actual deployment.




WAP7 Locomotive. Image from Wikimedia

Saturday, August 27, 2022

Driver Display Unit (DDU) for Diesel locomotives WDP4/WDG4 (EMD GT46PAC/GT46MAC)




  • The WDP4/WDG4 locomotive is a diesel locomotive used actively by the Indian Railways. It is a locally built General Motors Electro-Motive Division's GT46MAC (freight) and GT46PAC (passanger) variant. More details can be found here WDP4/WDG4 info on Wikipedia
  • The various gauges on this locomotive are Analog and there was a need to digitize them and provide a single console like is common on many locomotive Driver Display Units. 
  • A commonly available industrial x86 SBC which could run Linux and a GUI was chosen.
  • It was interfaced at a location on the loco rack where digital signals were available.
  • It could show a locopilot various readings on the console: Speed, Brake Pipe/Cylinder pressure, BE/TE, Notch position and also various fault conditions.
  • This DDU was used in a few locos and has worked reliably.
  • Below is a picture of a physical meter and how it looks on the implemented DDU.



WDP4 Locomotive
Original Wikimedia image here



Wednesday, May 4, 2022

Nuvoton NUC980 IIOT Board Experiments (Interface ST7735 SPI display)


Introduction

  • Nuvoton NUC980  is a 300 Mhz ARM processor.
  • Has a host of peripherals onboard: 64/128 MB RAM, 2 Ethernets, 2 CAN masters, some 8 UARTS, SPI, I2C , etc
  • It comes with Linux, uboot and a buildroot system for generating system assets.
  • A popular board is the NUC980 IIOT board
  • The major advantage is that this processor is available for a low cost of 5$ (2021)

Intention
  • Try and see how fast the system is
  • Performance of python etc.
  • Given that it was a low RAM system, how convenient would it be write a program in python.
  • Maybe interface a device say a Display.

Experiments
  • The tar ball that Nuvoton provides is an approx 8 GB virtual machine running Ubuntu 18.04.
    • One can run this virtual image on an VM emulator.
    •  The recommended is VMWARE but it ran comfortably even in an Oracle VirtualBox VME.
  • After logging into the VM and on running a make nuc980_defconfig it generated the uboot, linux and other assets.
  • On Linux one can use nuwriter to flash the SPINAND. 
    • A run.ini file is needed as configuration to the nuwriter
    • It specifies destination of writing: SPINAND flash, SDCARD, RAM, etc.
    • Each destination has section for which the relevant files to be flashed has to be provided.
  • One problem that was noticed was that even though the flash writing progressed successfully, the system would display a few bytes as follows:
NUC980 IBR 20180813 
Boot from SPI-NAND
Nand boot!      #S
finish SPI dow&*


Python support
  • Idea was to try writing a user space driver for an SPI device like the ST7735 in python
  • A python driver for Pimoroni displays can be found.
  • It was modified to drive a color display to show time.
  • Python took a long time loading but after it was loaded in RAM, it was fast enough to update the display
  • Also FB-TFT could have been a good way of interfacing the display
  • Below are 2 sample videos.








Friday, April 29, 2022

IOT Dot Matrix Clock

Dot Matrix Clock

IOT Dot Matrix Clock / Dot Matrix Display  (DMC) (DMD)

  • An accurate clock for displaying time (Hours/second) and date would be a nice creation.
  • Added advantage would be to have it connected on the internet and splashes messages to it.
  • A WIFI based solution would be much better for easy access to the home/network ecosystem

  • Using an accurate RTC like DS3231 and Wifi chip ESP8266, a PCB was fabricated.
  • Also there was a need to make a good case to host the electronics.
  • Acrylic case making is cheaper as compared to 3d printing.
  • Found an enterprising acrylic fabricator who made an amazing case.  The power supply was embedded in the back of the case so it could be directly plugged into the wall socket or the ESP8266's USB power connector provided for at the side of the casing.
  • Uses the MajicDesigns MD_MAX72XX library from here MajicDesigns MAX72XX library
  • The fabricated DMC looks as follows:

Mains Enabled Clock



  • The DMC can be run off either AC mains or an external battery.
  • It keeps accurate time and also shows scrolling date.
  • The clock also has switch at the side to directly interact with the device in case Net access is not available.
  • The DMC comes up in Hotspot/AP mode and runs a Webserver internally. Using a browser after connecting to the AP, one can set the DMC to connect to an existing home AP with configuration options for
    • Network Name
    • Password
    • Update Server (for OTA updates)
    • Manual Update Option
    • Set Time on the RTC
    • Mechanism to display custom message (scrolled a few times a minute)
Firmware Update over the Network

  • Custom Messages via web URL can be sent to the display over the network as in the below example


Wednesday, September 22, 2021

Off-the-Shelf Digital Still Camera with Wireless/Remote Capture/Download Capability

  1. Digital Still Cameras (DSC) have good lenses and large image sensors. They take good pictures in varied lighting conditions
  2. There are many DSCs that are super cheap say like Rs 5000 to Rs 10000. 
  3. DSCs that provide WIFI and Remote Control option are also available, but they are expensive and of the range of Rs 20000 or more and also limited in exposing their APIs/control, etc. This was in 2019. Things might be different now.
  4. So modding/hacking a DSC to take pictures into its SD CARD and then download it remotely would be beneficial.
  5. This is simply done by using a servo as a picture taking plunger that is operated by an SBC say like an RPI and either by WIFI or via the internet, access a web server control mechanism that allows a remote user to click pictures or take videos.
  6. And then use a relay to switch the camera to download the pictures on the SD card and via the same web server mechanism enable pictures to be downloaded.
  7. Below is such an implementation. A Web Browser is used to click the picture and then after the picture is clicked another URL is invoked to put the camera into download mode and the picture downloaded.
  8. This was just a PoC and could be improved immensely.

Sunday, September 12, 2021

How to Teledrive a Modded RC Car (Drive from anywhere around the world)


  1. How to remotely drive a vehicle from anywhere in the world?
  2. Teledrive ie remote drive is a useful idea.
  3. One application: UAVs are flown around the world for surveillance while sitting in the comfort of a terrestrial ground station.
  4. Another example is to drive a Truck over the network like here: Einride Remote Drive Prototype 
  5. Customising a commercial EV even though a very exciting exercise has its own challenges and timelines.
    1. Need to understand the mechanical angle and also the hardware angle, say identify relevant motors, torques and install and check they perform optimally. Will have to be iterated multiple times.
  6. A better option would be to try all the experiments on a small scale, say on a toy. Something similar to the Flight of Phoenix (2004) movie.
  7. There have been many mods of expensive RC car like the Traxxas car. Traxxas RC cars
    1. But these are expensive and hence a low cost solution is needed
  8.  There are many Off the Shelf RC cars. But they are usually very small and cannot be driven on the roads.
  9. Was lucky to find a large RC car about 2 feet in length.
    1. It came with all the fitments: battery compartment, shocks, Ackerman steering mechanism ,etc The unmodded vehicle is as shown below
  10. The new RC vehicle is low cost so car lifetime might vary.
    1. The Remote control would get stuck and this would have its own challenges.
  11. This vehicle is pretty fast as it has 2 motors, 1 each for back and front and an additional one for the steering. The Steering motor does not have fine control. It also has a set of lights but they were not very useful in the dark.
  12. The vehicle was modded and stripped down to the chassis. 
    1. Motor drives for the 3 motors were added.
    2. A RPI for drive control and also for streaming camera feed. Standard RPI camera.
    3. An Airtel 4G SIM with a Quectel modem module.
    4. A drone LiPo battery with voltage regulators.
    5. An IP 65 box was used to house all the hardware   
  13. And the result:






  • Now need night driving support too 
  • Added a bicycle light on the chassis as follows




Driving
  • The video and control path from the Modded Car is accessible at an AWS location.
  • One can connect from anywhere in the world and drive the car. Attached below is the video of it being driven remotely. The  FPV and the rearview











Thursday, September 9, 2021

Low Cost ROS Bot

 


  1. There was need to build a low cost ROS bot.
  2. ROS is the Robot Operating System, provides a platform to easily build bots.
  3. A Commonly available chassis was used and the relevant motor drivers, driver control hardware was integrated. Uses a Raspberry Pi inside.
  4. A custom ROS service was written for the motor control. 
  5. An unmaintained ROS app called ROSCONTROL was used to provide accelerometer values to wirelessly drive the BOT. It also provides a virtual joystick mode that can be used for BOT control.
  6. The Pi is the ROS master and the other slaves connect  over WIFI and enable control of the BOT.
  7. ROS is version 1.
  8. As the video shows, one can comfortably navigate the bot using the phone as input.