Close

Bedside Hackathon

A project log for Tube Train/Bus Bedside Departure Board

Want to time leaving home to perfection so you arrive just in time for next train or bus? You need a departure board in your own bedroom!

terryspitzterryspitz 07/05/2018 at 18:310 Comments

My other project  https://hackaday.io/project/19698-peace-clock got paused after I trashed the microstepper trying to squeeze it into a 3D printed case that was a bit too small! So I went back to debugging this beauty.  Progress!

1. I learned to solder!  I read a Webpage and realised I'd been melting the solder onto the parts, but finding it didn't bond... When I should be heating the parts then the solder is melted by them and bonds properly.

2. Added a separate power board driven by a 9V adapter which then drives the LCD display at 5V and the Arduino/node MCU via USB. This solves the issues with the MCU not booting.

3. I switched the NodeMCU to an even smaller WeMos D1 mini which I bought a few of for almost n throwaway price .. https://rover.ebay.com/rover/0/0/0?mpre=https%3A%2F%2Fwww.ebay.co.uk%2Fulk%2Fitm%2F322536706047 £2.99/unit.

However, weirdly, it doesn't like Serial.begin(...) Which causes it to crash. So... No serial diagnostics. Luckily it's got an LCD display so that's where to write diagnostics!!

The 8 D1-4 & TX/RX/G/5V pins of the WeMos fit beautifully into the 8 display pins of the LCD (DB0-7 of which only DB4-7 are used) which makes the circuit easy to assemble and nice and tightly packed.

4. Added a Blynk phone app! https://www.blynk.cc. Wow it's easy.  Echoing the LCD display from the circuit into a virtual LCD in the app was two lines of code! The app lets you change station name from a list populated by the device!  Needs a little more work to filter on underground line, and populate lines and stains from the TFL API.

5. I got kings cross working! The TFL arrivals info for this is a JSON requiring around 100KB which was too much memory for my little WeMos D1. Actually it was working at 5am (when I was having time sleeping) but stopped at 5.30am when more reasons started arriving! Solution was found on this page: https://arduinojson.org/v5/faq/how-to-reduce-memory-usage/ under Deserialise in Chunks... Which recommends parsing each arrival object separately. Works like a dream.

Next up: work on app and then try another circuit board. Also work out the separate components used in the power board. Finally, the orange LCD display which matches the real London underground display only works intermittently, needs some persuading (debugging). Wish me luck!

Discussions