TiLDA MK4: Difference between revisions
No edit summary |
|||
Line 107: | Line 107: | ||
[[TiLDA MK4/Ideas|Please share what you've done (or want to do) with others!]] | [[TiLDA MK4/Ideas|Please share what you've done (or want to do) with others!]] | ||
Tips by Ben Woodley (Tested on Ubuntu 18.04 and Debian Stretch) | |||
'''If you're having issues with getting the python prompt while using a serial terminal or the tilda_tools is failing''' | |||
Error displayed: SerialTimeoutException: Write Timeout | |||
Fix: | |||
* Do this command (ModemManager steals your escape characters!) | |||
* $ sudo systemctl stop ModemManager.service | |||
* Then make sure your badge is in an app (anything but the purple home screen) | |||
* Try open a serial terminal with the device (e.g. screen /dev/ttyACM0 115200) | |||
* The issue should not persist | |||
'''Reflash the firmware''' | |||
* If lets say you wanted to '''force a firmware update to apply the patch for making phone calls''' then just follow these steps. | |||
* $ git clone https://github.com/micropython/micropython.git | |||
* $ cd micropython/ports | |||
* $ git clone https://github.com/emfcamp/Mk4-micropython-board.git | |||
* $ cd Mk4-micropython-board | |||
* $ ./inst_tools | |||
* $ make | |||
* You may need additional packages depending on your distro, follow the errors if encountered with inst_tools or make. | |||
* Put the badge in DFU mode (press the joystick down, press reset, let go of joystick after a second) | |||
* $ make flash-dfu | |||
* This will reflash the firmware, if it fails your board is either in dfu mode or you need aditional packages (like python3-serial in apt!) | |||
== Badge API == | == Badge API == |
Revision as of 18:16, 2 September 2018
Using your badge
MENU
while quickly pressing the reset button at the back. Keep the MENU
button hold for another 2 seconds. Release it when both the red and green LED are lit. If you got it correct both LEDs should flash a few times.If this doesn't work you can update the badge firmware. If this doesn't work, please come and join us in #tilda on Freenode IRC
Assembly
With your badge you will receive a booklet explaining how it's done. If you have any problems, please come to the Badge Operation Center and we will help you.
Basic usage
After you have assembled your badge you can just use the tiny switch at the bottom of the screen to turn your badge on. Alternatively you can use any USB power source. If you turn your badge on for the first time (or if for some reason it has reset itself) you will get some on-screen information while we try to download the newest set of software. This doesn't always work on the first try, you might have to use "reset" to try a few times
If at any point you want to restart your badge you can just press the reset button on the back below the display ribbon.
Changing your name
- Press 'Menu'
- Select the 'Settings" app
- "Change Name" and press 'A'
- Use the joystick and 'A' key to enter your name
- Press 'Menu' to save your name and reset the badge - your name should now be displayed!
Installing new apps
- Press 'Menu'
- Select 'Badge Store' app and press 'A'
- Select "Install"
- Select a category and then an app. Wait until you see the description and press "A" to save it.
- Press B a few times (or alternatively MENU) to restart your badge
- On the home screen you can now press MENU to find your newly installed app.
WiFi
Your TiLDA Badge has built-in wifi support. It should all just work if you're at the campsite, but if you're on your own network you might have to tell the badge about it. For more information please have a look here: WiFi
Charging
The badge charges via a microUSB socket, and takes about 2-3 hours for a full charge. The red charge LED to the right of the display ribbon on the back will extinguish when charging is complete.
Calling and SMS
Warning: The badge team are aware of an issue of instability while using the calling capability. Please bear with us while we diagnose this.
Yes your TiLDA Badge is also a mobile phone. To connect to the EMF mobile network insert the Hologram SIM supplied, load the "phone" app, select "Select Operator", wait, wait some more, and a little longer, then select "EMF" or "23404". Select "Auto" to use a public mobile network again.
To find out your number on the EMF network select "Information" in the phone app. If "Operator" is not shown on the information screen then you have failed to connect to the network. If you are not given a number then wait a little longer and try again. You can read and send SMS messages with the "sms" app. You can also answer calls by pressing "Call" in any app, and end or reject a call using the "End" button at any time.
Connecting over USB
By default, the software is in a loop. If you want to interact over the REPL you need to exit this. The easiest way is to press Ctrl-C.
It's hard to press Ctrl-C in minicom, so on Linux this is easier to do with screen:
screen /dev/ttyACM0 115200
On Mac:
screen /dev/tty.usbmodemTiLDA2
To exit screen, press Ctrl-A, then k, then y.
The basic process is this:
- Connect device to computer with usb
- Fire up minicom or screen
- Press reset button on device
- Hit Ctrl+C quickly and with vigour to get to the REPL before the UI comes up
Nothing works! Help!
Don't worry, you can always "factory reset" your badge. Please follow these instructions: Resetting
If everything else absolutely fails, you can try following these instructions (advanced): TiLDA_MK4/Firmware_Update
Hacking your badge
Current App Hack
Current method to get your app onto your badge
Badge Hacking Workshop Documentation
One of the main goals of TiLDA is to make hacking it as easy as possible. All you need to do so is a computer with USB and your badge.
- tilda-tools - the one-stop interface for all your badge needs
- Step-by-step - to make it as easy as possible to get going
- 3 Ways to run code on your TiLDA
- Badge Store Submissions - Share your creations with others
- Code Structure - How the python code is structured
The badge itself runs code written in the computer language Python which is run by a bit of software called Micropython.
For more information about the functions available please have a look at the Badge API section of this page.
In case you're more interested in what makes the hardware tick and your confident with C++ and microprocessors then you can work directly with the micropython code that runs TiLDA: How to build the firmware from scratch
All code used is hosted on Github. Contributions and PR are very welcome!
- https://github.com/emfcamp/Mk4-Apps
- https://github.com/emfcamp/Mk4-Backend (powers the badge store)
- https://github.com/emfcamp/Mk4-micropython-board
Building Micropython Firmware
Some ideas
Please share what you've done (or want to do) with others!
Tips by Ben Woodley (Tested on Ubuntu 18.04 and Debian Stretch)
If you're having issues with getting the python prompt while using a serial terminal or the tilda_tools is failing Error displayed: SerialTimeoutException: Write Timeout Fix:
- Do this command (ModemManager steals your escape characters!)
- $ sudo systemctl stop ModemManager.service
- Then make sure your badge is in an app (anything but the purple home screen)
- Try open a serial terminal with the device (e.g. screen /dev/ttyACM0 115200)
- The issue should not persist
Reflash the firmware
- If lets say you wanted to force a firmware update to apply the patch for making phone calls then just follow these steps.
- $ git clone https://github.com/micropython/micropython.git
- $ cd micropython/ports
- $ git clone https://github.com/emfcamp/Mk4-micropython-board.git
- $ cd Mk4-micropython-board
- $ ./inst_tools
- $ make
- You may need additional packages depending on your distro, follow the errors if encountered with inst_tools or make.
- Put the badge in DFU mode (press the joystick down, press reset, let go of joystick after a second)
- $ make flash-dfu
- This will reflash the firmware, if it fails your board is either in dfu mode or you need aditional packages (like python3-serial in apt!)
Badge API
Build-in
- documentation - General Micropython libarary
- uGFX - The TiLDA LCD colour screen
- CC3100 - The wifi chip
- RTC (real time clock)
- Sensors
- SIM800 (GSM/Phone/Bluetooth)
- import tilda (our custom micropython module)
- SPI SPI
- Neopix WS2812B LEDs
- please add
TiLDA Libraries
On top of the build-in modules above we have also created a bunch of helpful libraries written in python. If you go through the bootstrap process or use the App Library you should always have a full set of those on your badge. If for some reason this isn't the case you can download our repository from https://github.com/emfcamp/Mk4-Firmware and copy the lib
folder onto your badge.
for now please have a look at the libraries themselves: https://github.com/emfcamp/Mk4-Apps/tree/master/lib
(feel free to add additional ideas, and create links new wiki pages to on-going projects, perhaps someone will want to contribute)
Hardware
Full hardware files are on GitHub [1]
Badge hardware
TiLDA comes with a long list of very useful hardware. Some might be obvious, but some are a bit hidden.
- Texas Instruments MSP432E4 SimpleLink Microcontroller (ARM Cortex-M4F @ 120MHz)
- Texas Instruments CC3120 SimpleLink Wi-Fi® Network Processor
- 256KB internal RAM / 8MB external SDRAM
- 1MB internal flash (firmware) / 1MB external flash (filesystem)
- SIM800 Quad-band GSM/GPRS module with Bluetooth support
- 240x320 RGB screen
- 2 WS2812B RGB LEDs (aka Neopixels) with a 3-pin header to connect your own (And this year they’re the right way up!)
- Texas Instruments HDC2080 Low Power Humidity and Temperature Sensor
- Texas Instruments TMP102 Digital Temperature Sensor
- Texas Instruments OPT3001 Digital Ambient Light Sensor
- Texas Instruments DRV5055 High Accuracy Bipolar Hall Effect Sensor
- Speaker and Microphone
- 2000mAh Battery
- Onboard Ethernet (requires breakout)
- A T9 number keypad and a joystick
- 2 Seed Studio Grove headers (one UART, one I²C)
- Conductive thread points and 0.1" header for power/UART/I2C/GPIO
- Defcon 26 Shitty Add-Ons connector
Hardware files are available on GitHub [2].